Compare commits
17 Commits
home-assis
...
obsidian
Author | SHA1 | Date | |
---|---|---|---|
45de738d59 | |||
e6ae0c4c35 | |||
739f2e125f | |||
13fc210f8b | |||
66eddc0345 | |||
27c114b801 | |||
936b4bbf44 | |||
f06b17a336 | |||
cb2edf6afb | |||
109684d09c | |||
4113b3ea57 | |||
760d686499 | |||
69e6329dea | |||
fccb1ab4ae | |||
57cd69a153 | |||
2c6765bb5b | |||
30a72d9e74 |
@@ -10,8 +10,7 @@ set $right l
|
|||||||
set $term alacritty
|
set $term alacritty
|
||||||
|
|
||||||
# Menu (rofi)
|
# Menu (rofi)
|
||||||
set $rofi_cmd rofi -terminal '$term'
|
set $menu wofi --term '$term'
|
||||||
set $menu $rofi_cmd -show combi -combi-modes drun#run -modes combi
|
|
||||||
|
|
||||||
### Output configuration
|
### Output configuration
|
||||||
output DP-3 pos 3840 0 res 1920x1080@59Hz
|
output DP-3 pos 3840 0 res 1920x1080@59Hz
|
||||||
@@ -28,13 +27,17 @@ output DP-3 bg ~/.wallpaper/.wallpaper.png fill
|
|||||||
## DP-3 bindings
|
## DP-3 bindings
|
||||||
workspace 1 output DP-2
|
workspace 1 output DP-2
|
||||||
workspace 2 output DP-2
|
workspace 2 output DP-2
|
||||||
|
workspace 4 output DP-2
|
||||||
|
workspace 5 output DP-2
|
||||||
|
|
||||||
## HDMI-A-1 bindings
|
## HDMI-A-1 bindings
|
||||||
workspace 3 output HDMI-A-1
|
workspace 3 output HDMI-A-1
|
||||||
|
workspace 9 output HDMI-A-1
|
||||||
|
|
||||||
## DP-2 bindings
|
## DP-2 bindings
|
||||||
workspace 6 output DP-3
|
workspace 6 output DP-3
|
||||||
workspace 7 output DP-3
|
workspace 7 output DP-3
|
||||||
|
workspace 8 output DP-3
|
||||||
|
|
||||||
### Colour options
|
### Colour options
|
||||||
set $bg #24283b
|
set $bg #24283b
|
||||||
@@ -87,8 +90,9 @@ floating_modifier $mod normal
|
|||||||
# Reload the configuration file
|
# Reload the configuration file
|
||||||
bindsym $mod+Shift+c reload
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
# Exit sway (logs you out of your Wayland session)
|
# Shutdown and reboot hotkeys
|
||||||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
|
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the shutdown shortcut. Do you really want to shutdown your computer?' -b 'Yes, shutdown' 'systemctl poweroff'
|
||||||
|
bindsym $mod+Shift+r exec swaynag -t warning -m 'You pressed the reboot shortcut. Do you really want to reboot your computer?' -b 'Yes, reboot' 'systemctl reboot'
|
||||||
|
|
||||||
### Navigation
|
### Navigation
|
||||||
# Move your focus around
|
# Move your focus around
|
||||||
@@ -182,8 +186,9 @@ mode "resize" {
|
|||||||
bindsym Return mode "default"
|
bindsym Return mode "default"
|
||||||
bindsym Escape mode "default"
|
bindsym Escape mode "default"
|
||||||
}
|
}
|
||||||
bindsym $mod+r mode "resize"
|
|
||||||
|
|
||||||
|
### resize
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
### Audio and brightness keybinds
|
### Audio and brightness keybinds
|
||||||
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
|
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||||
@@ -196,16 +201,14 @@ bindsym XF86AudioPrev exec playerctl previous
|
|||||||
bindsym XF86MonBrightnessUp exec light -A 5
|
bindsym XF86MonBrightnessUp exec light -A 5
|
||||||
bindsym XF86MonBrightnessDown exec light -U 5
|
bindsym XF86MonBrightnessDown exec light -U 5
|
||||||
|
|
||||||
### Lock the screen so my brother
|
### Lock the screen
|
||||||
### won't dick with my computer
|
bindsym $mod+Ctrl+q 'swaylock -f -i /home/wyatt/.wallpaper/.wallpaper_lock.png'
|
||||||
bindsym $mod+Ctrl+l 'swaylock -f -i /home/wyatt/.wallpaper_lock.jpeg'
|
|
||||||
|
|
||||||
### Status Bar:
|
### Status Bar:
|
||||||
bar {
|
bar {
|
||||||
swaybar_command waybar
|
swaybar_command waybar
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
### Font settings:
|
### Font settings:
|
||||||
font pango:FiraCode: 14px
|
font pango:FiraCode: 14px
|
||||||
|
|
||||||
|
254
defaults/zellij/config.kdl
Normal file
254
defaults/zellij/config.kdl
Normal file
@@ -0,0 +1,254 @@
|
|||||||
|
keybinds clear-defaults=true {
|
||||||
|
locked {
|
||||||
|
bind "Ctrl g" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
pane {
|
||||||
|
bind "left" { MoveFocus "left"; }
|
||||||
|
bind "down" { MoveFocus "down"; }
|
||||||
|
bind "up" { MoveFocus "up"; }
|
||||||
|
bind "right" { MoveFocus "right"; }
|
||||||
|
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
|
||||||
|
bind "d" { NewPane "down"; SwitchToMode "normal"; }
|
||||||
|
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
|
||||||
|
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||||
|
bind "h" { MoveFocus "left"; }
|
||||||
|
bind "j" { MoveFocus "down"; }
|
||||||
|
bind "k" { MoveFocus "up"; }
|
||||||
|
bind "l" { MoveFocus "right"; }
|
||||||
|
bind "n" { NewPane; SwitchToMode "normal"; }
|
||||||
|
bind "p" { SwitchFocus; }
|
||||||
|
bind "Ctrl p" { SwitchToMode "normal"; }
|
||||||
|
bind "r" { NewPane "right"; SwitchToMode "normal"; }
|
||||||
|
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
|
||||||
|
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
tab {
|
||||||
|
bind "left" { GoToPreviousTab; }
|
||||||
|
bind "down" { GoToNextTab; }
|
||||||
|
bind "up" { GoToPreviousTab; }
|
||||||
|
bind "right" { GoToNextTab; }
|
||||||
|
bind "1" { GoToTab 1; SwitchToMode "normal"; }
|
||||||
|
bind "2" { GoToTab 2; SwitchToMode "normal"; }
|
||||||
|
bind "3" { GoToTab 3; SwitchToMode "normal"; }
|
||||||
|
bind "4" { GoToTab 4; SwitchToMode "normal"; }
|
||||||
|
bind "5" { GoToTab 5; SwitchToMode "normal"; }
|
||||||
|
bind "6" { GoToTab 6; SwitchToMode "normal"; }
|
||||||
|
bind "7" { GoToTab 7; SwitchToMode "normal"; }
|
||||||
|
bind "8" { GoToTab 8; SwitchToMode "normal"; }
|
||||||
|
bind "9" { GoToTab 9; SwitchToMode "normal"; }
|
||||||
|
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
|
||||||
|
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
|
||||||
|
bind "b" { BreakPane; SwitchToMode "normal"; }
|
||||||
|
bind "h" { GoToPreviousTab; }
|
||||||
|
bind "j" { GoToNextTab; }
|
||||||
|
bind "k" { GoToPreviousTab; }
|
||||||
|
bind "l" { GoToNextTab; }
|
||||||
|
bind "n" { NewTab; SwitchToMode "normal"; }
|
||||||
|
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
|
||||||
|
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
|
||||||
|
bind "Ctrl t" { SwitchToMode "normal"; }
|
||||||
|
bind "x" { CloseTab; SwitchToMode "normal"; }
|
||||||
|
bind "tab" { ToggleTab; }
|
||||||
|
}
|
||||||
|
resize {
|
||||||
|
bind "left" { Resize "Increase left"; }
|
||||||
|
bind "down" { Resize "Increase down"; }
|
||||||
|
bind "up" { Resize "Increase up"; }
|
||||||
|
bind "right" { Resize "Increase right"; }
|
||||||
|
bind "+" { Resize "Increase"; }
|
||||||
|
bind "-" { Resize "Decrease"; }
|
||||||
|
bind "=" { Resize "Increase"; }
|
||||||
|
bind "H" { Resize "Decrease left"; }
|
||||||
|
bind "J" { Resize "Decrease down"; }
|
||||||
|
bind "K" { Resize "Decrease up"; }
|
||||||
|
bind "L" { Resize "Decrease right"; }
|
||||||
|
bind "h" { Resize "Increase left"; }
|
||||||
|
bind "j" { Resize "Increase down"; }
|
||||||
|
bind "k" { Resize "Increase up"; }
|
||||||
|
bind "l" { Resize "Increase right"; }
|
||||||
|
bind "Ctrl n" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
move {
|
||||||
|
bind "left" { MovePane "left"; }
|
||||||
|
bind "down" { MovePane "down"; }
|
||||||
|
bind "up" { MovePane "up"; }
|
||||||
|
bind "right" { MovePane "right"; }
|
||||||
|
bind "h" { MovePane "left"; }
|
||||||
|
bind "Ctrl h" { SwitchToMode "normal"; }
|
||||||
|
bind "j" { MovePane "down"; }
|
||||||
|
bind "k" { MovePane "up"; }
|
||||||
|
bind "l" { MovePane "right"; }
|
||||||
|
bind "n" { MovePane; }
|
||||||
|
bind "p" { MovePaneBackwards; }
|
||||||
|
bind "tab" { MovePane; }
|
||||||
|
}
|
||||||
|
scroll {
|
||||||
|
bind "Alt left" { MoveFocusOrTab "left"; SwitchToMode "normal"; }
|
||||||
|
bind "Alt down" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||||
|
bind "Alt up" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||||
|
bind "Alt right" { MoveFocusOrTab "right"; SwitchToMode "normal"; }
|
||||||
|
bind "e" { EditScrollback; SwitchToMode "normal"; }
|
||||||
|
bind "Alt h" { MoveFocusOrTab "left"; SwitchToMode "normal"; }
|
||||||
|
bind "Alt j" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||||
|
bind "Alt k" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||||
|
bind "Alt l" { MoveFocusOrTab "right"; SwitchToMode "normal"; }
|
||||||
|
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
|
||||||
|
}
|
||||||
|
search {
|
||||||
|
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||||
|
bind "n" { Search "down"; }
|
||||||
|
bind "o" { SearchToggleOption "WholeWord"; }
|
||||||
|
bind "p" { Search "up"; }
|
||||||
|
bind "w" { SearchToggleOption "Wrap"; }
|
||||||
|
}
|
||||||
|
session {
|
||||||
|
bind "c" {
|
||||||
|
LaunchOrFocusPlugin "configuration" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
bind "Ctrl o" { SwitchToMode "normal"; }
|
||||||
|
bind "p" {
|
||||||
|
LaunchOrFocusPlugin "plugin-manager" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
bind "w" {
|
||||||
|
LaunchOrFocusPlugin "session-manager" {
|
||||||
|
floating true
|
||||||
|
move_to_focused_tab true
|
||||||
|
}
|
||||||
|
SwitchToMode "normal"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
shared_except "locked" {
|
||||||
|
bind "Alt +" { Resize "Increase"; }
|
||||||
|
bind "Alt -" { Resize "Decrease"; }
|
||||||
|
bind "Alt =" { Resize "Increase"; }
|
||||||
|
bind "Alt [" { PreviousSwapLayout; }
|
||||||
|
bind "Alt ]" { NextSwapLayout; }
|
||||||
|
bind "Alt f" { ToggleFloatingPanes; }
|
||||||
|
bind "Ctrl g" { SwitchToMode "locked"; }
|
||||||
|
bind "Alt i" { MoveTab "left"; }
|
||||||
|
bind "Alt n" { NewPane; }
|
||||||
|
bind "Alt o" { MoveTab "right"; }
|
||||||
|
bind "Ctrl q" { Quit; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "move" {
|
||||||
|
bind "Ctrl h" { SwitchToMode "move"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "session" {
|
||||||
|
bind "Ctrl o" { SwitchToMode "session"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "scroll" {
|
||||||
|
bind "Alt left" { MoveFocusOrTab "left"; }
|
||||||
|
bind "Alt down" { MoveFocus "down"; }
|
||||||
|
bind "Alt up" { MoveFocus "up"; }
|
||||||
|
bind "Alt right" { MoveFocusOrTab "right"; }
|
||||||
|
bind "Alt h" { MoveFocusOrTab "left"; }
|
||||||
|
bind "Alt j" { MoveFocus "down"; }
|
||||||
|
bind "Alt k" { MoveFocus "up"; }
|
||||||
|
bind "Alt l" { MoveFocusOrTab "right"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "scroll" "search" "tmux" {
|
||||||
|
bind "Ctrl b" { SwitchToMode "tmux"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "tab" {
|
||||||
|
bind "Ctrl t" { SwitchToMode "tab"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "pane" {
|
||||||
|
bind "Ctrl p" { SwitchToMode "pane"; }
|
||||||
|
}
|
||||||
|
shared_except "locked" "resize" {
|
||||||
|
bind "Ctrl n" { SwitchToMode "resize"; }
|
||||||
|
}
|
||||||
|
shared_except "normal" "locked" "entersearch" {
|
||||||
|
bind "enter" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
|
||||||
|
bind "esc" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
shared_among "pane" "tmux" {
|
||||||
|
bind "x" { CloseFocus; SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
shared_among "scroll" "search" {
|
||||||
|
bind "PageDown" { PageScrollDown; }
|
||||||
|
bind "PageUp" { PageScrollUp; }
|
||||||
|
bind "left" { PageScrollUp; }
|
||||||
|
bind "down" { ScrollDown; }
|
||||||
|
bind "up" { ScrollUp; }
|
||||||
|
bind "right" { PageScrollDown; }
|
||||||
|
bind "Ctrl b" { PageScrollUp; }
|
||||||
|
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
|
||||||
|
bind "d" { HalfPageScrollDown; }
|
||||||
|
bind "Ctrl f" { PageScrollDown; }
|
||||||
|
bind "h" { PageScrollUp; }
|
||||||
|
bind "j" { ScrollDown; }
|
||||||
|
bind "k" { ScrollUp; }
|
||||||
|
bind "l" { PageScrollDown; }
|
||||||
|
bind "u" { HalfPageScrollUp; }
|
||||||
|
}
|
||||||
|
entersearch {
|
||||||
|
bind "Ctrl c" { SwitchToMode "scroll"; }
|
||||||
|
bind "esc" { SwitchToMode "scroll"; }
|
||||||
|
bind "enter" { SwitchToMode "search"; }
|
||||||
|
}
|
||||||
|
renametab {
|
||||||
|
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
|
||||||
|
}
|
||||||
|
shared_among "renametab" "renamepane" {
|
||||||
|
bind "Ctrl c" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
renamepane {
|
||||||
|
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
|
||||||
|
}
|
||||||
|
shared_among "session" "tmux" {
|
||||||
|
bind "d" { Detach; }
|
||||||
|
}
|
||||||
|
tmux {
|
||||||
|
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
|
||||||
|
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||||
|
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||||
|
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
|
||||||
|
bind "space" { NextSwapLayout; }
|
||||||
|
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
|
||||||
|
bind "%" { NewPane "right"; SwitchToMode "normal"; }
|
||||||
|
bind "," { SwitchToMode "renametab"; }
|
||||||
|
bind "[" { SwitchToMode "scroll"; }
|
||||||
|
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
|
||||||
|
bind "c" { NewTab; SwitchToMode "normal"; }
|
||||||
|
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
|
||||||
|
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||||
|
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||||
|
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
|
||||||
|
bind "n" { GoToNextTab; SwitchToMode "normal"; }
|
||||||
|
bind "o" { FocusNextPane; }
|
||||||
|
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
|
||||||
|
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
compact-bar location="zellij:compact-bar"
|
||||||
|
configuration location="zellij:configuration"
|
||||||
|
filepicker location="zellij:strider" {
|
||||||
|
cwd "/"
|
||||||
|
}
|
||||||
|
plugin-manager location="zellij:plugin-manager"
|
||||||
|
session-manager location="zellij:session-manager"
|
||||||
|
status-bar location="zellij:status-bar"
|
||||||
|
strider location="zellij:strider"
|
||||||
|
tab-bar location="zellij:tab-bar"
|
||||||
|
}
|
||||||
|
|
||||||
|
load_plugins {
|
||||||
|
}
|
||||||
|
|
||||||
|
theme "catppuccin-mocha"
|
||||||
|
show_startup_tips false
|
||||||
|
show_release_notes false
|
||||||
|
default_mode "normal"
|
95
flake.lock
generated
95
flake.lock
generated
@@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748044287,
|
"lastModified": 1749744770,
|
||||||
"narHash": "sha256-9bJzyUX5+HXYmI60WMGYXXDdhGbSh1Le6yBM4og3K7E=",
|
"narHash": "sha256-MEM9XXHgBF/Cyv1RES1t6gqAX7/tvayBC1r/KPyK1ls=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "2456ff5c95edfc3b197cb012b947012faed77591",
|
"rev": "536f951efb1ccda9b968e3c9dee39fbeb6d3fdeb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -24,11 +24,11 @@
|
|||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733328505,
|
"lastModified": 1747046372,
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -59,17 +59,16 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
|
||||||
"zig": "zig",
|
"zig": "zig",
|
||||||
"zon2nix": "zon2nix"
|
"zon2nix": "zon2nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748207486,
|
"lastModified": 1753816554,
|
||||||
"narHash": "sha256-4kR7VyauWpNMrBePHMM8yzQvUzHHGRVkQpJ3DyoKcH0=",
|
"narHash": "sha256-eyFfBXb5IJaNTGTdkjpWKSMTs8wiJ0i+9n5jUKtVFa4=",
|
||||||
"owner": "ghostty-org",
|
"owner": "ghostty-org",
|
||||||
"repo": "ghostty",
|
"repo": "ghostty",
|
||||||
"rev": "3f6c02b49e08aed51e4be85d87b79b9dbea34a85",
|
"rev": "c78d32074ebab14d2060e5cd3c7667cbe37ab8ee",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -85,11 +84,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747556831,
|
"lastModified": 1753592768,
|
||||||
"narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=",
|
"narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33",
|
"rev": "fc3add429f21450359369af74c2375cb34a2d204",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -117,11 +116,24 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747953325,
|
"lastModified": 1748189127,
|
||||||
"narHash": "sha256-y2ZtlIlNTuVJUZCqzZAhIw5rrKP4DOSklev6c8PyCkQ=",
|
"narHash": "sha256-zRDR+EbbeObu4V2X5QCd2Bk5eltfDlCr5yvhBwUT6pY=",
|
||||||
|
"rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.802491.7c43f080a7f2/nixexprs.tar.xz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://channels.nixos.org/nixos-25.05/nixexprs.tar.xz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1753749649,
|
||||||
|
"narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "55d1f923c480dadce40f5231feb472e81b0bab48",
|
"rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -131,45 +143,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1741992157,
|
|
||||||
"narHash": "sha256-nlIfTsTrMSksEJc1f7YexXiPVuzD1gOfeN1ggwZyUoc=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "da4b122f63095ca1199bd4d526f9e26426697689",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "release-24.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-unstable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1741865919,
|
|
||||||
"narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"darwin": "darwin",
|
"darwin": "darwin",
|
||||||
"ghostty": "ghostty",
|
"ghostty": "ghostty",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs_2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
@@ -190,7 +170,8 @@
|
|||||||
"zig": {
|
"zig": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [
|
"flake-compat": [
|
||||||
"ghostty"
|
"ghostty",
|
||||||
|
"flake-compat"
|
||||||
],
|
],
|
||||||
"flake-utils": [
|
"flake-utils": [
|
||||||
"ghostty",
|
"ghostty",
|
||||||
@@ -198,15 +179,15 @@
|
|||||||
],
|
],
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"ghostty",
|
"ghostty",
|
||||||
"nixpkgs-stable"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741825901,
|
"lastModified": 1748261582,
|
||||||
"narHash": "sha256-aeopo+aXg5I2IksOPFN79usw7AeimH1+tjfuMzJHFdk=",
|
"narHash": "sha256-3i0IL3s18hdDlbsf0/E+5kyPRkZwGPbSFngq5eToiAA=",
|
||||||
"owner": "mitchellh",
|
"owner": "mitchellh",
|
||||||
"repo": "zig-overlay",
|
"repo": "zig-overlay",
|
||||||
"rev": "0b14285e283f5a747f372fb2931835dd937c4383",
|
"rev": "aafb1b093fb838f7a02613b719e85ec912914221",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -223,7 +204,7 @@
|
|||||||
],
|
],
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"ghostty",
|
"ghostty",
|
||||||
"nixpkgs-unstable"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -236,8 +217,8 @@
|
|||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "jcollie",
|
"owner": "jcollie",
|
||||||
"ref": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
|
|
||||||
"repo": "zon2nix",
|
"repo": "zon2nix",
|
||||||
|
"rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
21
flake.nix
21
flake.nix
@@ -2,11 +2,16 @@
|
|||||||
description = "Wyatt's nix configuration suite";
|
description = "Wyatt's nix configuration suite";
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.6.0";
|
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.6.0";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.05";
|
url = "github:nix-community/home-manager/release-25.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
home-manager-unstable = {
|
||||||
|
url = "https://github.com/nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
|
};
|
||||||
darwin = {
|
darwin = {
|
||||||
url = "github:lnl7/nix-darwin/nix-darwin-25.05";
|
url = "github:lnl7/nix-darwin/nix-darwin-25.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -17,9 +22,11 @@
|
|||||||
outputs = inputs @ {
|
outputs = inputs @ {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
nixpkgs-unstable,
|
||||||
nix-flatpak,
|
nix-flatpak,
|
||||||
darwin,
|
darwin,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
home-manager-unstable,
|
||||||
ghostty,
|
ghostty,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
@@ -28,6 +35,10 @@
|
|||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit userName userEmail ghostty;
|
inherit userName userEmail ghostty;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
obsidianOverlay = final: prev: {
|
||||||
|
obsidian = nixpkgs-unstable.legacyPackages.${final.system}.obsidian;
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
meta = import ./meta;
|
meta = import ./meta;
|
||||||
|
|
||||||
@@ -47,7 +58,7 @@
|
|||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = extraSpecialArgs // { role = "devel"; };
|
home-manager.extraSpecialArgs = extraSpecialArgs;
|
||||||
home-manager.users.${userName} = import ./home;
|
home-manager.users.${userName} = import ./home;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@@ -66,11 +77,15 @@
|
|||||||
./modules/common
|
./modules/common
|
||||||
./modules/machine/cloud
|
./modules/machine/cloud
|
||||||
|
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = [ obsidianOverlay ];
|
||||||
|
}
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = extraSpecialArgs // { role = "devel"; };
|
home-manager.extraSpecialArgs = extraSpecialArgs;
|
||||||
home-manager.users.${userName}.imports = [
|
home-manager.users.${userName}.imports = [
|
||||||
./home
|
./home
|
||||||
];
|
];
|
||||||
@@ -94,7 +109,7 @@
|
|||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = extraSpecialArgs // { role = "server"; };
|
home-manager.extraSpecialArgs = extraSpecialArgs;
|
||||||
home-manager.users.${userName}.imports = [
|
home-manager.users.${userName}.imports = [
|
||||||
./home
|
./home
|
||||||
];
|
];
|
||||||
|
17
home/bat.nix
Normal file
17
home/bat.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
programs.bat = {
|
||||||
|
enable = true;
|
||||||
|
config.theme = "catppuccin";
|
||||||
|
|
||||||
|
themes.catppuccin = {
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "catppuccin";
|
||||||
|
repo = "bat";
|
||||||
|
rev = "ba4d16880d63e656acced2b7d4e034e4a93f74b1";
|
||||||
|
hash = "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
file = "/Catppuccin-mocha.tmTheme";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
role,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
@@ -10,7 +9,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs.chromium = {
|
programs.chromium = {
|
||||||
enable = pkgs.stdenv.isLinux && role == "devel";
|
enable = pkgs.stdenv.isLinux;
|
||||||
package = pkgs.ungoogled-chromium.override {
|
package = pkgs.ungoogled-chromium.override {
|
||||||
enableWideVine = true;
|
enableWideVine = true;
|
||||||
commandLineArgs = [
|
commandLineArgs = [
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
userName,
|
userName,
|
||||||
userEmail,
|
userEmail,
|
||||||
ghostty,
|
ghostty,
|
||||||
role,
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
# Have a file sturcture that holds all the configuration files that can't be configured by Nix
|
# Have a file sturcture that holds all the configuration files that can't be configured by Nix
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
# Import sub modules
|
# Import sub modules
|
||||||
imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty role;}) [
|
imports = map (module: import module {inherit config lib pkgs dirs userName userEmail ghostty;}) [
|
||||||
./atuin.nix
|
./atuin.nix
|
||||||
./shell.nix
|
./shell.nix
|
||||||
./packages
|
./packages
|
||||||
@@ -26,6 +26,9 @@ in {
|
|||||||
./sway.nix
|
./sway.nix
|
||||||
./terminal.nix
|
./terminal.nix
|
||||||
./browser.nix
|
./browser.nix
|
||||||
|
./zellij.nix
|
||||||
|
./bat.nix
|
||||||
|
./obsidian.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Home Manager needs a bit of information about you and the
|
# Home Manager needs a bit of information about you and the
|
||||||
@@ -40,6 +43,7 @@ in {
|
|||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
XDG_CURRENT_DESKTOP = "sway";
|
XDG_CURRENT_DESKTOP = "sway";
|
||||||
XDG_SESSION_TYPE = "wayland";
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
XDG_SESSION_DESKTOP="sway";
|
||||||
XDG_CONFIG_HOME = "$HOME/.config";
|
XDG_CONFIG_HOME = "$HOME/.config";
|
||||||
XDG_CACHE_HOME = "$HOME/.cache";
|
XDG_CACHE_HOME = "$HOME/.cache";
|
||||||
XDG_DATA_HOME = "$HOME/.local/share";
|
XDG_DATA_HOME = "$HOME/.local/share";
|
||||||
@@ -54,7 +58,7 @@ in {
|
|||||||
size = 22;
|
size = 22;
|
||||||
};
|
};
|
||||||
|
|
||||||
stateVersion = "24.11";
|
stateVersion = "25.05";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
|
53
home/obsidian.nix
Normal file
53
home/obsidian.nix
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
{ config, home-manager-unstable, pkgs, ...}: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
obsidian
|
||||||
|
obsidian-export
|
||||||
|
];
|
||||||
|
programs.obsidian = {
|
||||||
|
enable = true;
|
||||||
|
package =
|
||||||
|
vaults = {
|
||||||
|
"notes" = {
|
||||||
|
enable = true;
|
||||||
|
target = "${config.home.homeDirectory}/Documents/obsidian/notes";
|
||||||
|
};
|
||||||
|
"work-notes" = {
|
||||||
|
enable = true;
|
||||||
|
target = "${config.home.homeDirectory}/Documents/obsidian/work-notes";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# defaultSettings = {
|
||||||
|
# themes = [ "catppuccin" ];
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
home.activation.obsidianRepos = config.lib.dag.entryAfter ["writeBoundary"] ''
|
||||||
|
REPOS_DIR="${config.home.homeDirectory}/Documents/obsidian"
|
||||||
|
|
||||||
|
# Create the repos directory if it doesn't exist
|
||||||
|
mkdir -p "$REPOS_DIR"
|
||||||
|
|
||||||
|
# Function to clone or update a repository
|
||||||
|
clone_or_update() {
|
||||||
|
local repo_url="$1"
|
||||||
|
local vault_name="$2"
|
||||||
|
local vault_path="$REPOS_DIR/$vault_name"
|
||||||
|
|
||||||
|
if [ -d "$vault_path/.git" ]; then
|
||||||
|
echo "Updating existing vault: $vault_name"
|
||||||
|
cd "$vault_path"
|
||||||
|
${pkgs.git}/bin/git pull origin main || ${pkgs.git}/bin/git pull origin master || true
|
||||||
|
else
|
||||||
|
echo "Cloning new vault: $vault_name"
|
||||||
|
rm -rf "$vault_path" # Remove if exists but not a git repo
|
||||||
|
${pkgs.git}/bin/git clone "$repo_url" "$vault_path" || true
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Clone repositories
|
||||||
|
clone_or_update "https://scm.wyattjmiller.com/NoteFolio/notes.git" "notes"
|
||||||
|
clone_or_update "https://scm.wyattjmiller.com/NoteFolio/work-notes.git" "work-notes"
|
||||||
|
|
||||||
|
echo "Obsidian repository vaults setup complete in $REPOS_DIR"
|
||||||
|
'';
|
||||||
|
}
|
@@ -4,7 +4,7 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
nnn # terminal file manager
|
yazi # terminal file manager
|
||||||
|
|
||||||
# archives
|
# archives
|
||||||
zip
|
zip
|
||||||
@@ -13,9 +13,7 @@
|
|||||||
p7zip
|
p7zip
|
||||||
|
|
||||||
# utils
|
# utils
|
||||||
zellij
|
|
||||||
tmux
|
tmux
|
||||||
bat
|
|
||||||
lazygit
|
lazygit
|
||||||
bottom
|
bottom
|
||||||
ripgrep
|
ripgrep
|
||||||
@@ -25,7 +23,6 @@
|
|||||||
fh
|
fh
|
||||||
aria2
|
aria2
|
||||||
yt-dlp
|
yt-dlp
|
||||||
obsidian
|
|
||||||
vscode
|
vscode
|
||||||
weechat
|
weechat
|
||||||
inetutils
|
inetutils
|
||||||
|
@@ -11,6 +11,10 @@
|
|||||||
mcrcon
|
mcrcon
|
||||||
xfce.thunar
|
xfce.thunar
|
||||||
pavucontrol
|
pavucontrol
|
||||||
|
godot
|
||||||
|
aseprite
|
||||||
|
gpu-screen-recorder
|
||||||
|
gpu-screen-recorder-gtk
|
||||||
# ungoogled-chromium
|
# ungoogled-chromium
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
132
home/sway.nix
132
home/sway.nix
@@ -1,10 +1,8 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
role,
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
isDevel = pkgs.stdenv.isLinux && role == "devel";
|
|
||||||
dirs = {
|
dirs = {
|
||||||
defaults = ../defaults;
|
defaults = ../defaults;
|
||||||
};
|
};
|
||||||
@@ -18,7 +16,7 @@
|
|||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = isDevel;
|
enable = pkgs.stdenv.isLinux;
|
||||||
extraOptions = []; # Extra arguments to pass into sway. If sway goes haywire, we might need something in here
|
extraOptions = []; # Extra arguments to pass into sway. If sway goes haywire, we might need something in here
|
||||||
xwayland = true;
|
xwayland = true;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
@@ -31,26 +29,138 @@ in {
|
|||||||
xdg.configFile."sway/config".source = lib.mkForce (dirs.defaults + /sway/config);
|
xdg.configFile."sway/config".source = lib.mkForce (dirs.defaults + /sway/config);
|
||||||
xdg.configFile."waybar/config".source = lib.mkForce (dirs.defaults + /waybar/config);
|
xdg.configFile."waybar/config".source = lib.mkForce (dirs.defaults + /waybar/config);
|
||||||
xdg.configFile."waybar/style.css".source = lib.mkForce (dirs.defaults + /waybar/style.css);
|
xdg.configFile."waybar/style.css".source = lib.mkForce (dirs.defaults + /waybar/style.css);
|
||||||
programs.rofi.enable = isDevel;
|
|
||||||
services.mako.enable = isDevel;
|
programs.wofi = {
|
||||||
|
enable = pkgs.stdenv.isLinux;
|
||||||
|
settings = {
|
||||||
|
width=600;
|
||||||
|
height=350;
|
||||||
|
location="center";
|
||||||
|
show="drun";
|
||||||
|
prompt="Search...";
|
||||||
|
filter_rate=100;
|
||||||
|
allow_markup=true;
|
||||||
|
no_actions=true;
|
||||||
|
halign="fill";
|
||||||
|
orientation="vertical";
|
||||||
|
content_halign="fill";
|
||||||
|
insensitive=true;
|
||||||
|
allow_images=true;
|
||||||
|
image_size=40;
|
||||||
|
gtk_dark=true;
|
||||||
|
};
|
||||||
|
style = ''
|
||||||
|
@define-color selected-text #8caaee;
|
||||||
|
@define-color text #c6d0f5;
|
||||||
|
@define-color base #24273a;
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: 'Monaspace Krypton 9', monospace;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 20px;
|
||||||
|
background-color: @base;
|
||||||
|
opacity: 0.95;
|
||||||
|
}
|
||||||
|
|
||||||
|
#inner-box {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#outer-box {
|
||||||
|
margin: 0;
|
||||||
|
padding: 20px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
margin: 0;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input:focus {
|
||||||
|
outline: none;
|
||||||
|
box-shadow: none;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected {
|
||||||
|
outline: none;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected #text {
|
||||||
|
color: @selected-text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry image {
|
||||||
|
-gtk-icon-transform: scale(0.7);
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
programs.swaylock.enable = pkgs.stdenv.isLinux;
|
||||||
|
|
||||||
|
services.mako = {
|
||||||
|
enable = pkgs.stdenv.isLinux;
|
||||||
|
settings = {
|
||||||
|
text-color="#cad3f5";
|
||||||
|
border-color="#c6d0f5";
|
||||||
|
background-color="#24273a";
|
||||||
|
width=420;
|
||||||
|
height=110;
|
||||||
|
padding=10;
|
||||||
|
border-size=2;
|
||||||
|
font="Monaspace Krypton 9";
|
||||||
|
anchor="top-right";
|
||||||
|
default-timeout=5000;
|
||||||
|
max-icon-size=32;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = isDevel;
|
enable = pkgs.stdenv.isLinux;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
|
|
||||||
package = pkgs.waybar.overrideAttrs (old: {
|
package = pkgs.waybar.overrideAttrs (old: {
|
||||||
version = "0.11.0";
|
version = "0.13.0";
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "Alexays";
|
owner = "Alexays";
|
||||||
repo = "Waybar";
|
repo = "Waybar";
|
||||||
rev = "d56dd6ee7fdf8c5ba4e90790af62b7f7829d3a47";
|
rev = "0fcda9afa519eb84deda68c051f7938a6c6bdbce";
|
||||||
sha256 = "sha256-3lc0voMU5RS+mEtxKuRayq/uJO09X7byq6Rm5NZohq8=";
|
sha256 = "sha256-Puo/Y4qotb6uEEe9vbu/hyFXwLntr48R2C6mrmDKs0c=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = old.buildInputs ++ [ pkgs.fftw pkgs.libcava ];
|
buildInputs = old.buildInputs ++ [ pkgs.fftw ];
|
||||||
# mesonFlags = (old.mesonFlags or []) ++ [ "-Dcava=disabled" ];
|
mesonFlags = (old.mesonFlags or []) ++ [ "-Dcava=disabled" ];
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
14
home/zellij.nix
Normal file
14
home/zellij.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
dirs = {
|
||||||
|
defaults = ../defaults;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
programs.zellij = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."zellij/config.kdl".source = lib.mkForce (dirs.defaults + /zellij/config.kdl);
|
||||||
|
}
|
@@ -5,6 +5,7 @@
|
|||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./core.nix
|
./core.nix
|
||||||
|
./environment.nix
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
./users.nix
|
./users.nix
|
||||||
];
|
];
|
||||||
|
20
modules/common/environment.nix
Normal file
20
modules/common/environment.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{ lib, pkgs, ... }: {
|
||||||
|
# Common packages that every system will use
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
git
|
||||||
|
vim
|
||||||
|
neovim
|
||||||
|
usbutils
|
||||||
|
coreutils
|
||||||
|
lshw
|
||||||
|
systemd
|
||||||
|
dmidecode
|
||||||
|
pciutils
|
||||||
|
nix-ld
|
||||||
|
patchelf
|
||||||
|
htop
|
||||||
|
];
|
||||||
|
|
||||||
|
# Common environment variables that every system will use
|
||||||
|
environment.variables.EDITOR = "nvim";
|
||||||
|
}
|
@@ -5,10 +5,6 @@
|
|||||||
hostname,
|
hostname,
|
||||||
...
|
...
|
||||||
} @ args: {
|
} @ args: {
|
||||||
imports = [
|
|
||||||
../security/sudo.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
networking.hostName = hostname;
|
networking.hostName = hostname;
|
||||||
|
|
||||||
# Don't forget to set a password with ‘passwd’!
|
# Don't forget to set a password with ‘passwd’!
|
||||||
@@ -27,7 +23,19 @@
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
security.sudo.needsPassword = false;
|
security.sudo = {
|
||||||
|
extraRules = [
|
||||||
|
{
|
||||||
|
groups = [ "wheel" ];
|
||||||
|
commands = [
|
||||||
|
{
|
||||||
|
command = "ALL";
|
||||||
|
options = [ "NOPASSWD" "SETENV" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
users.groups.wyatt = {};
|
users.groups.wyatt = {};
|
||||||
|
|
||||||
|
@@ -11,7 +11,6 @@
|
|||||||
"info.beyondallreason.bar"
|
"info.beyondallreason.bar"
|
||||||
"io.dbeaver.DBeaverCommunity"
|
"io.dbeaver.DBeaverCommunity"
|
||||||
"io.openrct2.OpenRCT2"
|
"io.openrct2.OpenRCT2"
|
||||||
"md.obsidian.Obsidian"
|
|
||||||
"org.prismlauncher.PrismLauncher"
|
"org.prismlauncher.PrismLauncher"
|
||||||
"sh.cider.Cider"
|
"sh.cider.Cider"
|
||||||
];
|
];
|
||||||
@@ -46,25 +45,23 @@ in {
|
|||||||
|
|
||||||
# Install packages to be installed system-wide
|
# Install packages to be installed system-wide
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim
|
|
||||||
neovim
|
|
||||||
git
|
|
||||||
wireguard-tools
|
wireguard-tools
|
||||||
grim
|
grim
|
||||||
slurp
|
slurp
|
||||||
playerctl
|
playerctl
|
||||||
light
|
light
|
||||||
brightnessctl
|
brightnessctl
|
||||||
firefox
|
|
||||||
wttrbar
|
wttrbar
|
||||||
cliphist
|
cliphist
|
||||||
patchelf
|
xdg-desktop-portal-gtk
|
||||||
nix-ld
|
xdg-utils
|
||||||
|
flatpak-xdg-utils
|
||||||
|
desktop-file-utils
|
||||||
|
shared-mime-info
|
||||||
|
wl-clipboard
|
||||||
|
wl-clip-persist
|
||||||
];
|
];
|
||||||
|
|
||||||
# Set the EDITOR global environment variable to neovim
|
|
||||||
environment.variables.EDITOR = "nvim";
|
|
||||||
|
|
||||||
# Enable OpenSSH
|
# Enable OpenSSH
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
@@ -160,15 +157,16 @@ in {
|
|||||||
xdg = {
|
xdg = {
|
||||||
portal = {
|
portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wlr.enable = true;
|
|
||||||
config = {
|
config = {
|
||||||
|
sway = {
|
||||||
|
default = [ "wlr" "gtk" ];
|
||||||
|
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
|
||||||
|
};
|
||||||
common = {
|
common = {
|
||||||
default = [
|
default = [ "gtk" ];
|
||||||
"wlr"
|
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xdgOpenUsePortal = true;
|
|
||||||
extraPortals = with pkgs; [
|
extraPortals = with pkgs; [
|
||||||
xdg-desktop-portal-wlr
|
xdg-desktop-portal-wlr
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
|
@@ -6,4 +6,4 @@ Licensed by the Mozilla Public License v2
|
|||||||
|
|
||||||
## Synopsis
|
## Synopsis
|
||||||
|
|
||||||
This directory is currently empty so, currently, there's nothing to see! However, this is where the machine-specific configuration files for hostname `valefor` live, my apartment appliance server. These files get called by the root `flake.nix` file.
|
This is where the machine-specific configuration files for hostname `valefor` live, my apartment appliance server. These files get called by the root `flake.nix` file.
|
@@ -27,18 +27,6 @@
|
|||||||
# Set your timezone
|
# Set your timezone
|
||||||
time.timeZone = "America/Detroit";
|
time.timeZone = "America/Detroit";
|
||||||
|
|
||||||
# Install packages to be installed system-wide
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
vim
|
|
||||||
neovim
|
|
||||||
git
|
|
||||||
patchelf
|
|
||||||
nix-ld
|
|
||||||
];
|
|
||||||
|
|
||||||
# Set the EDITOR global environment variable to neovim
|
|
||||||
environment.variables.EDITOR = "nvim";
|
|
||||||
|
|
||||||
# Enable OpenSSH
|
# Enable OpenSSH
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
@@ -87,12 +75,7 @@
|
|||||||
|
|
||||||
# Core networking module (see ../../networking/core.nix)
|
# Core networking module (see ../../networking/core.nix)
|
||||||
network = {
|
network = {
|
||||||
firewall = {
|
firewall.enable = true;
|
||||||
enable = true;
|
|
||||||
tcpPorts = {
|
|
||||||
allowedPorts = [8123];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
networkManager.enable = true;
|
networkManager.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -102,37 +85,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Add username to groups "wheel" and "video" - more may be added here later
|
# Add username to groups "wheel" and "video" - more may be added here later
|
||||||
users.users.${userName} = {
|
users.users.${userName}.extraGroups = ["wheel" "podman" "network"];
|
||||||
extraGroups = ["wheel" "podman" "network"];
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFV9eSc9L+aJLoKoexq2f/jb5rpyZnhuGiyhS8YQAbaS wyatt@wyattjmiller.com"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.root.openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFV9eSc9L+aJLoKoexq2f/jb5rpyZnhuGiyhS8YQAbaS wyatt@wyattjmiller.com"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Add Home Assistant service
|
|
||||||
services.home-assistant = {
|
|
||||||
enable = true;
|
|
||||||
extraComponents = [
|
|
||||||
"esphome"
|
|
||||||
"met"
|
|
||||||
"radio_browser"
|
|
||||||
"homeassistant_hardware"
|
|
||||||
"zha"
|
|
||||||
"group"
|
|
||||||
"mikrotik"
|
|
||||||
];
|
|
||||||
config = {
|
|
||||||
# Includes dependencies for a basic setup
|
|
||||||
# https://www.home-assistant.io/integrations/default_config/
|
|
||||||
default_config = {};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
security.sudo.wheelNeedsPassword = false;
|
|
||||||
|
|
||||||
system.stateVersion = "24.11";
|
system.stateVersion = "24.11";
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user