Compare commits
	
		
			1 Commits
		
	
	
		
			nix-overri
			...
			reshade-ad
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 9ce216da8f | 
| @@ -10,12 +10,13 @@ set $right l | ||||
| set $term alacritty | ||||
|  | ||||
| # Menu (rofi) | ||||
| set $menu wofi --term '$term' | ||||
| set $rofi_cmd rofi -terminal '$term' | ||||
| set $menu $rofi_cmd -show combi -combi-modes drun#run -modes combi | ||||
|  | ||||
| ### Output configuration | ||||
| output DP-3 pos 1920 0 res 1920x1080@60Hz | ||||
| output HDMI-A-1 pos 0 0 res 1920x1080@60Hz | ||||
| output DP-2 pos 3840 0 res 1920x1080@60Hz | ||||
| output DP-3 pos 3840 0 res 1920x1080@59Hz | ||||
| output HDMI-A-1 pos 0 0 res 1920x1080@59Hz | ||||
| output DP-2 pos 1920 0 res 1920x1080@60Hz | ||||
|  | ||||
| ### Wallpaper | ||||
| output HDMI-A-1 bg ~/.wallpaper/.wallpaper.png fill | ||||
| @@ -25,22 +26,18 @@ output DP-3 bg ~/.wallpaper/.wallpaper.png fill | ||||
| ### Workspace binding | ||||
|  | ||||
| ## DP-3 bindings | ||||
| workspace 1 output DP-3 | ||||
| workspace 2 output DP-3 | ||||
| workspace 4 output DP-3 | ||||
| workspace 5 output DP-3 | ||||
| workspace 1 output DP-2 | ||||
| workspace 2 output DP-2 | ||||
|  | ||||
| ## HDMI-A-1 bindings | ||||
| workspace 3 output HDMI-A-1  | ||||
| workspace 9 output HDMI-A-1 | ||||
|  | ||||
| ## DP-2 bindings | ||||
| workspace 6 output DP-2 | ||||
| workspace 7 output DP-2 | ||||
| workspace 8 output DP-2 | ||||
| workspace 6 output DP-3 | ||||
| workspace 7 output DP-3 | ||||
|  | ||||
| ### Colour options | ||||
| set $bg 	       #24283b | ||||
| set $bg 	#24283b | ||||
| set $bg-inactive   #323232 | ||||
| set $bg-urgent     #000000 | ||||
| set $text          #eeeeec | ||||
| @@ -90,9 +87,8 @@ floating_modifier $mod normal | ||||
|     # Reload the configuration file | ||||
|     bindsym $mod+Shift+c reload | ||||
|  | ||||
|     # Shutdown and reboot hotkeys | ||||
|     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' | ||||
|     # Exit sway (logs you out of your Wayland session) | ||||
|     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' | ||||
|  | ||||
| ### Navigation | ||||
|     # Move your focus around | ||||
| @@ -186,10 +182,9 @@ mode "resize" { | ||||
|     bindsym Return mode "default" | ||||
|     bindsym Escape mode "default" | ||||
| } | ||||
|  | ||||
| ### resize | ||||
| bindsym $mod+r mode "resize" | ||||
|  | ||||
|  | ||||
| ### Audio and brightness keybinds | ||||
| bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% | ||||
| bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% | ||||
| @@ -201,14 +196,16 @@ bindsym XF86AudioPrev exec playerctl previous | ||||
| bindsym XF86MonBrightnessUp exec light -A 5 | ||||
| bindsym XF86MonBrightnessDown exec light -U 5 | ||||
|  | ||||
| ### Lock the screen | ||||
| bindsym $mod+Ctrl+q 'swaylock -f -i /home/wyatt/.wallpaper/.wallpaper_lock.png' | ||||
| ### Lock the screen so my brother  | ||||
| ### won't dick with my computer | ||||
| bindsym $mod+Ctrl+l 'swaylock -f -i /home/wyatt/.wallpaper_lock.jpeg' | ||||
|  | ||||
| ### Status Bar: | ||||
| bar { | ||||
|     swaybar_command waybar | ||||
| } | ||||
|  | ||||
|  | ||||
| ### Font settings: | ||||
| font pango:FiraCode: 14px | ||||
|  | ||||
|   | ||||
| @@ -1,254 +0,0 @@ | ||||
| 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" | ||||
							
								
								
									
										203
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										203
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @@ -7,11 +7,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1759509947, | ||||
|         "narHash": "sha256-4XifSIHfpJKcCf5bZZRhj8C4aCpjNBaE3kXr02s4rHU=", | ||||
|         "lastModified": 1748044287, | ||||
|         "narHash": "sha256-9bJzyUX5+HXYmI60WMGYXXDdhGbSh1Le6yBM4og3K7E=", | ||||
|         "owner": "lnl7", | ||||
|         "repo": "nix-darwin", | ||||
|         "rev": "000eadb231812ad6ea6aebd7526974aaf4e79355", | ||||
|         "rev": "2456ff5c95edfc3b197cb012b947012faed77591", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -24,11 +24,11 @@ | ||||
|     "flake-compat": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1747046372, | ||||
|         "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", | ||||
|         "lastModified": 1733328505, | ||||
|         "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", | ||||
|         "owner": "edolstra", | ||||
|         "repo": "flake-compat", | ||||
|         "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", | ||||
|         "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -59,16 +59,17 @@ | ||||
|       "inputs": { | ||||
|         "flake-compat": "flake-compat", | ||||
|         "flake-utils": "flake-utils", | ||||
|         "nixpkgs": "nixpkgs", | ||||
|         "nixpkgs-stable": "nixpkgs-stable", | ||||
|         "nixpkgs-unstable": "nixpkgs-unstable", | ||||
|         "zig": "zig", | ||||
|         "zon2nix": "zon2nix" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1761172581, | ||||
|         "narHash": "sha256-uX8FzMlRt15kvs4pPuOHZeQe1wztQXTEWOVtB2EwmB0=", | ||||
|         "lastModified": 1748207486, | ||||
|         "narHash": "sha256-4kR7VyauWpNMrBePHMM8yzQvUzHHGRVkQpJ3DyoKcH0=", | ||||
|         "owner": "ghostty-org", | ||||
|         "repo": "ghostty", | ||||
|         "rev": "bdbda2fd8380b440508246bcda0bf1198f6666e4", | ||||
|         "rev": "3f6c02b49e08aed51e4be85d87b79b9dbea34a85", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -84,11 +85,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1758463745, | ||||
|         "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=", | ||||
|         "lastModified": 1747556831, | ||||
|         "narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", | ||||
|         "rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -114,39 +115,80 @@ | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs": { | ||||
|     "nix-reshade": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": "nixpkgs", | ||||
|         "treefmt-nix": "treefmt-nix" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 315532800, | ||||
|         "narHash": "sha256-sV6pJNzFkiPc6j9Bi9JuHBnWdVhtKB/mHgVmMPvDFlk=", | ||||
|         "rev": "82c2e0d6dde50b17ae366d2aa36f224dc19af469", | ||||
|         "type": "tarball", | ||||
|         "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre877938.82c2e0d6dde5/nixexprs.tar.xz" | ||||
|         "lastModified": 1749858810, | ||||
|         "narHash": "sha256-xg/MnKlnI6G/mLrh2apPuXUq8wjYSBbt8RtilM5cutI=", | ||||
|         "owner": "LovingMelody", | ||||
|         "repo": "nix-reshade", | ||||
|         "rev": "e1a7e702b052e4a98a9f15796f048270b2aca679", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "type": "tarball", | ||||
|         "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" | ||||
|         "owner": "LovingMelody", | ||||
|         "repo": "nix-reshade", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1749285348, | ||||
|         "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "ref": "nixos-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "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" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1758360447, | ||||
|         "narHash": "sha256-XDY3A83bclygHDtesRoaRTafUd80Q30D/Daf9KSG6bs=", | ||||
|         "rev": "8eaee110344796db060382e15d3af0a9fc396e0e", | ||||
|         "type": "tarball", | ||||
|         "url": "https://releases.nixos.org/nixos/unstable/nixos-25.11pre864002.8eaee1103447/nixexprs.tar.xz" | ||||
|       }, | ||||
|       "original": { | ||||
|         "type": "tarball", | ||||
|         "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_3": { | ||||
|       "locked": { | ||||
|         "lastModified": 1761016216, | ||||
|         "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", | ||||
|         "lastModified": 1747953325, | ||||
|         "narHash": "sha256-y2ZtlIlNTuVJUZCqzZAhIw5rrKP4DOSklev6c8PyCkQ=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", | ||||
|         "rev": "55d1f923c480dadce40f5231feb472e81b0bab48", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -156,48 +198,14 @@ | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_4": { | ||||
|       "locked": { | ||||
|         "lastModified": 1744536153, | ||||
|         "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "ref": "nixpkgs-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "root": { | ||||
|       "inputs": { | ||||
|         "darwin": "darwin", | ||||
|         "ghostty": "ghostty", | ||||
|         "home-manager": "home-manager", | ||||
|         "nix-flatpak": "nix-flatpak", | ||||
|         "nixpkgs": "nixpkgs_3", | ||||
|         "rust-overlay": "rust-overlay" | ||||
|       } | ||||
|     }, | ||||
|     "rust-overlay": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": "nixpkgs_4" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1761100675, | ||||
|         "narHash": "sha256-LX3TCDBeNpCWTDXtGyRASVcLmRPChSli34bgHnZ1DCw=", | ||||
|         "owner": "oxalica", | ||||
|         "repo": "rust-overlay", | ||||
|         "rev": "72161c6c53f6e3f8dadaf54b2204a5094c6a16ae", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "oxalica", | ||||
|         "repo": "rust-overlay", | ||||
|         "type": "github" | ||||
|         "nix-reshade": "nix-reshade", | ||||
|         "nixpkgs": "nixpkgs_2" | ||||
|       } | ||||
|     }, | ||||
|     "systems": { | ||||
| @@ -215,11 +223,31 @@ | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "treefmt-nix": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nix-reshade", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1749194973, | ||||
|         "narHash": "sha256-eEy8cuS0mZ2j/r/FE0/LYBSBcIs/MKOIVakwHVuqTfk=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "treefmt-nix", | ||||
|         "rev": "a05be418a1af1198ca0f63facb13c985db4cb3c5", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "treefmt-nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "zig": { | ||||
|       "inputs": { | ||||
|         "flake-compat": [ | ||||
|           "ghostty", | ||||
|           "flake-compat" | ||||
|           "ghostty" | ||||
|         ], | ||||
|         "flake-utils": [ | ||||
|           "ghostty", | ||||
| @@ -227,15 +255,15 @@ | ||||
|         ], | ||||
|         "nixpkgs": [ | ||||
|           "ghostty", | ||||
|           "nixpkgs" | ||||
|           "nixpkgs-stable" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1760401936, | ||||
|         "narHash": "sha256-/zj5GYO5PKhBWGzbHbqT+ehY8EghuABdQ2WGfCwZpCQ=", | ||||
|         "lastModified": 1741825901, | ||||
|         "narHash": "sha256-aeopo+aXg5I2IksOPFN79usw7AeimH1+tjfuMzJHFdk=", | ||||
|         "owner": "mitchellh", | ||||
|         "repo": "zig-overlay", | ||||
|         "rev": "365085b6652259753b598d43b723858184980bbe", | ||||
|         "rev": "0b14285e283f5a747f372fb2931835dd937c4383", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -246,20 +274,27 @@ | ||||
|     }, | ||||
|     "zon2nix": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": "nixpkgs_2" | ||||
|         "flake-utils": [ | ||||
|           "ghostty", | ||||
|           "flake-utils" | ||||
|         ], | ||||
|         "nixpkgs": [ | ||||
|           "ghostty", | ||||
|           "nixpkgs-unstable" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1758405547, | ||||
|         "narHash": "sha256-WgaDgvIZMPvlZcZrpPMjkaalTBnGF2lTG+62znXctWM=", | ||||
|         "lastModified": 1742104771, | ||||
|         "narHash": "sha256-LhidlyEA9MP8jGe1rEnyjGFCzLLgCdDpYeWggibayr0=", | ||||
|         "owner": "jcollie", | ||||
|         "repo": "zon2nix", | ||||
|         "rev": "bf983aa90ff169372b9fa8c02e57ea75e0b42245", | ||||
|         "rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "jcollie", | ||||
|         "ref": "56c159be489cc6c0e73c3930bd908ddc6fe89613", | ||||
|         "repo": "zon2nix", | ||||
|         "rev": "bf983aa90ff169372b9fa8c02e57ea75e0b42245", | ||||
|         "type": "github" | ||||
|       } | ||||
|     } | ||||
|   | ||||
							
								
								
									
										22
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								flake.nix
									
									
									
									
									
								
							| @@ -12,7 +12,7 @@ | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|     ghostty.url = "github:ghostty-org/ghostty"; | ||||
|     rust-overlay.url = "github:oxalica/rust-overlay"; | ||||
|     nix-reshade.url = "github:LovingMelody/nix-reshade"; | ||||
|   }; | ||||
|  | ||||
|   outputs = inputs @ { | ||||
| @@ -22,7 +22,6 @@ | ||||
|     darwin, | ||||
|     home-manager, | ||||
|     ghostty, | ||||
|     rust-overlay, | ||||
|     ... | ||||
|   }: let | ||||
|     userName = "wyatt"; | ||||
| @@ -30,20 +29,9 @@ | ||||
|     extraSpecialArgs = { | ||||
|       inherit userName userEmail ghostty; | ||||
|     }; | ||||
|  | ||||
|     myOverlays = { ... }: { | ||||
|       nixpkgs.overlays = [ | ||||
|         rust-overlay.overlays.default | ||||
|         self.common.overlays | ||||
|       ]; | ||||
|     }; | ||||
|   in { | ||||
|     meta = import ./meta; | ||||
|  | ||||
|     common = { | ||||
|       overlays = import ./modules/common/overlays.nix; | ||||
|     }; | ||||
|  | ||||
|     # Primary laptop - MacBook Pro (2023, M3) | ||||
|     darwinConfigurations."sephiroth" = darwin.lib.darwinSystem { | ||||
|       system = "aarch64-darwin"; | ||||
| @@ -53,7 +41,6 @@ | ||||
|         role = "devel"; | ||||
|       }; | ||||
|       modules = [ | ||||
|         myOverlays | ||||
|         ./modules/common | ||||
|         ./modules/machine/sephiroth | ||||
|  | ||||
| @@ -62,7 +49,6 @@ | ||||
|           home-manager.useGlobalPkgs = true; | ||||
|           home-manager.useUserPackages = true; | ||||
|           home-manager.extraSpecialArgs = extraSpecialArgs; | ||||
|           home-manager.backupFileExtension = "bak"; | ||||
|           home-manager.users.${userName} = import ./home; | ||||
|         } | ||||
|       ]; | ||||
| @@ -77,7 +63,6 @@ | ||||
|         role = "devel"; | ||||
|       }; | ||||
|       modules = [ | ||||
|         myOverlays | ||||
|         nix-flatpak.nixosModules.nix-flatpak | ||||
|         ./modules/common | ||||
|         ./modules/machine/cloud | ||||
| @@ -87,7 +72,6 @@ | ||||
|           home-manager.useGlobalPkgs = true; | ||||
|           home-manager.useUserPackages = true; | ||||
|           home-manager.extraSpecialArgs = extraSpecialArgs; | ||||
|           home-manager.backupFileExtension = "bak"; | ||||
|           home-manager.users.${userName}.imports = [ | ||||
|             ./home | ||||
|           ]; | ||||
| @@ -104,7 +88,6 @@ | ||||
|         role = "server"; | ||||
|       }; | ||||
|       modules = [ | ||||
|         myOverlays | ||||
|         ./modules/common | ||||
|         ./modules/machine/valefor | ||||
|  | ||||
| @@ -113,7 +96,6 @@ | ||||
|           home-manager.useGlobalPkgs = true; | ||||
|           home-manager.useUserPackages = true; | ||||
|           home-manager.extraSpecialArgs = extraSpecialArgs; | ||||
|           home-manager.backupFileExtension = "bak"; | ||||
|           home-manager.users.${userName}.imports = [ | ||||
|             ./home | ||||
|           ]; | ||||
| @@ -130,7 +112,6 @@ | ||||
|         role = "server"; | ||||
|       }; | ||||
|       # modules = [ | ||||
|       #   myOverlays | ||||
|       #   nix-flatpak.nixosModules.nix-flatpak | ||||
|       #   nix-ld.nixosModules.nix-ld | ||||
|       #   ./modules/nixos/hardware-configuration.nix | ||||
| @@ -143,7 +124,6 @@ | ||||
|       #     home-manager.useGlobalPkgs = true; | ||||
|       #     home-manager.useUserPackages = true; | ||||
|       #     home-manager.extraSpecialArgs = extraSpecialArgs; | ||||
|       #     home-manager.backupFileExtension = "bak"; | ||||
|       #     home-manager.users.${userName}.imports = [ | ||||
|       #       ./home | ||||
|       #     ]; | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| { pkgs, ...}: { | ||||
| {...}: { | ||||
|   programs.atuin = { | ||||
|     enable = true; | ||||
|     enableFishIntegration = true; | ||||
|     package = pkgs.atuinLatest; | ||||
|   }; | ||||
| } | ||||
|   | ||||
							
								
								
									
										17
									
								
								home/bat.nix
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								home/bat.nix
									
									
									
									
									
								
							| @@ -1,17 +0,0 @@ | ||||
| { 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"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| @@ -25,9 +25,6 @@ in { | ||||
|     ./sway.nix | ||||
|     ./terminal.nix | ||||
|     ./browser.nix | ||||
|     ./zellij.nix | ||||
|     ./bat.nix | ||||
|     ./lazygit.nix | ||||
|   ]; | ||||
|  | ||||
|   # Home Manager needs a bit of information about you and the | ||||
| @@ -42,7 +39,6 @@ in { | ||||
|     sessionVariables = { | ||||
|       XDG_CURRENT_DESKTOP = "sway"; | ||||
|       XDG_SESSION_TYPE = "wayland"; | ||||
|       XDG_SESSION_DESKTOP="sway"; | ||||
|       XDG_CONFIG_HOME = "$HOME/.config"; | ||||
|       XDG_CACHE_HOME = "$HOME/.cache"; | ||||
|       XDG_DATA_HOME = "$HOME/.local/share"; | ||||
|   | ||||
| @@ -15,7 +15,7 @@ | ||||
|     extraConfig = { | ||||
|       init.defaultBranch = "master"; | ||||
|       push.autoSetupRemote = true; | ||||
|       pull.rebase = false; | ||||
|       pull.merge = true; | ||||
|       merge.tool = "nvimdiff"; | ||||
|       mergetool.keepBackup = false; | ||||
|     }; | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| { pkgs, ... }: { | ||||
| {...}: { | ||||
|   programs.lazygit = { | ||||
|     enable = true; | ||||
|     package = pkgs.lazygitLatest; | ||||
|  | ||||
|     settings = { | ||||
|       gui.theme = { | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: { | ||||
|   home.packages = with pkgs; [ | ||||
|     yazi # terminal file manager | ||||
|     nnn # terminal file manager | ||||
|  | ||||
|     # archives | ||||
|     zip | ||||
| @@ -12,7 +13,10 @@ | ||||
|     p7zip | ||||
|  | ||||
|     # utils | ||||
|     zellij | ||||
|     tmux | ||||
|     bat | ||||
|     lazygit | ||||
|     bottom | ||||
|     ripgrep | ||||
|     jq | ||||
|   | ||||
| @@ -11,10 +11,6 @@ | ||||
|     mcrcon | ||||
|     xfce.thunar | ||||
|     pavucontrol | ||||
|     godot | ||||
|     aseprite | ||||
|     gpu-screen-recorder | ||||
|     gpu-screen-recorder-gtk | ||||
|     # ungoogled-chromium | ||||
|   ]); | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| {pkgs, lib, ...}: { | ||||
| {pkgs, ...}: { | ||||
|   programs.fish = { | ||||
|     enable = true; | ||||
|     # initExtra = '' | ||||
| @@ -52,27 +52,6 @@ | ||||
|         ''; | ||||
|         onEvent = "fish_greeting"; | ||||
|       }; | ||||
|     } // lib.optionalAttrs pkgs.stdenv.isLinux { | ||||
|       block = { | ||||
|         body = '' | ||||
|           systemd-inhibit --what=sleep --who="$USER" --why="manual invocation" --mode=block sleep infinity & | ||||
|           set -g INHIBIT_PID $last_pid | ||||
|           echo "Sleep inhibited. PID: $INHIBIT_PID" | ||||
|         ''; | ||||
|       }; | ||||
|  | ||||
|       unblock = { | ||||
|         body = '' | ||||
|           if set -q INHIBIT_PID | ||||
|             kill $INHIBIT_PID 2>/dev/null | ||||
|             and echo "Sleep inhibitor removed. PID: $INHIBIT_PID" | ||||
|             or echo "Failed to kill process or already terminated." | ||||
|             set -e INHIBIT_PID | ||||
|           else | ||||
|             echo "No active sleep inhibitor found." | ||||
|           end | ||||
|         ''; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
|  | ||||
|   | ||||
							
								
								
									
										131
									
								
								home/sway.nix
									
									
									
									
									
								
							
							
						
						
									
										131
									
								
								home/sway.nix
									
									
									
									
									
								
							| @@ -29,123 +29,26 @@ in { | ||||
|   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/style.css".source = lib.mkForce (dirs.defaults + /waybar/style.css); | ||||
|  | ||||
|   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.rofi.enable = pkgs.stdenv.isLinux; | ||||
|   services.mako.enable = pkgs.stdenv.isLinux; | ||||
|  | ||||
|   programs.waybar = { | ||||
|     enable = pkgs.stdenv.isLinux; | ||||
|     systemd.enable = true; | ||||
|  | ||||
|     package = pkgs.waybar.overrideAttrs (old: { | ||||
|       version = "0.11.0"; | ||||
|  | ||||
|       src = pkgs.fetchFromGitHub { | ||||
|         owner = "Alexays"; | ||||
|         repo = "Waybar"; | ||||
|         rev = "d56dd6ee7fdf8c5ba4e90790af62b7f7829d3a47"; | ||||
|         sha256 = "sha256-3lc0voMU5RS+mEtxKuRayq/uJO09X7byq6Rm5NZohq8="; | ||||
|         fetchSubmodules = true; | ||||
|       }; | ||||
|  | ||||
|       buildInputs = old.buildInputs ++ [ pkgs.fftw pkgs.libcava ]; | ||||
|       # mesonFlags = (old.mesonFlags or []) ++ [ "-Dcava=disabled" ]; | ||||
|     }); | ||||
|   }; | ||||
| } | ||||
|   | ||||
| @@ -1,14 +0,0 @@ | ||||
| {  | ||||
|   lib,  | ||||
|   ...  | ||||
| }: let | ||||
|   dirs = { | ||||
|     defaults = ../defaults; | ||||
|   }; | ||||
| in { | ||||
|   programs.zellij = { | ||||
|     enable = true; | ||||
|   }; | ||||
|  | ||||
|   xdg.configFile."zellij/config.kdl".source = lib.mkForce (dirs.defaults + /zellij/config.kdl); | ||||
| } | ||||
| @@ -1,19 +0,0 @@ | ||||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| with lib; let | ||||
|   cfg = config.appimage; | ||||
| in { | ||||
|   options.appimage = { | ||||
|     enable = mkEnableOption "AppImage support"; | ||||
|   }; | ||||
|   config = mkIf cfg.enable { | ||||
|     environment.systemPackages = with pkgs; [ | ||||
|       appimageupdate | ||||
|       appimage-run | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
| @@ -2,6 +2,7 @@ | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   inputs, | ||||
|   ... | ||||
| }: let | ||||
|   cfg = config.gaming; | ||||
| @@ -108,6 +109,10 @@ in { | ||||
|     ffxiv = { | ||||
|       enable = lib.mkEnableOption "Final Fantasy XIV and it's accompanied (unofficial) launcher"; | ||||
|     }; | ||||
|  | ||||
|     reshade = { | ||||
|       enable = lib.mkEnableOption "ReShade, a post-processing injector for games and video software"; | ||||
|     }; | ||||
|   }; | ||||
|  | ||||
|   config = { | ||||
| @@ -154,6 +159,7 @@ in { | ||||
|         cfg.lutris.extraPackages | ||||
|       )) ++ | ||||
|       (lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++ | ||||
|       (lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher]); | ||||
|       (lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher]) ++ | ||||
|       (lib.optionals cfg.reshade.enable [inputs.packages.${pkgs.system}.reshade]); | ||||
|   }; | ||||
| } | ||||
|   | ||||
| @@ -8,9 +8,6 @@ | ||||
|  | ||||
|   # Allow unfree packages | ||||
|   nixpkgs.config.allowUnfree = true; | ||||
|   nixpkgs.config.permittedInsecurePackages = [ | ||||
|     "mbedtls-2.28.10" | ||||
|   ]; | ||||
|  | ||||
|   nix.package = pkgs.nix; | ||||
|  | ||||
|   | ||||
| @@ -1,9 +1,11 @@ | ||||
| { ... }: { | ||||
| { | ||||
|   pkgs, | ||||
|   lib, | ||||
|   ... | ||||
| }: { | ||||
|   imports = [ | ||||
|     ./core.nix | ||||
|     ./environment.nix | ||||
|     ./fonts.nix | ||||
|     # ./overlays.nix | ||||
|     ./users.nix | ||||
|   ]; | ||||
| } | ||||
|   | ||||
| @@ -1,23 +0,0 @@ | ||||
| { lib, pkgs, ... }: { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     git | ||||
|     vim | ||||
|     neovim | ||||
|     usbutils | ||||
|     coreutils | ||||
|     pciutils | ||||
|     patchelf | ||||
|     htop | ||||
|   ] ++  | ||||
|   lib.optionals pkgs.stdenv.isLinux (with pkgs; [ | ||||
|     systemd | ||||
|     lshw | ||||
|     dmidecode | ||||
|     nix-ld | ||||
|   ]) ++ | ||||
|   lib.optionals pkgs.stdenv.isDarwin (with pkgs; [ | ||||
|       # nothing here, yet ;) | ||||
|   ]); | ||||
|  | ||||
|   environment.variables.EDITOR = "nvim"; | ||||
| } | ||||
| @@ -1,50 +0,0 @@ | ||||
| final: prev: let | ||||
|   rust_1_90_0 = prev.rust-bin.stable."1.90.0".default; | ||||
|   myRustPlatform = prev.makeRustPlatform { | ||||
|     cargo = rust_1_90_0; | ||||
|     rustc = rust_1_90_0; | ||||
|   }; | ||||
| in { | ||||
|   lazygitLatest = prev.lazygit.overrideAttrs (_: rec { | ||||
|     version = "0.55.1"; | ||||
|     src = prev.fetchFromGitHub { | ||||
|       owner = "jesseduffield"; | ||||
|       repo = "lazygit"; | ||||
|       rev = "v${version}"; | ||||
|       hash = "sha256-UofhgILZhVXnYiGpb25m4Ct4sbu5pRmjVgj3oEf5Uyk="; | ||||
|     }; | ||||
|     vendorHash = null; | ||||
|     subPackages = [ "." ]; | ||||
|     ldflags = [ | ||||
|       "-X main.version=${version}" | ||||
|       "-X main.buildSource=nix" | ||||
|     ]; | ||||
|   }); | ||||
|  | ||||
|   atuinLatest = (prev.atuin.override { | ||||
|     rustPlatform = myRustPlatform; | ||||
|   }).overrideAttrs (oldAttrs: rec { | ||||
|     version = "18.10.0"; | ||||
|  | ||||
|     src = prev.fetchFromGitHub { | ||||
|       owner = "atuinsh"; | ||||
|       repo = "atuin"; | ||||
|       rev = "v${version}"; | ||||
|       hash = "sha256-bfSa3RtVXxHt3usDqqpE/oXKKDUZOrf+tD9uL59fr6M="; | ||||
|     }; | ||||
|  | ||||
|     cargoDeps = myRustPlatform.fetchCargoVendor { | ||||
|       # name = "atuin-${version}-vendor.tar.gz"; | ||||
|       inherit src; | ||||
|       hash = "sha256-67ffivZVCly1GWA3fJ9mT8nGv2EGd6eCthbaIu/IW3M="; | ||||
|     }; | ||||
|  | ||||
|     preCheck = (oldAttrs.preCheck or "") + '' | ||||
|       export HOME="$TMPDIR" | ||||
|       export XDG_CONFIG_HOME="$TMPDIR/.config" | ||||
|       export XDG_DATA_HOME="$TMPDIR/.local/share" | ||||
|       export XDG_STATE_HOME="$TMPDIR/.local/state" | ||||
|       mkdir -p "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME" | ||||
|     ''; | ||||
|   }); | ||||
| } | ||||
| @@ -1,38 +1,35 @@ | ||||
| { lib, pkgs, userName, hostname, ... }: | ||||
|  | ||||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   userName, | ||||
|   hostname, | ||||
|   ... | ||||
| } @ args: { | ||||
|   imports = [ | ||||
|     ../security/sudo.nix | ||||
|   ]; | ||||
|  | ||||
|   networking.hostName = hostname; | ||||
|  | ||||
|   users.users."${userName}" = { | ||||
|     home = if pkgs.stdenv.isDarwin  | ||||
|            then "/Users/${userName}"  | ||||
|            else "/home/${userName}"; | ||||
|     description = userName; | ||||
|   } // lib.optionalAttrs pkgs.stdenv.isLinux { | ||||
|     group = "${userName}"; | ||||
|     isNormalUser = true; | ||||
|   }; | ||||
|   # Don't forget to set a password with ‘passwd’! | ||||
|   users.users."${userName}" = lib.mkMerge [ | ||||
|     { | ||||
|       home = | ||||
|         if pkgs.stdenv.isDarwin | ||||
|         then "/Users/${userName}" | ||||
|         else "/home/${userName}"; | ||||
|       description = userName; | ||||
|     } | ||||
|  | ||||
|     (lib.mkIf (pkgs.stdenv.isLinux) { | ||||
|       group = "${userName}"; | ||||
|       isNormalUser = true; | ||||
|     }) | ||||
|   ]; | ||||
|  | ||||
|   security.sudo.needsPassword = false; | ||||
|  | ||||
|   users.groups.wyatt = {}; | ||||
|  | ||||
|   nix.settings.trusted-users = [userName]; | ||||
|  | ||||
|   security = lib.optionalAttrs pkgs.stdenv.isLinux { | ||||
|     sudo.extraRules = [ | ||||
|       { | ||||
|         groups = [ "wheel" ]; | ||||
|         commands = [ | ||||
|           { | ||||
|             command = "ALL"; | ||||
|             options = [ "NOPASSWD" "SETENV" ]; | ||||
|           } | ||||
|         ]; | ||||
|       } | ||||
|     ]; | ||||
|   }; | ||||
|  | ||||
|   environment = lib.optionalAttrs pkgs.stdenv.isDarwin { | ||||
|     etc."sudoers.d/wheel-nopasswd".text = '' | ||||
|       %wheel ALL=(ALL:ALL) NOPASSWD: SETENV: ALL | ||||
|     ''; | ||||
|   }; | ||||
| } | ||||
|   | ||||
| @@ -18,16 +18,14 @@ | ||||
| in { | ||||
|   imports = [ | ||||
|     (import ../../apps/flatpak.nix { | ||||
|       inherit lib pkgs flatpakPackages userName; | ||||
|       inherit lib pkgs flatpakPackages; | ||||
|     }) | ||||
|     ../../apps/gaming.nix | ||||
|     ../../apps/appimage.nix | ||||
|     ../../graphics | ||||
|     ../../pwrMgmt | ||||
|     ../../networking/core.nix | ||||
|     ../../sound/pipewire.nix | ||||
|     ../../sound/shairport.nix | ||||
|     ../../sound/focusrite.nix | ||||
|     ../../virtualization/podman.nix | ||||
|     ../../virtualization/hardware.nix | ||||
|   ]; | ||||
| @@ -36,13 +34,9 @@ in { | ||||
|   nix.settings.experimental-features = ["nix-command" "flakes"]; | ||||
|  | ||||
|   # Custom kernel/boot stuff | ||||
|   boot = { | ||||
|     kernelPackages = pkgs.linuxPackages_latest; | ||||
|     loader = { | ||||
|       systemd-boot.enable = true; | ||||
|       efi.canTouchEfiVariables = true; | ||||
|     }; | ||||
|   }; | ||||
|   boot.kernelPackages = pkgs.linuxPackages_latest; | ||||
|   boot.loader.systemd-boot.enable = true; | ||||
|   boot.loader.efi.canTouchEfiVariables = true; | ||||
|  | ||||
|   # Enable Bluetooth if present | ||||
|   hardware.bluetooth.enable = true; | ||||
| @@ -52,23 +46,40 @@ in { | ||||
|  | ||||
|   # Install packages to be installed system-wide | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     vim | ||||
|     neovim | ||||
|     git | ||||
|     wireguard-tools | ||||
|     grim | ||||
|     slurp | ||||
|     playerctl | ||||
|     light | ||||
|     brightnessctl | ||||
|     firefox | ||||
|     wttrbar | ||||
|     cliphist | ||||
|     xdg-desktop-portal-gtk | ||||
|     xdg-utils | ||||
|     flatpak-xdg-utils | ||||
|     desktop-file-utils | ||||
|     shared-mime-info | ||||
|     wl-clipboard | ||||
|     wl-clip-persist | ||||
|     patchelf | ||||
|     nix-ld | ||||
|   ]; | ||||
|  | ||||
|   # Set the EDITOR global environment variable to neovim | ||||
|   environment.variables.EDITOR = "nvim"; | ||||
|  | ||||
|   # Enable OpenSSH | ||||
|   services.openssh.enable = true; | ||||
|  | ||||
|   # Enable keyring | ||||
|   services.gnome.gnome-keyring.enable = true; | ||||
|  | ||||
|   # Enable GnuPG | ||||
|   programs.gnupg.agent = { | ||||
|     enable = true; | ||||
|     enableSSHSupport = true; | ||||
|   }; | ||||
|  | ||||
|   # Enable SUID wrappers (some programs need them) | ||||
|   programs.mtr.enable = true; | ||||
|  | ||||
|   # Enable Polkit | ||||
|   security.polkit.enable = true; | ||||
|  | ||||
| @@ -136,54 +147,28 @@ in { | ||||
|     networkManager.enable = true; | ||||
|   }; | ||||
|  | ||||
|   programs = { | ||||
|     # Enable GnuPG | ||||
|     gnupg.agent = { | ||||
|       enable = true; | ||||
|       enableSSHSupport = true; | ||||
|     }; | ||||
|  | ||||
|     # Enable SUID wrappers (some programs need them) | ||||
|     mtr.enable = true; | ||||
|  | ||||
|     # Enable dconf | ||||
|     dconf.enable = true; | ||||
|   }; | ||||
|   # Enable dconf | ||||
|   programs.dconf.enable = true; | ||||
|  | ||||
|   # Add username to groups "wheel" and "video" - more may be added here later | ||||
|   users.users.${userName}.extraGroups = ["wheel" "video" "gamemode" "podman" "network"]; | ||||
|  | ||||
|   services = { | ||||
|     # Enable OpenSSH | ||||
|     openssh.enable = true; | ||||
|  | ||||
|     # Enable keyring | ||||
|     gnome.gnome-keyring.enable = true; | ||||
|  | ||||
|     # Flatpak packages (see ../../apps/flatpak.nix) | ||||
|     flatpak.packages = flatpakPackages; | ||||
|   }; | ||||
|  | ||||
|   # Focusrite Scarlett audio interface support (see ../../sound/focusrite.nix) | ||||
|   sound.hardware.focusrite.enable = true; | ||||
|  | ||||
|   # AppImage support | ||||
|   appimage.enable = true; | ||||
|   # Flatpak packages (see ../../apps/flatpak.nix) | ||||
|   services.flatpak.packages = flatpakPackages; | ||||
|  | ||||
|   # XDG stuff | ||||
|   xdg = { | ||||
|     portal = { | ||||
|       enable = true; | ||||
|       wlr.enable = true; | ||||
|       config = { | ||||
|         sway = { | ||||
|           default = ["wlr" "gtk"]; | ||||
|           "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"]; | ||||
|         }; | ||||
|         common = { | ||||
|           default = ["gtk"]; | ||||
|           "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"]; | ||||
|           default = [ | ||||
|             "wlr" | ||||
|           ]; | ||||
|         }; | ||||
|       }; | ||||
|       xdgOpenUsePortal = true; | ||||
|       extraPortals = with pkgs; [ | ||||
|         xdg-desktop-portal-wlr | ||||
|         xdg-desktop-portal-gtk | ||||
|   | ||||
| @@ -12,24 +12,24 @@ | ||||
|     (modulesPath + "/installer/scan/not-detected.nix") | ||||
|   ]; | ||||
|  | ||||
|   boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "ahci" "usb_storage" "usbhid" "sd_mod"]; | ||||
|   boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"]; | ||||
|   boot.initrd.kernelModules = []; | ||||
|   boot.kernelModules = ["kvm-amd"]; | ||||
|   boot.extraModulePackages = []; | ||||
|  | ||||
|   fileSystems."/" = { | ||||
|     device = "/dev/disk/by-uuid/f8f39aae-61d2-437d-a8e1-01066bbb3c5c"; | ||||
|     device = "/dev/disk/by-label/COMPUTER"; | ||||
|     fsType = "xfs"; | ||||
|   }; | ||||
|  | ||||
|   fileSystems."/boot" = { | ||||
|     device = "/dev/disk/by-uuid/B72F-087F"; | ||||
|     device = "/dev/disk/by-label/BOOT"; | ||||
|     fsType = "vfat"; | ||||
|     options = ["fmask=0022" "dmask=0022"]; | ||||
|   }; | ||||
|  | ||||
|   swapDevices = [ | ||||
|     {device = "/dev/disk/by-uuid/6d6bcc02-20a9-4ae8-9c1e-5124fb2b2634";} | ||||
|     {device = "/dev/disk/by-label/SWAP";} | ||||
|   ]; | ||||
|  | ||||
|   # Enables DHCP on each ethernet and wireless interface. In case of scripted networking | ||||
|   | ||||
| @@ -6,4 +6,4 @@ Licensed by the Mozilla Public License v2 | ||||
|  | ||||
| ## Synopsis | ||||
|  | ||||
| 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 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. | ||||
|   | ||||
| @@ -27,6 +27,18 @@ | ||||
|   # Set your timezone | ||||
|   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 | ||||
|   services.openssh.enable = true; | ||||
|  | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
| }: | ||||
| with lib; { | ||||
|   options = { | ||||
|     security.sudoers = { | ||||
|     security.sudo = { | ||||
|       needsPassword = mkOption { | ||||
|         type = types.bool; | ||||
|         default = true; | ||||
|   | ||||
| @@ -1,33 +0,0 @@ | ||||
| # Must be paired with the pipewire Nix module, this does nothing but install packages | ||||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| with lib; let | ||||
|   cfg = config.sound.hardware.focusrite; | ||||
| in { | ||||
|   options.sound.hardware.focusrite = { | ||||
|     enable = mkEnableOption "Focusrite audio interface support"; | ||||
|     guiSupport = mkOption { | ||||
|       type = types.bool; | ||||
|       default = false; | ||||
|       description = "Enable GUI support for Focusrite Scarlett audio interface (installs alsa-scarlett-gui)"; | ||||
|     }; | ||||
|   }; | ||||
|   config = mkIf cfg.enable (mkMerge [ | ||||
|     { | ||||
|       environment.systemPackages = with pkgs; | ||||
|         [ | ||||
|           scarlett2 | ||||
|           alsa-scarlett-gui | ||||
|         ] | ||||
|         ++ ( | ||||
|           if cfg.guiSupport | ||||
|           then [pkgs.alsa-scarlett-gui] | ||||
|           else [] | ||||
|         ); | ||||
|     } | ||||
|   ]); | ||||
| } | ||||
| @@ -1,16 +1,7 @@ | ||||
| { lib, pkgs, userName, ...}: { | ||||
| {pkgs, ...}: { | ||||
|   services.shairport-sync = { | ||||
|     enable = pkgs.stdenv.isLinux; | ||||
|     openFirewall = pkgs.stdenv.isLinux; | ||||
|     # arguments = "-v -o pa"; | ||||
|   }; | ||||
|  | ||||
|   systemd.services.shairport-sync = { | ||||
|     serviceConfig = { | ||||
|       User = lib.mkForce "${userName}"; | ||||
|     }; | ||||
|     environment = { | ||||
|       XDG_RUNTIME_DIR = "/run/user/1000"; | ||||
|     }; | ||||
|     arguments = "-v -o pw"; | ||||
|   }; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user