Rewrite using flake-parts #18
					 10 changed files with 228 additions and 58 deletions
				
			
		
							
								
								
									
										17
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										17
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -1276,22 +1276,6 @@ | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "nixpkgs-tuya-vacuum": { |  | ||||||
|       "locked": { |  | ||||||
|         "lastModified": 1743180016, |  | ||||||
|         "narHash": "sha256-REuNO+d3gTjk+03wZEcwCvXZNQGbb0nv44gwoLMTj4Q=", |  | ||||||
|         "owner": "Daholli", |  | ||||||
|         "repo": "nixpkgs", |  | ||||||
|         "rev": "84b34e39e7a0879367189f34401191f6a0364bcf", |  | ||||||
|         "type": "github" |  | ||||||
|       }, |  | ||||||
|       "original": { |  | ||||||
|         "owner": "Daholli", |  | ||||||
|         "repo": "nixpkgs", |  | ||||||
|         "rev": "84b34e39e7a0879367189f34401191f6a0364bcf", |  | ||||||
|         "type": "github" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "nixpkgs-unstable": { |     "nixpkgs-unstable": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1761373498, |         "lastModified": 1761373498, | ||||||
|  | @ -1450,7 +1434,6 @@ | ||||||
|         "nixos-wsl": "nixos-wsl", |         "nixos-wsl": "nixos-wsl", | ||||||
|         "nixpkgs": "nixpkgs_3", |         "nixpkgs": "nixpkgs_3", | ||||||
|         "nixpkgs-latest-factorio": "nixpkgs-latest-factorio", |         "nixpkgs-latest-factorio": "nixpkgs-latest-factorio", | ||||||
|         "nixpkgs-tuya-vacuum": "nixpkgs-tuya-vacuum", |  | ||||||
|         "nixpkgs-unstable": "nixpkgs-unstable", |         "nixpkgs-unstable": "nixpkgs-unstable", | ||||||
|         "simple-nixos-mailserver": "simple-nixos-mailserver", |         "simple-nixos-mailserver": "simple-nixos-mailserver", | ||||||
|         "sops-nix": "sops-nix", |         "sops-nix": "sops-nix", | ||||||
|  |  | ||||||
|  | @ -16,8 +16,10 @@ | ||||||
|     import-tree.url = "github:vic/import-tree"; |     import-tree.url = "github:vic/import-tree"; | ||||||
|     treefmt-nix.url = "github:numtide/treefmt-nix"; |     treefmt-nix.url = "github:numtide/treefmt-nix"; | ||||||
| 
 | 
 | ||||||
|  |     catppuccin.url = "github:catppuccin/nix"; | ||||||
|  |     sops-nix.url = "github:Mic92/sops-nix"; | ||||||
|  | 
 | ||||||
|     nixpkgs-latest-factorio.url = "github:Daholli/nixpkgs/e880129391be2f558d6c205cfd931be338b3b707"; |     nixpkgs-latest-factorio.url = "github:Daholli/nixpkgs/e880129391be2f558d6c205cfd931be338b3b707"; | ||||||
|     nixpkgs-tuya-vacuum.url = "github:Daholli/nixpkgs/84b34e39e7a0879367189f34401191f6a0364bcf"; |  | ||||||
| 
 | 
 | ||||||
|     home-manager = { |     home-manager = { | ||||||
|       url = "github:nix-community/home-manager/master"; |       url = "github:nix-community/home-manager/master"; | ||||||
|  | @ -90,13 +92,9 @@ | ||||||
|       flake = false; |       flake = false; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     sops-nix.url = "github:Mic92/sops-nix"; |  | ||||||
| 
 |  | ||||||
|     ## temporary |  | ||||||
|     zen-browser.url = "github:0xc000022070/zen-browser-flake"; |     zen-browser.url = "github:0xc000022070/zen-browser-flake"; | ||||||
| 
 | 
 | ||||||
|     simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; |     simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; | ||||||
|     catppuccin.url = "github:catppuccin/nix"; |  | ||||||
| 
 | 
 | ||||||
|     ################ |     ################ | ||||||
|     ## inputs for dev shells |     ## inputs for dev shells | ||||||
|  |  | ||||||
|  | @ -7,8 +7,8 @@ | ||||||
| 
 | 
 | ||||||
|         home.packages = [ |         home.packages = [ | ||||||
|           pkgs.kitty |           pkgs.kitty | ||||||
|           pkgs.xfce.thunar |  | ||||||
|         ]; |         ]; | ||||||
|  | 
 | ||||||
|         home.sessionVariables.TERMINAL = "kitty"; |         home.sessionVariables.TERMINAL = "kitty"; | ||||||
| 
 | 
 | ||||||
|         home.file.".config/Thunar/uca.xml".text = '' |         home.file.".config/Thunar/uca.xml".text = '' | ||||||
|  |  | ||||||
|  | @ -9,14 +9,5 @@ | ||||||
|           enable = true; |           enable = true; | ||||||
|         }; |         }; | ||||||
|       }; |       }; | ||||||
| 
 |  | ||||||
|       # systemd = { |  | ||||||
|       #   services.NetworkManager-wait-online.enable = false; |  | ||||||
|       #   network.wait-online.enable = false; |  | ||||||
|       # }; |  | ||||||
| 
 |  | ||||||
|       services.resolved = { |  | ||||||
|         enable = true; |  | ||||||
|       }; |  | ||||||
|     }; |     }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -13,7 +13,6 @@ | ||||||
|         { |         { | ||||||
|           imports = [ |           imports = [ | ||||||
|             inputs.sops-nix.homeManagerModules.sops |             inputs.sops-nix.homeManagerModules.sops | ||||||
|             inputs.catppuccin.homeModules.catppuccin |  | ||||||
|           ]; |           ]; | ||||||
| 
 | 
 | ||||||
|           home = { |           home = { | ||||||
|  | @ -31,7 +30,6 @@ | ||||||
|         { |         { | ||||||
|           imports = [ |           imports = [ | ||||||
|             inputs.sops-nix.nixosModules.sops |             inputs.sops-nix.nixosModules.sops | ||||||
|             inputs.catppuccin.nixosModules.catppuccin |  | ||||||
|           ]; |           ]; | ||||||
| 
 | 
 | ||||||
|           environment.systemPackages = with pkgs; [ |           environment.systemPackages = with pkgs; [ | ||||||
|  |  | ||||||
|  | @ -11,12 +11,18 @@ | ||||||
|       username = "cholli"; |       username = "cholli"; | ||||||
|     in |     in | ||||||
|     { |     { | ||||||
|  |       imports = [ inputs.nix-ld.nixosModules.nix-ld ]; | ||||||
|  | 
 | ||||||
|       environment.systemPackages = with pkgs; [ |       environment.systemPackages = with pkgs; [ | ||||||
|         nixfmt-rfc-style |         nixfmt-rfc-style | ||||||
|         nix-prefetch-git |         nix-prefetch-git | ||||||
| 
 |  | ||||||
|         nix-index |         nix-index | ||||||
|  | 
 | ||||||
|         nix-output-monitor |         nix-output-monitor | ||||||
|  | 
 | ||||||
|  |         nix-du | ||||||
|  |         nix-weather | ||||||
|  |         nix-index | ||||||
|       ]; |       ]; | ||||||
| 
 | 
 | ||||||
|       programs.nh = { |       programs.nh = { | ||||||
|  | @ -26,6 +32,8 @@ | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       nix = { |       nix = { | ||||||
|  |         package = pkgs.lix; | ||||||
|  | 
 | ||||||
|         settings = |         settings = | ||||||
|           let |           let | ||||||
|             users = [ |             users = [ | ||||||
|  |  | ||||||
|  | @ -255,28 +255,28 @@ | ||||||
|                 "$mod CTRL, right, movecurrentworkspacetomonitor, r" |                 "$mod CTRL, right, movecurrentworkspacetomonitor, r" | ||||||
| 
 | 
 | ||||||
|                 # move focus |                 # move focus | ||||||
|                 "$mod, h, hy3:movefocus, l" |                 "$mod, h, movefocus, l" | ||||||
|                 "$mod, j, hy3:movefocus, d" |                 "$mod, j, movefocus, d" | ||||||
|                 "$mod, k, hy3:movefocus, u" |                 "$mod, k, movefocus, u" | ||||||
|                 "$mod, l, hy3:movefocus, r" |                 "$mod, l, movefocus, r" | ||||||
|                 "$mod, left, hy3:movefocus, l" |                 "$mod, left, movefocus, l" | ||||||
|                 "$mod, down, hy3:movefocus, d" |                 "$mod, down, movefocus, d" | ||||||
|                 "$mod, up, hy3:movefocus, u" |                 "$mod, up, movefocus, u" | ||||||
|                 "$mod, right, hy3:movefocus, r" |                 "$mod, right, movefocus, r" | ||||||
| 
 | 
 | ||||||
|                 # move focus |                 # move focus | ||||||
|                 "$mod SHIFT, h, hy3:movewindow, l, once" |                 "$mod SHIFT, h, movewindow, l, once" | ||||||
|                 "$mod SHIFT, j, hy3:movewindow, d, once" |                 "$mod SHIFT, j, movewindow, d, once" | ||||||
|                 "$mod SHIFT, k, hy3:movewindow, u, once" |                 "$mod SHIFT, k, movewindow, u, once" | ||||||
|                 "$mod SHIFT, l, hy3:movewindow, r, once" |                 "$mod SHIFT, l, movewindow, r, once" | ||||||
|                 "$mod SHIFT, left, hy3:movewindow, l, once" |                 "$mod SHIFT, left, movewindow, l, once" | ||||||
|                 "$mod SHIFT, down, hy3:movewindow, d, once" |                 "$mod SHIFT, down, movewindow, d, once" | ||||||
|                 "$mod SHIFT, up, hy3:movewindow, u, once" |                 "$mod SHIFT, up, movewindow, u, once" | ||||||
|                 "$mod SHIFT, right, hy3:movewindow, r, once" |                 "$mod SHIFT, right, movewindow, r, once" | ||||||
| 
 | 
 | ||||||
|                 #run important programs |                 #run important programs | ||||||
|                 "$mod, Return, exec, kitty" |                 "$mod, Return, exec, kitty" | ||||||
|                 "$mod, D, exec, rofi -show drun" |                 "$mod, D, exec, fuzzel" | ||||||
|                 "$mod, P, exec, focus-or-open-1pass" |                 "$mod, P, exec, focus-or-open-1pass" | ||||||
|                 # "$mod, D, exec, rofi -show combi" |                 # "$mod, D, exec, rofi -show combi" | ||||||
| 
 | 
 | ||||||
|  | @ -294,7 +294,7 @@ | ||||||
|                     in |                     in | ||||||
|                     [ |                     [ | ||||||
|                       "$mod, code:1${toString i}, workspace, ${toString ws}" |                       "$mod, code:1${toString i}, workspace, ${toString ws}" | ||||||
|                       "$mod SHIFT, code:1${toString i}, hy3:movetoworkspace, ${toString ws}" |                       "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}" | ||||||
|                     ] |                     ] | ||||||
|                   ) 9 |                   ) 9 | ||||||
|                 ) |                 ) | ||||||
|  |  | ||||||
|  | @ -1,3 +1,165 @@ | ||||||
| { | { | ||||||
|   flake.modules.nixos.niri = { ... }: { }; |   flake.modules = { | ||||||
|  |     nixos.niri = | ||||||
|  |       { inputs, pkgs, ... }: | ||||||
|  |       { | ||||||
|  |         imports = [ | ||||||
|  |           inputs.niri-flake.nixosModules.niri | ||||||
|  |         ]; | ||||||
|  | 
 | ||||||
|  |         programs.niri = { | ||||||
|  |           enable = true; | ||||||
|  |           package = inputs.niri-flake.packages.${pkgs.system}.niri-unstable; | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         environment.systemPackages = [ | ||||||
|  |           pkgs.alacritty | ||||||
|  |           pkgs.fuzzel | ||||||
|  |         ]; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |     homeManager.cholli = | ||||||
|  |       { | ||||||
|  |         config, | ||||||
|  |         inputs, | ||||||
|  |         lib, | ||||||
|  |         osConfig, | ||||||
|  |         pkgs, | ||||||
|  |         ... | ||||||
|  |       }: | ||||||
|  |       { | ||||||
|  |         config = lib.mkIf osConfig.programs.niri.enable { | ||||||
|  |           programs.niri.settings = { | ||||||
|  |             input = { | ||||||
|  |               keyboard = { | ||||||
|  |                 numlock = true; | ||||||
|  |               }; | ||||||
|  |             }; | ||||||
|  | 
 | ||||||
|  |             outputs."DP-1" = { | ||||||
|  |               mode = { | ||||||
|  |                 width = 3440; | ||||||
|  |                 height = 1440; | ||||||
|  |               }; | ||||||
|  |             }; | ||||||
|  |             outputs."HDMI-A-1" = { | ||||||
|  |               mode = { | ||||||
|  |                 width = 1920; | ||||||
|  |                 height = 1080; | ||||||
|  |               }; | ||||||
|  |               transform.rotation = 90; | ||||||
|  |             }; | ||||||
|  | 
 | ||||||
|  |             layout = { | ||||||
|  |               gaps = 5; | ||||||
|  |               center-focused-column = "never"; | ||||||
|  | 
 | ||||||
|  |               default-column-width = { | ||||||
|  |                 proportion = 0.5; | ||||||
|  |               }; | ||||||
|  | 
 | ||||||
|  |               preset-column-widths = [ | ||||||
|  |                 { proportion = 1. / 3.; } | ||||||
|  |                 { proportion = 1. / 2.; } | ||||||
|  |                 { proportion = 2. / 3.; } | ||||||
|  | 
 | ||||||
|  |               ]; | ||||||
|  | 
 | ||||||
|  |               focus-ring = { | ||||||
|  |                 width = 1; | ||||||
|  |                 active = { | ||||||
|  |                   color = "#7fc8ff"; | ||||||
|  |                 }; | ||||||
|  |                 inactive = { | ||||||
|  |                   color = "#505050"; | ||||||
|  |                 }; | ||||||
|  |               }; | ||||||
|  |             }; | ||||||
|  | 
 | ||||||
|  |             hotkey-overlay.skip-at-startup = true; | ||||||
|  | 
 | ||||||
|  |             screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; | ||||||
|  | 
 | ||||||
|  |             # block 1pass from screenshots and window capture | ||||||
|  |             window-rules = [ | ||||||
|  |             ]; | ||||||
|  | 
 | ||||||
|  |             binds = | ||||||
|  |               with config.lib.niri; | ||||||
|  |               let | ||||||
|  |                 workspaces = (builtins.genList (x: x + 1) 9); | ||||||
|  | 
 | ||||||
|  |                 focus-workspaces = builtins.listToAttrs ( | ||||||
|  |                   map (num: { | ||||||
|  |                     name = "Mod+${toString num}"; | ||||||
|  |                     value = { | ||||||
|  |                       action.focus-workspace = num; | ||||||
|  |                     }; | ||||||
|  |                   }) workspaces | ||||||
|  |                 ); | ||||||
|  |               in | ||||||
|  | 
 | ||||||
|  |               lib.mkMerge [ | ||||||
|  |                 { | ||||||
|  |                   "Mod+Shift+Slash".action = actions.show-hotkey-overlay; | ||||||
|  | 
 | ||||||
|  |                   "Mod+Return".action.spawn = "${lib.getExe pkgs.kitty}"; | ||||||
|  |                   "Mod+D".action.spawn = "${lib.getExe pkgs.fuzzel}"; | ||||||
|  |                   "Mod+Alt+L".action.spawn = "hyprlock-blur"; | ||||||
|  | 
 | ||||||
|  |                   "Mod+Shift+Q" = { | ||||||
|  |                     action = actions.close-window; | ||||||
|  |                     repeat = false; | ||||||
|  |                   }; | ||||||
|  | 
 | ||||||
|  |                   "Mod+O" = { | ||||||
|  |                     action = actions.toggle-overview; | ||||||
|  |                     repeat = false; | ||||||
|  |                   }; | ||||||
|  | 
 | ||||||
|  |                   "XF86AudioRaiseVolume" = { | ||||||
|  |                     action.spawn = [ | ||||||
|  |                       "wpctl" | ||||||
|  |                       "set-volume" | ||||||
|  |                       "@DEFAULT_AUDIO_SINK@" | ||||||
|  |                       "0.1+" | ||||||
|  |                     ]; | ||||||
|  |                     allow-when-locked = true; | ||||||
|  |                   }; | ||||||
|  |                   "XF86AudioLowerVolume" = { | ||||||
|  |                     action.spawn = [ | ||||||
|  |                       "wpctl" | ||||||
|  |                       "set-volume" | ||||||
|  |                       "@DEFAULT_AUDIO_SINK@" | ||||||
|  |                       "0.1-" | ||||||
|  |                     ]; | ||||||
|  |                     allow-when-locked = true; | ||||||
|  |                   }; | ||||||
|  |                   "XF86AudioMute" = { | ||||||
|  |                     action.spawn = [ | ||||||
|  |                       "wpctl" | ||||||
|  |                       "set-mute" | ||||||
|  |                       "@DEFAULT_AUDIO_SINK@" | ||||||
|  |                       "toggle" | ||||||
|  |                     ]; | ||||||
|  |                     allow-when-locked = true; | ||||||
|  |                   }; | ||||||
|  |                   "XF86AudioMicMute" = { | ||||||
|  |                     action.spawn = [ | ||||||
|  |                       "wpctl" | ||||||
|  |                       "set-mute" | ||||||
|  |                       "@DEFAULT_AUDIO_SOURCE@" | ||||||
|  |                       "toggle" | ||||||
|  |                     ]; | ||||||
|  |                     allow-when-locked = true; | ||||||
|  |                   }; | ||||||
|  |                 } | ||||||
|  |                 focus-workspaces | ||||||
|  |               ]; | ||||||
|  | 
 | ||||||
|  |           }; | ||||||
|  | 
 | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -6,7 +6,12 @@ let | ||||||
| in | in | ||||||
| { | { | ||||||
|   flake.modules.nixos."hosts/yggdrasil" = |   flake.modules.nixos."hosts/yggdrasil" = | ||||||
|     { lib, pkgs, ... }: |     { | ||||||
|  |       inputs, | ||||||
|  |       lib, | ||||||
|  |       pkgs, | ||||||
|  |       ... | ||||||
|  |     }: | ||||||
|     { |     { | ||||||
|       nixpkgs.config.allowUnfree = true; |       nixpkgs.config.allowUnfree = true; | ||||||
| 
 | 
 | ||||||
|  | @ -19,7 +24,18 @@ in | ||||||
|         diebahn |         diebahn | ||||||
| 
 | 
 | ||||||
|         path-of-building |         path-of-building | ||||||
|  |         bottles | ||||||
|  | 
 | ||||||
|  |         # to be removed | ||||||
|  |         kdePackages.bluez-qt | ||||||
|  |         zed-editor | ||||||
|  |         seahorse | ||||||
|  |         font-manager | ||||||
|  |         vesktop | ||||||
|  |         rofi-unwrapped | ||||||
|       ]; |       ]; | ||||||
|  |       # to be removed | ||||||
|  |       virtualisation.waydroid.enable = true; | ||||||
| 
 | 
 | ||||||
|       services.teamviewer.enable = true; |       services.teamviewer.enable = true; | ||||||
|       environment.pathsToLink = [ "/libexec" ]; |       environment.pathsToLink = [ "/libexec" ]; | ||||||
|  | @ -31,6 +47,11 @@ in | ||||||
|       imports = |       imports = | ||||||
|         with config.flake.modules.nixos; |         with config.flake.modules.nixos; | ||||||
|         [ |         [ | ||||||
|  |           inputs.nixos-hardware.nixosModules.common-cpu-amd | ||||||
|  |           inputs.nixos-hardware.nixosModules.common-pc | ||||||
|  |           inputs.nixos-hardware.nixosModules.common-pc-ssd | ||||||
|  |           inputs.catppuccin.nixosModules.catppuccin | ||||||
|  | 
 | ||||||
|           # System modules |           # System modules | ||||||
|           base |           base | ||||||
|           dev |           dev | ||||||
|  | @ -44,6 +65,7 @@ in | ||||||
| 
 | 
 | ||||||
|           # dektops |           # dektops | ||||||
|           hyprland |           hyprland | ||||||
|  |           niri | ||||||
| 
 | 
 | ||||||
|           # apps |           # apps | ||||||
|           _1password |           _1password | ||||||
|  | @ -55,6 +77,9 @@ in | ||||||
|           { |           { | ||||||
|             home-manager.users.cholli = { |             home-manager.users.cholli = { | ||||||
|               imports = with config.flake.modules.homeManager; [ |               imports = with config.flake.modules.homeManager; [ | ||||||
|  |                 inputs.catppuccin.homeModules.catppuccin | ||||||
|  | 
 | ||||||
|  |                 # components | ||||||
|                 base |                 base | ||||||
|                 dev |                 dev | ||||||
| 
 | 
 | ||||||
|  | @ -106,8 +131,6 @@ in | ||||||
| 
 | 
 | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       services.fstrim.enable = true; |  | ||||||
| 
 |  | ||||||
|       fileSystems = { |       fileSystems = { | ||||||
|         "/" = { |         "/" = { | ||||||
|           device = "/dev/disk/by-uuid/b1a956f4-91d5-456e-a92b-be505bb719bd"; |           device = "/dev/disk/by-uuid/b1a956f4-91d5-456e-a92b-be505bb719bd"; | ||||||
|  | @ -144,6 +167,7 @@ in | ||||||
|       ]; |       ]; | ||||||
| 
 | 
 | ||||||
|       nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; |       nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||||||
|  |       hardware.enableRedistributableFirmware = true; | ||||||
|       hardware.cpu.amd.updateMicrocode = true; |       hardware.cpu.amd.updateMicrocode = true; | ||||||
|     }; |     }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -47,7 +47,7 @@ | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|       homeManager.cholli = |       homeManager.cholli = | ||||||
|         { ... }: |         { pkgs, ... }: | ||||||
|         let |         let | ||||||
|           defaultIconFileName = "profile.png"; |           defaultIconFileName = "profile.png"; | ||||||
|         in |         in | ||||||
|  | @ -64,6 +64,12 @@ | ||||||
|               ".face".source = ./${defaultIconFileName}; |               ".face".source = ./${defaultIconFileName}; | ||||||
|               "Pictures/${defaultIconFileName}".source = ./${defaultIconFileName}; |               "Pictures/${defaultIconFileName}".source = ./${defaultIconFileName}; | ||||||
|             }; |             }; | ||||||
|  | 
 | ||||||
|  |             packages = with pkgs; [ graphviz ]; | ||||||
|  |             shellAliases = { | ||||||
|  |               nixsize = "nix-du -n=50 | dot -Tsvg > ~/Pictures/store.svg"; | ||||||
|  |             }; | ||||||
|  | 
 | ||||||
|           }; |           }; | ||||||
|         }; |         }; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue