Big refactor WIP
This commit is contained in:
8
users/daniel/configs/desktop/default.nix
Normal file
8
users/daniel/configs/desktop/default.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
imports = [
|
||||
./i3
|
||||
./i3status-rust
|
||||
# ./polybar
|
||||
./rofi
|
||||
];
|
||||
}
|
||||
192
users/daniel/configs/desktop/i3/default.nix
Normal file
192
users/daniel/configs/desktop/i3/default.nix
Normal file
@@ -0,0 +1,192 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
|
||||
let
|
||||
mod = "Mod4";
|
||||
in {
|
||||
|
||||
home.file = {
|
||||
"bin/scripts/goup" = {
|
||||
source = ./goup;
|
||||
executable = true;
|
||||
};
|
||||
"bin/scripts/godown" = {
|
||||
source = ./godown;
|
||||
executable = true;
|
||||
};
|
||||
};
|
||||
xsession = {
|
||||
enable = true;
|
||||
|
||||
windowManager.i3 = {
|
||||
enable = true;
|
||||
package = pkgs.i3-gaps;
|
||||
config = {
|
||||
bars = [
|
||||
{
|
||||
colors = {
|
||||
background = "#282A36";
|
||||
statusline = "#F8F8F2";
|
||||
separator = "#44475A";
|
||||
|
||||
activeWorkspace = {
|
||||
border = "#282A36";
|
||||
background = "#44475A";
|
||||
text = "#F8F8F2";
|
||||
};
|
||||
focusedWorkspace = {
|
||||
border = "#44475A";
|
||||
background = "#44475A";
|
||||
text = "#F8F8F2";
|
||||
};
|
||||
inactiveWorkspace = {
|
||||
border = "#282A36";
|
||||
background = "#282A36";
|
||||
text = "#BFBFBF";
|
||||
};
|
||||
urgentWorkspace = {
|
||||
border = "#FF5555";
|
||||
background = "#FF5555";
|
||||
text = "#F8F8F2";
|
||||
};
|
||||
bindingMode = {
|
||||
border = "#FF5555";
|
||||
background = "#FF5555";
|
||||
text = "#F8F8F2";
|
||||
};
|
||||
};
|
||||
fonts = {
|
||||
size = 11.0;
|
||||
};
|
||||
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs /home/daniel/.config/i3status-rust/config-main.toml";
|
||||
position = "top";
|
||||
}
|
||||
];
|
||||
colors = {
|
||||
focused = {
|
||||
border = "#6272A4";
|
||||
background = "#6272A4";
|
||||
text = "#F8F8F2";
|
||||
indicator = "#6272A4";
|
||||
childBorder = "#6272A4";
|
||||
};
|
||||
focusedInactive = {
|
||||
border = "#44475A";
|
||||
background = "#44475A";
|
||||
text = "#F8F8F2";
|
||||
indicator = "#44475A";
|
||||
childBorder = "#44475A";
|
||||
};
|
||||
unfocused = {
|
||||
border = "#282A36";
|
||||
background = "#282A36";
|
||||
text = "#BFBFBF";
|
||||
indicator = "#282A36";
|
||||
childBorder = "#282A36";
|
||||
};
|
||||
urgent = {
|
||||
border = "#44475A";
|
||||
background = "#FF5555";
|
||||
text = "#F8F8F2";
|
||||
indicator = "#FF5555";
|
||||
childBorder = "#FF5555";
|
||||
};
|
||||
placeholder = {
|
||||
border = "#282A36";
|
||||
background = "#282A36";
|
||||
text = "#F8F8F2";
|
||||
indicator = "#282A36";
|
||||
childBorder = "#282A36";
|
||||
};
|
||||
background = "#F8F8F2";
|
||||
};
|
||||
|
||||
defaultWorkspace = "workspace number 1";
|
||||
|
||||
floating = {
|
||||
modifier = mod;
|
||||
criteria = [
|
||||
{ instance = "pavucontrol"; }
|
||||
];
|
||||
};
|
||||
|
||||
focus = {
|
||||
followMouse = false;
|
||||
};
|
||||
|
||||
fonts = {
|
||||
names = [ "pango:monospace 8" ];
|
||||
style = "monospace";
|
||||
size = 8.0;
|
||||
};
|
||||
|
||||
gaps = {
|
||||
outer = lib.mkDefault 10;
|
||||
inner = lib.mkDefault 5;
|
||||
smartBorders = "on";
|
||||
};
|
||||
|
||||
keybindings = lib.mkOptionDefault {
|
||||
"${mod}+q" = "kill";
|
||||
"${mod}+d" = "exec rofi -show drun";
|
||||
|
||||
"${mod}+h" = "focus left";
|
||||
"${mod}+j" = "focus down";
|
||||
"${mod}+k" = "focus up";
|
||||
"${mod}+l" = "focus right";
|
||||
|
||||
"${mod}+Shift+h" = "move left";
|
||||
"${mod}+Shift+l" = "move right";
|
||||
|
||||
"${mod}+Tab" = "workspace back_and_forth";
|
||||
|
||||
"${mod}+b" = "split h";
|
||||
"${mod}+v" = "split v";
|
||||
"${mod}+Control+Return" = "exec --no-startup-id i3utils workspace new";
|
||||
"${mod}+Control+Shift+Return" = "exec --no-startup-id i3utils workspace new -b";
|
||||
"${mod}+Shift+Return" = "exec --no-startup-id i3utils workspace new -n, move next";
|
||||
|
||||
"${mod}+Control+j" = "exec --no-startup-id $HOME/bin/scripts/godown";
|
||||
"${mod}+Control+k" = "exec --no-startup-id $HOME/bin/scripts/goup";
|
||||
"${mod}+Control+h" = "exec --no-startup-id i3utils workspace new -b";
|
||||
|
||||
"${mod}+Shift+k" = "exec --no-startup-id i3utils window move prev";
|
||||
"${mod}+Shift+j" = "exec --no-startup-id i3utils window move next";
|
||||
|
||||
"${mod}+p" = "scratchpad show";
|
||||
|
||||
"${mod}+Escape" = "exec loginctl lock-session";
|
||||
|
||||
"XF86MonBrightnessUp" = "exec xbacklight -inc 10";
|
||||
"XF86MonBrightnessDown" = "exec xbacklight -dec 10";
|
||||
"XF86AudioMute" = "exec pamixer -t";
|
||||
"XF86AudioLowerVolume" = "exec pamixer -d 10";
|
||||
"XF86AudioRaiseVolume" = "exec pamixer -i 10";
|
||||
"XF86AudioPrev" = "exec playerctl previous";
|
||||
"XF86AudioPlay" = "exec playerctl play-pause";
|
||||
"XF86AudioNext" = "exec playerctl next";
|
||||
|
||||
"Mod1+Shift+4" = "exec flameshot gui -s -p ~/Pictures/screenshots";
|
||||
};
|
||||
|
||||
modifier = mod;
|
||||
|
||||
startup = [
|
||||
{ command = "$HOME/bin/scripts/flower"; always = true; }
|
||||
{ command = "feh --bg-fill $HOME/wallpapers/wallpaper.jpg"; always = false; }
|
||||
];
|
||||
|
||||
terminal = "kitty";
|
||||
|
||||
window = {
|
||||
border = lib.mkDefault 2;
|
||||
titlebar = false;
|
||||
commands = [
|
||||
{ command = "move position center #2116 46"; criteria = { class = "jetbrains-toolbox"; }; }
|
||||
{ command = "move scratchpad"; criteria = { instance = "spotify"; }; }
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
10
users/daniel/configs/desktop/i3/godown
Executable file
10
users/daniel/configs/desktop/i3/godown
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
if test -n "$(i3utils workspace isLast)" ; then
|
||||
if test -z "$(i3utils workspace isEmpty)" ; then
|
||||
i3-msg workspace $(( $(i3utils workspace current) + 1 ))
|
||||
fi
|
||||
else
|
||||
i3-msg workspace next
|
||||
fi
|
||||
i3utils workspace reflow
|
||||
6
users/daniel/configs/desktop/i3/goup
Executable file
6
users/daniel/configs/desktop/i3/goup
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -z $(i3utils workspace isFirst) ]; then
|
||||
i3-msg workspace prev
|
||||
i3utils workspace reflow
|
||||
fi
|
||||
@@ -24,7 +24,6 @@
|
||||
}
|
||||
{
|
||||
block = "networkmanager";
|
||||
on_click = "alacritty -e nmtui";
|
||||
primary_only = true;
|
||||
ap_format = "{ssid}";
|
||||
device_format = "{icon}{ap}";
|
||||
394
users/daniel/configs/desktop/polybar/config
Normal file
394
users/daniel/configs/desktop/polybar/config
Normal file
@@ -0,0 +1,394 @@
|
||||
[colors]
|
||||
;background = ${xrdb:color0:#222}
|
||||
background = #222
|
||||
background-alt = #444
|
||||
;foreground = ${xrdb:color7:#222}
|
||||
foreground = #dfdfdf
|
||||
foreground-alt = #555
|
||||
primary = #ffb52a
|
||||
secondary = #e60053
|
||||
alert = #bd2c40
|
||||
|
||||
[bar/main]
|
||||
width = 100%
|
||||
|
||||
height = 34
|
||||
|
||||
font-0 = Ubuntu:size=10;2
|
||||
|
||||
font-1 = Font Awesome 5 Free Solid:size=10;3
|
||||
font-2 = Font Awesome 5 Brands:size=10;1
|
||||
|
||||
fixed-center = true
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
line-color = #f00
|
||||
|
||||
;border-size = 4
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 2
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 2
|
||||
|
||||
modules-left = i3
|
||||
modules-center = mpd date
|
||||
modules-right = filesystem xbacklight pulseaudio memory cpu wlan eth battery temperature powermenu
|
||||
|
||||
tray-position = right
|
||||
tray-padding = 2
|
||||
|
||||
dpi = 120
|
||||
;tray-background = #0063ff
|
||||
|
||||
;wm-restack = bspwm
|
||||
;wm-restack = i3
|
||||
|
||||
;override-redirect = true
|
||||
|
||||
;scroll-up = bspwm-desknext
|
||||
;scroll-down = bspwm-deskprev
|
||||
|
||||
;scroll-up = i3wm-wsnext
|
||||
;scroll-down = i3wm-wsprev
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:30:...%
|
||||
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
blacklist-0 = num lock
|
||||
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-prefix-underline = ${colors.secondary}
|
||||
|
||||
label-layout = %layout%
|
||||
label-layout-underline = ${colors.secondary}
|
||||
|
||||
label-indicator-padding = 2
|
||||
label-indicator-margin = 1
|
||||
label-indicator-background = ${colors.secondary}
|
||||
label-indicator-underline = ${colors.secondary}
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
interval = 25
|
||||
|
||||
mount-0 = /
|
||||
|
||||
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
|
||||
label-unmounted = %mountpoint% not mounted
|
||||
label-unmounted-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
format = <label-state> <label-mode>
|
||||
index-sort = false
|
||||
wrapping-scroll = false
|
||||
|
||||
; Only show workspaces on the same output as the bar
|
||||
;pin-workspaces = true
|
||||
|
||||
label-mode-padding = 2
|
||||
label-mode-foreground = #000
|
||||
label-mode-background = ${colors.primary}
|
||||
|
||||
; focused = Active workspace on focused monitor
|
||||
label-focused = %name%
|
||||
label-focused-background = ${colors.background-alt}
|
||||
label-focused-underline= ${colors.primary}
|
||||
label-focused-padding = 2
|
||||
|
||||
; unfocused = Inactive workspace on any monitor
|
||||
label-unfocused = %name%
|
||||
label-unfocused-padding = 2
|
||||
|
||||
; visible = Active workspace on unfocused monitor
|
||||
label-visible = %name%
|
||||
label-visible-background = ${self.label-focused-background}
|
||||
label-visible-underline = ${self.label-focused-underline}
|
||||
label-visible-padding = ${self.label-focused-padding}
|
||||
|
||||
; urgent = Workspace with urgency hint set
|
||||
label-urgent = %index%
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 2
|
||||
|
||||
; Separator in between workspaces
|
||||
; label-separator = |
|
||||
|
||||
|
||||
[module/mpd]
|
||||
type = internal/mpd
|
||||
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
|
||||
|
||||
icon-prev =
|
||||
icon-stop =
|
||||
icon-play =
|
||||
icon-pause =
|
||||
icon-next =
|
||||
|
||||
label-song-maxlen = 25
|
||||
label-song-ellipsis = true
|
||||
|
||||
[module/xbacklight]
|
||||
type = internal/xbacklight
|
||||
|
||||
format = <label> <bar>
|
||||
label = BL
|
||||
|
||||
bar-width = 10
|
||||
bar-indicator = |
|
||||
bar-indicator-foreground = #fff
|
||||
bar-indicator-font = 2
|
||||
bar-fill = ─
|
||||
bar-fill-font = 2
|
||||
bar-fill-foreground = #9f78e1
|
||||
bar-empty = ─
|
||||
bar-empty-font = 2
|
||||
bar-empty-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/backlight-acpi]
|
||||
inherit = module/xbacklight
|
||||
type = internal/backlight
|
||||
card = intel_backlight
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #f90000
|
||||
label = %percentage:2%%
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #4bffdc
|
||||
label = %percentage_used%%
|
||||
|
||||
[module/wlan]
|
||||
type = internal/network
|
||||
interface = wlp59s0
|
||||
interval = 3.0
|
||||
|
||||
format-connected = <ramp-signal> <label-connected>
|
||||
format-connected-underline = #9f78e1
|
||||
label-connected = %essid%
|
||||
|
||||
format-disconnected =
|
||||
;format-disconnected = <label-disconnected>
|
||||
;format-disconnected-underline = ${self.format-connected-underline}
|
||||
;label-disconnected = %ifname% disconnected
|
||||
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||
|
||||
ramp-signal-0 =
|
||||
ramp-signal-1 =
|
||||
ramp-signal-2 =
|
||||
ramp-signal-3 =
|
||||
ramp-signal-4 =
|
||||
ramp-signal-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/eth]
|
||||
type = internal/network
|
||||
interface = enp0s31f6
|
||||
interval = 3.0
|
||||
|
||||
format-connected-underline = #55aa55
|
||||
format-connected-prefix = " "
|
||||
format-connected-prefix-foreground = ${colors.foreground-alt}
|
||||
label-connected = %local_ip%
|
||||
|
||||
format-disconnected =
|
||||
;format-disconnected = <label-disconnected>
|
||||
;format-disconnected-underline = ${self.format-connected-underline}
|
||||
;label-disconnected = %ifname% disconnected
|
||||
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 1
|
||||
|
||||
date =
|
||||
date-alt = " %Y-%m-%d"
|
||||
|
||||
time = %H:%M
|
||||
time-alt = %H:%M:%S
|
||||
|
||||
format-prefix =
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #0a6cf5
|
||||
|
||||
label = %date% %time%
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
format-volume = <label-volume> <ramp-volume> <bar-volume>
|
||||
label-volume = vol %percentage%%
|
||||
label-volume-foreground = ${root.foreground}
|
||||
|
||||
label-muted =
|
||||
label-muted-foreground = #FF0000
|
||||
|
||||
ramp-volume-0 =
|
||||
ramp-volume-1 =
|
||||
ramp-volume-2 =
|
||||
ramp-volume-3 =
|
||||
ramp-volume-4 =
|
||||
ramp-headphones-0 =
|
||||
ramp-headphones-1 =
|
||||
|
||||
bar-volume-width = 10
|
||||
bar-volume-foreground-0 = #55aa55
|
||||
bar-volume-foreground-1 = #55aa55
|
||||
bar-volume-foreground-2 = #55aa55
|
||||
bar-volume-foreground-3 = #55aa55
|
||||
bar-volume-foreground-4 = #55aa55
|
||||
bar-volume-foreground-5 = #f5a70a
|
||||
bar-volume-foreground-6 = #ff5555
|
||||
bar-volume-gradient = false
|
||||
bar-volume-indicator = |
|
||||
bar-volume-indicator-font = 2
|
||||
bar-volume-fill = ─
|
||||
bar-volume-fill-font = 2
|
||||
bar-volume-empty = ─
|
||||
bar-volume-empty-font = 2
|
||||
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/alsa]
|
||||
type = internal/alsa
|
||||
|
||||
format-volume = <label-volume> <bar-volume>
|
||||
label-volume = VOL
|
||||
label-volume-foreground = ${root.foreground}
|
||||
|
||||
format-muted-prefix = " "
|
||||
format-muted-foreground = ${colors.foreground-alt}
|
||||
label-muted = sound muted
|
||||
|
||||
bar-volume-width = 10
|
||||
bar-volume-foreground-0 = #55aa55
|
||||
bar-volume-foreground-1 = #55aa55
|
||||
bar-volume-foreground-2 = #55aa55
|
||||
bar-volume-foreground-3 = #55aa55
|
||||
bar-volume-foreground-4 = #55aa55
|
||||
bar-volume-foreground-5 = #f5a70a
|
||||
bar-volume-foreground-6 = #ff5555
|
||||
bar-volume-gradient = false
|
||||
bar-volume-indicator = |
|
||||
bar-volume-indicator-font = 2
|
||||
bar-volume-fill = ─
|
||||
bar-volume-fill-font = 2
|
||||
bar-volume-empty = ─
|
||||
bar-volume-empty-font = 2
|
||||
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
poll-interval = 10
|
||||
format-charging = <label-charging>
|
||||
label-charging = %percentage: 2%%
|
||||
format-charging-underline = #ffb52a
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
label-discharging = %percentage: 2%%
|
||||
format-discharging-underline = ${self.format-charging-underline}
|
||||
format-full = <label-full>
|
||||
label-full =
|
||||
format-full-underline = ${self.format-charging-underline}
|
||||
format-low = <animation-low> <label-low>
|
||||
label-low = %percentage: 2%%
|
||||
label-low-foreground = ${colors.warning}
|
||||
animation-low-foreground = ${colors.warning}
|
||||
full-at = 99
|
||||
low-at = 12
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
ramp-capacity-5 =
|
||||
ramp-capacity-6 =
|
||||
ramp-capacity-7 =
|
||||
ramp-capacity-8 =
|
||||
ramp-capacity-9 =
|
||||
animation-low-0 =
|
||||
animation-low-1 =
|
||||
animation-low-2 =
|
||||
animation-low-3 =
|
||||
animation-low-3-foreground = ${colors.transparent}
|
||||
animation-low-framerate = 500
|
||||
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
thermal-zone = 0
|
||||
warn-temperature = 60
|
||||
|
||||
format = <ramp> <label>
|
||||
format-underline = #f50a4d
|
||||
format-warn = <ramp> <label-warn>
|
||||
format-warn-underline = ${self.format-underline}
|
||||
|
||||
label = %temperature-c%
|
||||
label-warn = %temperature-c%
|
||||
label-warn-foreground = ${colors.secondary}
|
||||
|
||||
ramp-0 =
|
||||
ramp-1 =
|
||||
ramp-2 =
|
||||
ramp-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/powermenu]
|
||||
type = custom/menu
|
||||
|
||||
expand-right = true
|
||||
|
||||
format-spacing = 1
|
||||
|
||||
label-open =
|
||||
label-open-foreground = ${colors.secondary}
|
||||
label-close = cancel
|
||||
label-close-foreground = ${colors.secondary}
|
||||
label-separator = |
|
||||
label-separator-foreground = ${colors.foreground-alt}
|
||||
|
||||
menu-0-0 = reboot
|
||||
menu-0-0-exec = menu-open-1
|
||||
menu-0-1 = power off
|
||||
menu-0-1-exec = menu-open-2
|
||||
|
||||
menu-1-0 = cancel
|
||||
menu-1-0-exec = menu-open-0
|
||||
menu-1-1 = reboot
|
||||
menu-1-1-exec = sudo reboot
|
||||
|
||||
menu-2-0 = power off
|
||||
menu-2-0-exec = sudo poweroff
|
||||
menu-2-1 = cancel
|
||||
menu-2-1-exec = menu-open-0
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
;compositing-background = xor
|
||||
;compositing-background = screen
|
||||
;compositing-foreground = source
|
||||
;compositing-border = over
|
||||
;pseudo-transparency = false
|
||||
|
||||
[global/wm]
|
||||
margin-top = 5
|
||||
margin-bottom = 5
|
||||
|
||||
; vim:ft=dosini
|
||||
20
users/daniel/configs/desktop/polybar/default.nix
Normal file
20
users/daniel/configs/desktop/polybar/default.nix
Normal file
@@ -0,0 +1,20 @@
|
||||
{pkgs, ...}:
|
||||
|
||||
{
|
||||
services.polybar = {
|
||||
enable = true;
|
||||
|
||||
package = pkgs.polybar.override {
|
||||
i3Support = true;
|
||||
pulseSupport = true;
|
||||
};
|
||||
|
||||
script = ''
|
||||
polybar main & disown
|
||||
'';
|
||||
|
||||
config = ./config;
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
139
users/daniel/configs/desktop/rofi/colour.rasi
Normal file
139
users/daniel/configs/desktop/rofi/colour.rasi
Normal file
@@ -0,0 +1,139 @@
|
||||
* {
|
||||
/* Dracula theme colour palette */
|
||||
drac-bgd: #282a36;
|
||||
drac-cur: #44475a;
|
||||
drac-fgd: #f8f8f2;
|
||||
drac-cmt: #6272a4;
|
||||
drac-cya: #8be9fd;
|
||||
drac-grn: #50fa7b;
|
||||
drac-ora: #ffb86c;
|
||||
drac-pnk: #ff79c6;
|
||||
drac-pur: #bd93f9;
|
||||
drac-red: #ff5555;
|
||||
drac-yel: #f1fa8c;
|
||||
|
||||
font: "Jetbrains Mono 12";
|
||||
|
||||
foreground: @drac-fgd;
|
||||
background-color: @drac-bgd;
|
||||
active-background: @drac-pnk;
|
||||
urgent-background: @drac-red;
|
||||
|
||||
selected-background: @active-background;
|
||||
selected-urgent-background: @urgent-background;
|
||||
selected-active-background: @active-background;
|
||||
separatorcolor: @active-background;
|
||||
bordercolor: #6272a4;
|
||||
}
|
||||
|
||||
#window {
|
||||
background-color: @background;
|
||||
border: 3;
|
||||
border-radius: 6;
|
||||
border-color: @bordercolor;
|
||||
padding: 5;
|
||||
}
|
||||
#mainbox {
|
||||
border: 0;
|
||||
padding: 5;
|
||||
}
|
||||
#message {
|
||||
border: 1px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
padding: 1px ;
|
||||
}
|
||||
#textbox {
|
||||
text-color: @foreground;
|
||||
}
|
||||
#listview {
|
||||
fixed-height: 0;
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @bordercolor;
|
||||
spacing: 2px ;
|
||||
scrollbar: false;
|
||||
padding: 2px 0px 0px ;
|
||||
}
|
||||
#element {
|
||||
border: 0;
|
||||
padding: 1px ;
|
||||
}
|
||||
#element.normal.normal {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
#element.normal.active {
|
||||
background-color: @active-background;
|
||||
text-color: @background;
|
||||
}
|
||||
#element.selected.normal {
|
||||
background-color: @selected-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.selected.urgent {
|
||||
background-color: @selected-urgent-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.selected.active {
|
||||
background-color: @selected-active-background;
|
||||
text-color: @background;
|
||||
}
|
||||
#element.alternate.normal {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.alternate.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#element.alternate.active {
|
||||
background-color: @active-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#scrollbar {
|
||||
width: 2px ;
|
||||
border: 0;
|
||||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
#button.selected {
|
||||
background-color: @selected-background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#inputbar {
|
||||
spacing: 0;
|
||||
text-color: @foreground;
|
||||
padding: 1px ;
|
||||
}
|
||||
#case-indicator {
|
||||
spacing: 0;
|
||||
text-color: @foreground;
|
||||
}
|
||||
#entry {
|
||||
spacing: 0;
|
||||
text-color: @drac-cya;
|
||||
}
|
||||
#prompt {
|
||||
spacing: 0;
|
||||
text-color: @drac-grn;
|
||||
}
|
||||
#inputbar {
|
||||
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||
}
|
||||
#textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
margin: 0px 0.3em 0em 0em ;
|
||||
text-color: @drac-grn;
|
||||
}
|
||||
element-text, element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
8
users/daniel/configs/desktop/rofi/default.nix
Normal file
8
users/daniel/configs/desktop/rofi/default.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
theme = ./colour.rasi;
|
||||
};
|
||||
}
|
||||
88
users/daniel/configs/system/alacritty/default.nix
Normal file
88
users/daniel/configs/system/alacritty/default.nix
Normal file
@@ -0,0 +1,88 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.alacritty = {
|
||||
enable = false;
|
||||
settings = {
|
||||
font = {
|
||||
normal = {
|
||||
family = "Iosevka";
|
||||
style = "Regular";
|
||||
};
|
||||
};
|
||||
|
||||
cursor = {
|
||||
style= {
|
||||
shape = "Underline";
|
||||
};
|
||||
};
|
||||
|
||||
colors = {
|
||||
primary = {
|
||||
background = "0x282a36";
|
||||
foreground = "0xf8f8f2";
|
||||
};
|
||||
cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
};
|
||||
vi_mode_cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
};
|
||||
search = {
|
||||
matches = {
|
||||
foreground = "0x44475a";
|
||||
background = "0x50fa7b";
|
||||
};
|
||||
focused_match = {
|
||||
foreground = "0x44475a";
|
||||
background = "0xffb86c";
|
||||
};
|
||||
bar = {
|
||||
background = "0x282a36";
|
||||
foreground = "0xf8f8f2";
|
||||
};
|
||||
};
|
||||
line_indicator = {
|
||||
foreground = "None";
|
||||
background = "None";
|
||||
};
|
||||
selection = {
|
||||
text = "CellForeground";
|
||||
background = "0x44475a";
|
||||
};
|
||||
normal = {
|
||||
black = "0x000000";
|
||||
red = "0xff5555";
|
||||
green = "0x50fa7b";
|
||||
yellow = "0xf1fa8c";
|
||||
blue = "0xbd93f9";
|
||||
magenta = "0xff79c6";
|
||||
cyan = "0x8be9fd";
|
||||
white = "0xbfbfbf";
|
||||
};
|
||||
bright = {
|
||||
black = "0x4d4d4d";
|
||||
red = "0xff6e67";
|
||||
green = "0x5af78e";
|
||||
yellow = "0xf4f99d";
|
||||
blue = "0xcaa9fa";
|
||||
magenta = "0xff92d0";
|
||||
cyan = "0x9aedfe";
|
||||
white = "0xe6e6e6";
|
||||
};
|
||||
dim = {
|
||||
black = "0x14151b";
|
||||
red = "0xff2222";
|
||||
green = "0x1ef956";
|
||||
yellow = "0xebf85b";
|
||||
blue = "0x4d5b86";
|
||||
magenta = "0xff46b0";
|
||||
cyan = "0x59dffc";
|
||||
white = "0xe6e6d1";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
8
users/daniel/configs/system/default.nix
Normal file
8
users/daniel/configs/system/default.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
imports = [
|
||||
./alacritty
|
||||
./helix
|
||||
./kitty
|
||||
./neovim
|
||||
];
|
||||
}
|
||||
4
users/daniel/configs/system/helix/config/config.toml
Normal file
4
users/daniel/configs/system/helix/config/config.toml
Normal file
@@ -0,0 +1,4 @@
|
||||
theme = "dracula"
|
||||
|
||||
[editor]
|
||||
mouse = false
|
||||
54
users/daniel/configs/system/helix/config/themes/dracula.toml
Normal file
54
users/daniel/configs/system/helix/config/themes/dracula.toml
Normal file
@@ -0,0 +1,54 @@
|
||||
# Author : Sebastian Zivota <loewenheim@mailbox.org>
|
||||
"comment" = { fg = "comment" }
|
||||
"constant" = { fg = "purple" }
|
||||
"constant.character.escape" = { fg = "pink" }
|
||||
"function" = { fg = "green" }
|
||||
"keyword" = { fg = "pink" }
|
||||
"operator" = { fg = "pink" }
|
||||
"punctuation" = { fg = "foreground" }
|
||||
"string" = { fg = "yellow" }
|
||||
"string.regexp" = { fg = "red" }
|
||||
"tag" = { fg = "pink" }
|
||||
"type" = { fg = "cyan", modifiers = ["italic"] }
|
||||
"type.enum.variant" = { fg = "foreground", modifiers = ["italic"] }
|
||||
"variable" = { fg = "foreground" }
|
||||
"variable.builtin" = { fg = "cyan", modifiers = ["italic"] }
|
||||
"variable.parameter" = { fg ="orange", modifiers = ["italic"] }
|
||||
|
||||
"diff.plus" = { fg = "green" }
|
||||
"diff.delta" = { fg = "orange" }
|
||||
"diff.minus" = { fg = "red" }
|
||||
|
||||
"ui.background" = { fg = "foreground", bg = "background" }
|
||||
"ui.cursor" = { fg = "background", bg = "orange", modifiers = ["dim"] }
|
||||
"ui.cursor.match" = { fg = "green", modifiers = ["underlined"] }
|
||||
"ui.cursor.primary" = { fg = "background", bg = "cyan", modifier = ["dim"] }
|
||||
"ui.help" = { fg = "foreground", bg = "background_dark" }
|
||||
"ui.linenr" = { fg = "comment" }
|
||||
"ui.linenr.selected" = { fg = "foreground" }
|
||||
"ui.menu" = { fg = "foreground", bg = "background_dark" }
|
||||
"ui.menu.selected" = { fg = "cyan", bg = "background_dark" }
|
||||
"ui.popup" = { fg = "foreground", bg = "background_dark" }
|
||||
"ui.selection" = { fg = "background", bg = "purple", modifiers = ["dim"] }
|
||||
"ui.selection.primary" = { fg = "background", bg = "pink" }
|
||||
"ui.statusline" = { fg = "foreground", bg = "background_dark" }
|
||||
"ui.statusline.inactive" = { fg = "comment", bg = "background_dark" }
|
||||
"ui.text" = { fg = "foreground" }
|
||||
"ui.text.focus" = { fg = "cyan" }
|
||||
"ui.window" = { fg = "foreground" }
|
||||
|
||||
"error" = { fg = "red" }
|
||||
"warning" = { fg = "cyan" }
|
||||
|
||||
[palette]
|
||||
background = "#282a36"
|
||||
background_dark = "#21222c"
|
||||
foreground = "#f8f8f2"
|
||||
comment = "#6272a4"
|
||||
red = "#ff5555"
|
||||
orange = "#ffb86c"
|
||||
yellow = "#f1fa8c"
|
||||
green = "#50fa7b"
|
||||
purple = "#bd93f9"
|
||||
cyan = "#8be9fd"
|
||||
pink = "#ff79c6"
|
||||
7
users/daniel/configs/system/helix/default.nix
Normal file
7
users/daniel/configs/system/helix/default.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{...}:
|
||||
{
|
||||
home.file.".config/helix" = {
|
||||
source = ./config;
|
||||
recursive = true;
|
||||
};
|
||||
}
|
||||
72
users/daniel/configs/system/kitty/default.nix
Normal file
72
users/daniel/configs/system/kitty/default.nix
Normal file
@@ -0,0 +1,72 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
package = pkgs.iosevka;
|
||||
name = "Iosevka Nerd Font Complete";
|
||||
};
|
||||
settings = {
|
||||
"cursor_shape" = "underline";
|
||||
|
||||
"bold_font" = "Iosevka Bold Nerd Font Complete";
|
||||
|
||||
"disable_ligatures" = "always";
|
||||
|
||||
"enable_audio_bell" = "no";
|
||||
"foreground" = "#f8f8f2";
|
||||
"background" = "#282a36";
|
||||
"selection_foreground" = "#ffffff";
|
||||
"selection_background" = "#44475a";
|
||||
|
||||
"url_color" = "#8be9fd";
|
||||
|
||||
# black
|
||||
"color0" = "#21222c";
|
||||
"color8" = "#6272a4";
|
||||
|
||||
# red
|
||||
"color1" = "#ff5555";
|
||||
"color9" = "#ff6e6e";
|
||||
|
||||
# green
|
||||
"color2" = "#50fa7b";
|
||||
"color10" = "#69ff94";
|
||||
|
||||
# yellow
|
||||
"color3" = "#f1fa8c";
|
||||
"color11" = "#ffffa5";
|
||||
|
||||
# blue
|
||||
"color4" = "#bd93f9";
|
||||
"color12" = "#d6acff";
|
||||
|
||||
# magenta
|
||||
"color5" = "#ff79c6";
|
||||
"color13" = "#ff92df";
|
||||
|
||||
# cyan
|
||||
"color6" = "#8be9fd";
|
||||
"color14" = "#a4ffff";
|
||||
|
||||
# white
|
||||
"color7" = "#f8f8f2";
|
||||
"color15" = "#ffffff";
|
||||
|
||||
# Cursor colors
|
||||
"cursor" = "#f8f8f2";
|
||||
"cursor_text_color" = "background";
|
||||
|
||||
# Tab bar colors
|
||||
"active_tab_foreground" = "#282a36";
|
||||
"active_tab_background" = "#f8f8f2";
|
||||
"inactive_tab_foreground" = "#282a36";
|
||||
"inactive_tab_background" = "#6272a4";
|
||||
|
||||
# Marks
|
||||
"mark1_foreground" = "#282a36";
|
||||
"mark1_background" = "#ff5555";
|
||||
};
|
||||
};
|
||||
}
|
||||
31
users/daniel/configs/system/neovim/default.nix
Normal file
31
users/daniel/configs/system/neovim/default.nix
Normal file
@@ -0,0 +1,31 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
(nvim-treesitter.withPlugins (
|
||||
plugins: with plugins; [
|
||||
#tree-sitter-nix
|
||||
tree-sitter-go
|
||||
tree-sitter-c
|
||||
tree-sitter-rust
|
||||
tree-sitter-vim
|
||||
tree-sitter-lua
|
||||
tree-sitter-python
|
||||
tree-sitter-html
|
||||
tree-sitter-json
|
||||
tree-sitter-markdown
|
||||
tree-sitter-javascript
|
||||
tree-sitter-typescript
|
||||
]
|
||||
))
|
||||
vim-nix
|
||||
|
||||
nvim-lspconfig
|
||||
];
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
};
|
||||
}
|
||||
156
users/daniel/default.nix
Normal file
156
users/daniel/default.nix
Normal file
@@ -0,0 +1,156 @@
|
||||
{ pkgs, lib, fetchurl, hostname, headless, ... }:
|
||||
let
|
||||
cliPackages = with pkgs; [
|
||||
aerc
|
||||
entr
|
||||
go_1_18
|
||||
gomuks
|
||||
gopls
|
||||
oh-my-zsh
|
||||
(
|
||||
let
|
||||
my-python-packages = python-packages: with python-packages; [
|
||||
tkinter
|
||||
requests
|
||||
];
|
||||
python-with-my-packages = python3.withPackages my-python-packages;
|
||||
in
|
||||
python-with-my-packages
|
||||
)
|
||||
ranger
|
||||
restic
|
||||
rust-analyzer
|
||||
starship
|
||||
];
|
||||
|
||||
guiPackages = with pkgs; [
|
||||
_1password
|
||||
_1password-gui
|
||||
discord
|
||||
feh
|
||||
iosevka
|
||||
jetbrains.goland
|
||||
mpv
|
||||
nerdfonts
|
||||
pamixer
|
||||
pavucontrol
|
||||
playerctl
|
||||
spotify
|
||||
xclip
|
||||
];
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
|
||||
./configs/system
|
||||
|
||||
] ++ lib.optionals (!headless) [
|
||||
|
||||
./configs/desktop
|
||||
|
||||
] ++ lib.optionals (builtins.pathExists ./host-specific/${hostname}) [
|
||||
|
||||
./host-specific/${hostname}
|
||||
|
||||
];
|
||||
|
||||
home = {
|
||||
username = "daniel";
|
||||
homeDirectory = "/home/daniel";
|
||||
sessionPath = [
|
||||
"$HOME/go/bin"
|
||||
];
|
||||
|
||||
file = {
|
||||
".icons/default".source = "${pkgs.capitaine-cursors}/share/icons/capitaine-cursors";
|
||||
|
||||
"bin/update" = {
|
||||
source = ../../scripts/update;
|
||||
executable = true;
|
||||
};
|
||||
|
||||
"bin/supdate" = {
|
||||
source = ../../scripts/supdate;
|
||||
executable = true;
|
||||
};
|
||||
};
|
||||
|
||||
packages = cliPackages ++ lib.optionals (!headless) guiPackages;
|
||||
|
||||
keyboard = {
|
||||
layout = "gb";
|
||||
options = [
|
||||
"caps:escape"
|
||||
];
|
||||
};
|
||||
|
||||
stateVersion = "21.05";
|
||||
};
|
||||
|
||||
programs = {
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
home-manager.enable = true;
|
||||
|
||||
fzf = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
package = pkgs.gitFull;
|
||||
userName = "Daniel Patterson";
|
||||
userEmail = "me@danielpatterson.dev";
|
||||
extraConfig = {
|
||||
pull.rebase = true;
|
||||
init.defaultBranch = "main";
|
||||
format.signOff = "yes";
|
||||
sendemail = {
|
||||
smtpUser = "me@danielpatterson.dev";
|
||||
smtpServer = "smtp.fastmail.com";
|
||||
smtpEncryption = "tls";
|
||||
smtpServerPort = 587;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
lazygit = {
|
||||
enable = true;
|
||||
settings = {
|
||||
gui = {
|
||||
showFileTree = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
starship.enable = true;
|
||||
|
||||
vscode.enable = true;
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "git" "fzf" ];
|
||||
theme = "agnoster";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services ={
|
||||
dunst.enable = true;
|
||||
|
||||
syncthing = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
screen-locker = {
|
||||
enable = true;
|
||||
lockCmd = "${pkgs.i3lock}/bin/i3lock -i /home/daniel/wallpapers/lock.png";
|
||||
inactiveInterval = 60;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
12
users/daniel/host-specific/dingbox/default.nix
Normal file
12
users/daniel/host-specific/dingbox/default.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
|
||||
{
|
||||
home.file = {
|
||||
"wallpapers" = {
|
||||
source = ./wallpapers;
|
||||
};
|
||||
};
|
||||
|
||||
programs.alacritty.settings.font.size = 13;
|
||||
programs.kitty.font.size = 22;
|
||||
}
|
||||
BIN
users/daniel/host-specific/dingbox/wallpapers/lock.png
Normal file
BIN
users/daniel/host-specific/dingbox/wallpapers/lock.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 835 KiB |
BIN
users/daniel/host-specific/dingbox/wallpapers/wallpaper.jpg
Normal file
BIN
users/daniel/host-specific/dingbox/wallpapers/wallpaper.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 MiB |
20
users/daniel/host-specific/miniding/default.nix
Normal file
20
users/daniel/host-specific/miniding/default.nix
Normal file
@@ -0,0 +1,20 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
|
||||
{
|
||||
services.picom = {
|
||||
enable = true;
|
||||
vSync = true;
|
||||
};
|
||||
|
||||
xsession.windowManager.i3.config.gaps.outer = 6;
|
||||
xsession.windowManager.i3.config.gaps.inner = 5;
|
||||
|
||||
home.file = {
|
||||
wallpapers = {
|
||||
source = ./wallpapers;
|
||||
};
|
||||
};
|
||||
|
||||
programs.alacritty.settings.font.size = 10;
|
||||
programs.kitty.font.size = 19;
|
||||
}
|
||||
BIN
users/daniel/host-specific/miniding/wallpapers/lock.png
Normal file
BIN
users/daniel/host-specific/miniding/wallpapers/lock.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 411 KiB |
BIN
users/daniel/host-specific/miniding/wallpapers/wallpaper.jpg
Normal file
BIN
users/daniel/host-specific/miniding/wallpapers/wallpaper.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 665 KiB |
18
users/daniel/host-specific/pingbox/default.nix
Normal file
18
users/daniel/host-specific/pingbox/default.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
|
||||
{
|
||||
home = {
|
||||
file = {
|
||||
"wallpapers" = {
|
||||
source = ./wallpapers;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.kitty.font.size = 19;
|
||||
|
||||
services.picom = {
|
||||
enable = true;
|
||||
vSync = true;
|
||||
};
|
||||
}
|
||||
BIN
users/daniel/host-specific/pingbox/wallpapers/lock.png
Normal file
BIN
users/daniel/host-specific/pingbox/wallpapers/lock.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 523 KiB |
BIN
users/daniel/host-specific/pingbox/wallpapers/wallpaper.jpg
Normal file
BIN
users/daniel/host-specific/pingbox/wallpapers/wallpaper.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
Reference in New Issue
Block a user