forked from jan-leila/nix-config
		
	ran linter
This commit is contained in:
		
							parent
							
								
									5da0753b7c
								
							
						
					
					
						commit
						dcd5accea0
					
				
					 23 changed files with 372 additions and 309 deletions
				
			
		|  | @ -1,11 +1,9 @@ | ||||||
| { pkgs, ... }: | {pkgs, ...}: { | ||||||
| { |  | ||||||
|   imports = [ |   imports = [ | ||||||
|     ../common |     ../common | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   services = { |   services = { | ||||||
| 
 |  | ||||||
|     # Enable CUPS to print documents. |     # Enable CUPS to print documents. | ||||||
|     printing.enable = true; |     printing.enable = true; | ||||||
| 
 | 
 | ||||||
|  | @ -44,7 +42,6 @@ | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|   # Enable sound with pipewire. |   # Enable sound with pipewire. | ||||||
|   hardware.pulseaudio.enable = false; |   hardware.pulseaudio.enable = false; | ||||||
|   security.rtkit.enable = true; |   security.rtkit.enable = true; | ||||||
|  |  | ||||||
|  | @ -1,5 +1,4 @@ | ||||||
| { pkgs, ... }: | {pkgs, ...}: { | ||||||
| { |  | ||||||
|   imports = [ |   imports = [ | ||||||
|     ../../users |     ../../users | ||||||
|   ]; |   ]; | ||||||
|  |  | ||||||
|  | @ -1,33 +1,55 @@ | ||||||
| { config, pkgs, ... }: |  | ||||||
| { | { | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ../common |     ../common | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   users.groups.jellyfin_media = { |   users = { | ||||||
|  |     groups = { | ||||||
|  |       jellyfin_media = { | ||||||
|         members = ["jellyfin" "leyla" "ester" "eve"]; |         members = ["jellyfin" "leyla" "ester" "eve"]; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|   users.groups.jellyfin = { |       jellyfin = { | ||||||
|         members = ["jellyfin" "leyla"]; |         members = ["jellyfin" "leyla"]; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|   users.users.jellyfin = { |       # forgejo = { | ||||||
|  |       #   members = ["forgejo" "leyla"]; | ||||||
|  |       # }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     users = { | ||||||
|  |       jellyfin = { | ||||||
|         uid = 2000; |         uid = 2000; | ||||||
|         group = "jellyfin"; |         group = "jellyfin"; | ||||||
|         isSystemUser = true; |         isSystemUser = true; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|  |       # forgejo = { | ||||||
|  |       #   uid = 2001; | ||||||
|  |       #   group = "forgejo"; | ||||||
|  |       #   isSystemUser = true; | ||||||
|  |       # }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|   systemd.tmpfiles.rules = [ |   systemd.tmpfiles.rules = [ | ||||||
|     "d /home/jellyfin 755 jellyfin jellyfin -" |     "d /home/jellyfin 755 jellyfin jellyfin -" | ||||||
|     "d /home/jellyfin/media 775 jellyfin jellyfin_media -" |     "d /home/jellyfin/media 775 jellyfin jellyfin_media -" | ||||||
|     "d /home/jellyfin/config 750 jellyfin jellyfin -" |     "d /home/jellyfin/config 750 jellyfin jellyfin -" | ||||||
|     "d /home/jellyfin/cache 755 jellyfin jellyfin_media -" |     "d /home/jellyfin/cache 755 jellyfin jellyfin_media -" | ||||||
|  |     # "d /home/forgejo 750 forgejo forgejo -" | ||||||
|  |     # "d /home/forgejo/data 750 forgejo forgejo -" | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   services = let |   services = let | ||||||
|     jellyfinDomain = "jellyfin.jan-leila.com"; |     jellyfinDomain = "jellyfin.jan-leila.com"; | ||||||
|     headscaleDomain = "headscale.jan-leila.com"; |     headscaleDomain = "headscale.jan-leila.com"; | ||||||
|  |     # forgejoDomain = "forgejo.jan-leila.com"; | ||||||
|   in { |   in { | ||||||
|     nfs.server = { |     nfs.server = { | ||||||
|       enable = true; |       enable = true; | ||||||
|  | @ -59,6 +81,20 @@ | ||||||
|       openFirewall = false; |       openFirewall = false; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  |     # TODO: figure out what needs to be here | ||||||
|  |     # forgejo = { | ||||||
|  |     #   enable = true; | ||||||
|  |     #   database.type = "postgres"; | ||||||
|  |     #   lfs.enable = true; | ||||||
|  |     #   settings = { | ||||||
|  |     #     server = { | ||||||
|  |     #       DOMAIN = forgejoDomain; | ||||||
|  |     #       HTTP_PORT = 8081; | ||||||
|  |     #     }; | ||||||
|  |     #     service.DISABLE_REGISTRATION = true; | ||||||
|  |     #   }; | ||||||
|  |     # }; | ||||||
|  | 
 | ||||||
|     nginx = { |     nginx = { | ||||||
|       enable = false; # TODO: enable this when you want to test all the configs |       enable = false; # TODO: enable this when you want to test all the configs | ||||||
|       virtualHosts = { |       virtualHosts = { | ||||||
|  | @ -66,20 +102,20 @@ | ||||||
|           forceSSL = true; |           forceSSL = true; | ||||||
|           enableACME = true; |           enableACME = true; | ||||||
|           locations."/" = { |           locations."/" = { | ||||||
|             proxyPass = |             proxyPass = "http://localhost:${toString config.services.headscale.port}"; | ||||||
|               "http://localhost:${toString config.services.headscale.port}"; |  | ||||||
|             proxyWebsockets = true; |             proxyWebsockets = true; | ||||||
|           }; |           }; | ||||||
|         }; |         }; | ||||||
|         ${jellyfinDomain} = { |         ${jellyfinDomain} = { | ||||||
|           forceSSL = true; |           forceSSL = true; | ||||||
|           enableACME = true; |           enableACME = true; | ||||||
|           locations."/" = { |           locations."/".proxyPass = "http://localhost:8096"; | ||||||
|             proxyPass = |  | ||||||
|               "http://localhost:8096"; |  | ||||||
|             proxyWebsockets = true; |  | ||||||
|           }; |  | ||||||
|         }; |         }; | ||||||
|  |         # ${forgejoDomain} = { | ||||||
|  |         #   forceSSL = true; | ||||||
|  |         #   enableACME = true; | ||||||
|  |         #   locations."/".proxyPass = "http://localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; | ||||||
|  |         # }; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -30,8 +30,13 @@ | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   outputs = { self, nixpkgs, disko, nixos-hardware, ... }@inputs: |   outputs = { | ||||||
|     let |     self, | ||||||
|  |     nixpkgs, | ||||||
|  |     disko, | ||||||
|  |     nixos-hardware, | ||||||
|  |     ... | ||||||
|  |   } @ inputs: let | ||||||
|     forEachSystem = nixpkgs.lib.genAttrs [ |     forEachSystem = nixpkgs.lib.genAttrs [ | ||||||
|       "aarch64-darwin" |       "aarch64-darwin" | ||||||
|       "aarch64-linux" |       "aarch64-linux" | ||||||
|  | @ -39,8 +44,7 @@ | ||||||
|       "x86_64-linux" |       "x86_64-linux" | ||||||
|     ]; |     ]; | ||||||
|     forEachPkgs = lambda: forEachSystem (system: lambda nixpkgs.legacyPackages.${system}); |     forEachPkgs = lambda: forEachSystem (system: lambda nixpkgs.legacyPackages.${system}); | ||||||
|     in |   in { | ||||||
|     { |  | ||||||
|     packages = forEachPkgs (pkgs: import ./pkgs {inherit pkgs;}); |     packages = forEachPkgs (pkgs: import ./pkgs {inherit pkgs;}); | ||||||
| 
 | 
 | ||||||
|     nixosConfigurations = { |     nixosConfigurations = { | ||||||
|  |  | ||||||
|  | @ -1,8 +1,11 @@ | ||||||
| # server nas | # server nas | ||||||
| { config, pkgs, inputs, ... }: |  | ||||||
| { | { | ||||||
|   imports = |   config, | ||||||
|     [ |   pkgs, | ||||||
|  |   inputs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|     inputs.home-manager.nixosModules.default |     inputs.home-manager.nixosModules.default | ||||||
|     inputs.sops-nix.nixosModules.sops |     inputs.sops-nix.nixosModules.sops | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,5 +1,4 @@ | ||||||
| { lib, ... }: | {lib, ...}: let | ||||||
| let |  | ||||||
|   bootDisk = devicePath: { |   bootDisk = devicePath: { | ||||||
|     type = "disk"; |     type = "disk"; | ||||||
|     device = devicePath; |     device = devicePath; | ||||||
|  | @ -86,7 +85,9 @@ in { | ||||||
|                 # should this only mirror for this inital config with 3 drives we will used raidz2 for future configs??? |                 # should this only mirror for this inital config with 3 drives we will used raidz2 for future configs??? | ||||||
|                 mode = "mirror"; |                 mode = "mirror"; | ||||||
|                 members = [ |                 members = [ | ||||||
|                   "hd_13_tb_a" "hd_13_tb_b" "hd_13_tb_c" |                   "hd_13_tb_a" | ||||||
|  |                   "hd_13_tb_b" | ||||||
|  |                   "hd_13_tb_c" | ||||||
|                 ]; |                 ]; | ||||||
|               } |               } | ||||||
|             ]; |             ]; | ||||||
|  | @ -133,4 +134,3 @@ in { | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
| 
 |  | ||||||
|  |  | ||||||
|  | @ -1,9 +1,13 @@ | ||||||
| # Do not modify this file!  It was generated by ‘nixos-generate-config’ | # Do not modify this file!  It was generated by ‘nixos-generate-config’ | ||||||
| # and may be overwritten by future invocations.  Please make changes | # and may be overwritten by future invocations.  Please make changes | ||||||
| # to /etc/nixos/configuration.nix instead. | # to /etc/nixos/configuration.nix instead. | ||||||
| { config, lib, pkgs, modulesPath, ... }: |  | ||||||
| 
 |  | ||||||
| { | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   modulesPath, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|   imports = [ |   imports = [ | ||||||
|     (modulesPath + "/installer/scan/not-detected.nix") |     (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|     ../hardware-common.nix |     ../hardware-common.nix | ||||||
|  |  | ||||||
|  | @ -1,5 +1,4 @@ | ||||||
| { lib, ... }: | {lib, ...}: { | ||||||
| { |  | ||||||
|   options = { |   options = { | ||||||
|     hardware = { |     hardware = { | ||||||
|       piperMouse = { |       piperMouse = { | ||||||
|  |  | ||||||
|  | @ -1,8 +1,11 @@ | ||||||
| # leyla laptop | # leyla laptop | ||||||
| { config, pkgs, inputs, ... }: |  | ||||||
| { | { | ||||||
|   imports = |   config, | ||||||
|     [ |   pkgs, | ||||||
|  |   inputs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|     inputs.home-manager.nixosModules.default |     inputs.home-manager.nixosModules.default | ||||||
|     inputs.sops-nix.nixosModules.sops |     inputs.sops-nix.nixosModules.sops | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,9 +1,13 @@ | ||||||
| # Do not modify this file!  It was generated by ‘nixos-generate-config’ | # Do not modify this file!  It was generated by ‘nixos-generate-config’ | ||||||
| # and may be overwritten by future invocations.  Please make changes | # and may be overwritten by future invocations.  Please make changes | ||||||
| # to /etc/nixos/configuration.nix instead. | # to /etc/nixos/configuration.nix instead. | ||||||
| { config, lib, pkgs, modulesPath, ... }: |  | ||||||
| 
 |  | ||||||
| { | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   modulesPath, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|   imports = [ |   imports = [ | ||||||
|     (modulesPath + "/installer/scan/not-detected.nix") |     (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|     ../hardware-common.nix |     ../hardware-common.nix | ||||||
|  | @ -25,39 +29,35 @@ | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   fileSystems = { |   fileSystems = { | ||||||
|     "/" = |     "/" = { | ||||||
|       { device = "/dev/disk/by-uuid/866d422b-f816-4ad9-9846-791839cb9337"; |       device = "/dev/disk/by-uuid/866d422b-f816-4ad9-9846-791839cb9337"; | ||||||
|       fsType = "ext4"; |       fsType = "ext4"; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/boot" = |     "/boot" = { | ||||||
|       { device = "/dev/disk/by-uuid/E138-65B5"; |       device = "/dev/disk/by-uuid/E138-65B5"; | ||||||
|       fsType = "vfat"; |       fsType = "vfat"; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/mnt/leyla_home" = |     "/mnt/leyla_home" = { | ||||||
|       { |  | ||||||
|       device = "defiant:/home/leyla"; |       device = "defiant:/home/leyla"; | ||||||
|       fsType = "nfs"; |       fsType = "nfs"; | ||||||
|       options = ["x-systemd.automount" "user" "noatime" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; |       options = ["x-systemd.automount" "user" "noatime" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/mnt/eve_home" = |     "/mnt/eve_home" = { | ||||||
|       { |  | ||||||
|       device = "defiant:/home/eve"; |       device = "defiant:/home/eve"; | ||||||
|       fsType = "nfs"; |       fsType = "nfs"; | ||||||
|       options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; |       options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/mnt/ester_home" = |     "/mnt/ester_home" = { | ||||||
|       { |  | ||||||
|       device = "defiant:/home/ester"; |       device = "defiant:/home/ester"; | ||||||
|       fsType = "nfs"; |       fsType = "nfs"; | ||||||
|       options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; |       options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/mnt/users_home" = |     "/mnt/users_home" = { | ||||||
|       { |  | ||||||
|       device = "defiant:/home/users"; |       device = "defiant:/home/users"; | ||||||
|       fsType = "nfs"; |       fsType = "nfs"; | ||||||
|       options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; |       options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; | ||||||
|  | @ -87,8 +87,8 @@ | ||||||
| 
 | 
 | ||||||
|   services.cachefilesd.enable = true; |   services.cachefilesd.enable = true; | ||||||
| 
 | 
 | ||||||
|   swapDevices = |   swapDevices = [ | ||||||
|     [ { device = "/dev/disk/by-uuid/be98e952-a072-4c3a-8c12-69500b5a2fff"; } |     {device = "/dev/disk/by-uuid/be98e952-a072-4c3a-8c12-69500b5a2fff";} | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   networking = { |   networking = { | ||||||
|  | @ -99,7 +99,6 @@ | ||||||
|   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; |   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||||||
|   powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; |   powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|   hardware = { |   hardware = { | ||||||
|     graphics.enable = true; |     graphics.enable = true; | ||||||
|     cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; |     cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
|  |  | ||||||
|  | @ -1,8 +1,11 @@ | ||||||
| # leyla laptop | # leyla laptop | ||||||
| { config, pkgs, inputs, ... }: |  | ||||||
| { | { | ||||||
|   imports = |   config, | ||||||
|     [ |   pkgs, | ||||||
|  |   inputs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|     inputs.home-manager.nixosModules.default |     inputs.home-manager.nixosModules.default | ||||||
|     inputs.sops-nix.nixosModules.sops |     inputs.sops-nix.nixosModules.sops | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,9 +1,13 @@ | ||||||
| # Do not modify this file!  It was generated by ‘nixos-generate-config’ | # Do not modify this file!  It was generated by ‘nixos-generate-config’ | ||||||
| # and may be overwritten by future invocations.  Please make changes | # and may be overwritten by future invocations.  Please make changes | ||||||
| # to /etc/nixos/configuration.nix instead. | # to /etc/nixos/configuration.nix instead. | ||||||
| { config, lib, pkgs, modulesPath, ... }: |  | ||||||
| 
 |  | ||||||
| { | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   modulesPath, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|   imports = [ |   imports = [ | ||||||
|     (modulesPath + "/installer/scan/not-detected.nix") |     (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|     ../hardware-common.nix |     ../hardware-common.nix | ||||||
|  | @ -33,33 +37,30 @@ | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   fileSystems = { |   fileSystems = { | ||||||
|     "/" = |     "/" = { | ||||||
|       { device = "/dev/disk/by-uuid/8be49c65-2b57-48f1-b74d-244d26061adb"; |       device = "/dev/disk/by-uuid/8be49c65-2b57-48f1-b74d-244d26061adb"; | ||||||
|       fsType = "ext4"; |       fsType = "ext4"; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/boot" = |     "/boot" = { | ||||||
|       { device = "/dev/disk/by-uuid/3006-3867"; |       device = "/dev/disk/by-uuid/3006-3867"; | ||||||
|       fsType = "vfat"; |       fsType = "vfat"; | ||||||
|       options = ["fmask=0022" "dmask=0022"]; |       options = ["fmask=0022" "dmask=0022"]; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/mnt/leyla_home" = |     "/mnt/leyla_home" = { | ||||||
|       { |  | ||||||
|       device = "server.arpa:/home/leyla"; |       device = "server.arpa:/home/leyla"; | ||||||
|       fsType = "nfs"; |       fsType = "nfs"; | ||||||
|       options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; |       options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/mnt/share_home" = |     "/mnt/share_home" = { | ||||||
|       { |  | ||||||
|       device = "server.arpa:/home/share"; |       device = "server.arpa:/home/share"; | ||||||
|       fsType = "nfs"; |       fsType = "nfs"; | ||||||
|       options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; |       options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"]; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/mnt/docker_home" = |     "/mnt/docker_home" = { | ||||||
|       { |  | ||||||
|       device = "server.arpa:/home/docker"; |       device = "server.arpa:/home/docker"; | ||||||
|       fsType = "nfs"; |       fsType = "nfs"; | ||||||
|       options = ["x-systemd.automount" "noauto" "x-systemd.idle-timeout=600"]; |       options = ["x-systemd.automount" "noauto" "x-systemd.idle-timeout=600"]; | ||||||
|  | @ -122,4 +123,3 @@ | ||||||
|     cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; |     cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
| 
 |  | ||||||
|  |  | ||||||
|  | @ -1,5 +1,4 @@ | ||||||
| _: | _: { | ||||||
| { |  | ||||||
|   # nixpkgs.overlays = [ |   # nixpkgs.overlays = [ | ||||||
|   #   (self: super: { |   #   (self: super: { | ||||||
|   #     # idea is too out of date for android gradle things |   #     # idea is too out of date for android gradle things | ||||||
|  |  | ||||||
|  | @ -1,5 +1,4 @@ | ||||||
| _: | _: { | ||||||
| { |  | ||||||
|   # nixpkgs.overlays = [ |   # nixpkgs.overlays = [ | ||||||
|   #   (self: super: { |   #   (self: super: { | ||||||
|   #     # ui is broken on 1.84 |   #     # ui is broken on 1.84 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,2 @@ | ||||||
| _: | _: { | ||||||
| { |  | ||||||
|    |  | ||||||
| } | } | ||||||
|  | @ -1,2 +1 @@ | ||||||
| _: | _: {} | ||||||
| {} |  | ||||||
|  |  | ||||||
|  | @ -1,5 +1,4 @@ | ||||||
| { inputs, ... }: | {inputs, ...}: { | ||||||
| { |  | ||||||
|   imports = [./leyla ./ester ./eve]; |   imports = [./leyla ./ester ./eve]; | ||||||
| 
 | 
 | ||||||
|   users.mutableUsers = false; |   users.mutableUsers = false; | ||||||
|  |  | ||||||
|  | @ -1,8 +1,11 @@ | ||||||
| { lib, config, pkgs, ... }: |  | ||||||
| let |  | ||||||
|   cfg = config.users.ester; |  | ||||||
| in |  | ||||||
| { | { | ||||||
|  |   lib, | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: let | ||||||
|  |   cfg = config.users.ester; | ||||||
|  | in { | ||||||
|   options.users.ester = { |   options.users.ester = { | ||||||
|     isFullUser = lib.mkEnableOption "ester"; |     isFullUser = lib.mkEnableOption "ester"; | ||||||
|   }; |   }; | ||||||
|  | @ -25,7 +28,8 @@ in | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       ( |       ( | ||||||
|         if cfg.isFullUser then { |         if cfg.isFullUser | ||||||
|  |         then { | ||||||
|           isNormalUser = true; |           isNormalUser = true; | ||||||
|           extraGroups = ["networkmanager" "users"]; |           extraGroups = ["networkmanager" "users"]; | ||||||
| 
 | 
 | ||||||
|  | @ -36,7 +40,8 @@ in | ||||||
|             bitwarden |             bitwarden | ||||||
|             discord |             discord | ||||||
|           ]; |           ]; | ||||||
|         } else { |         } | ||||||
|  |         else { | ||||||
|           isSystemUser = true; |           isSystemUser = true; | ||||||
|         } |         } | ||||||
|       ) |       ) | ||||||
|  |  | ||||||
|  | @ -1,8 +1,11 @@ | ||||||
| { lib, config, pkgs, ... }: |  | ||||||
| let |  | ||||||
|   cfg = config.users.eve; |  | ||||||
| in |  | ||||||
| { | { | ||||||
|  |   lib, | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: let | ||||||
|  |   cfg = config.users.eve; | ||||||
|  | in { | ||||||
|   options.users.eve = { |   options.users.eve = { | ||||||
|     isFullUser = lib.mkEnableOption "eve"; |     isFullUser = lib.mkEnableOption "eve"; | ||||||
|   }; |   }; | ||||||
|  | @ -25,7 +28,8 @@ in | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       ( |       ( | ||||||
|         if cfg.isFullUser then { |         if cfg.isFullUser | ||||||
|  |         then { | ||||||
|           isNormalUser = true; |           isNormalUser = true; | ||||||
|           extraGroups = ["networkmanager" "users"]; |           extraGroups = ["networkmanager" "users"]; | ||||||
| 
 | 
 | ||||||
|  | @ -38,7 +42,8 @@ in | ||||||
|             makemkv |             makemkv | ||||||
|             signal-desktop |             signal-desktop | ||||||
|           ]; |           ]; | ||||||
|         } else { |         } | ||||||
|  |         else { | ||||||
|           isSystemUser = true; |           isSystemUser = true; | ||||||
|         } |         } | ||||||
|       ) |       ) | ||||||
|  |  | ||||||
|  | @ -1,8 +1,11 @@ | ||||||
| { lib, config, pkgs, ... }: |  | ||||||
| let |  | ||||||
|   cfg = config.users.leyla; |  | ||||||
| in |  | ||||||
| { | { | ||||||
|  |   lib, | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: let | ||||||
|  |   cfg = config.users.leyla; | ||||||
|  | in { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./packages.nix |     ./packages.nix | ||||||
|   ]; |   ]; | ||||||
|  | @ -31,7 +34,8 @@ in | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       ( |       ( | ||||||
|         if (cfg.isFullUser || cfg.isThinUser) then { |         if (cfg.isFullUser || cfg.isThinUser) | ||||||
|  |         then { | ||||||
|           isNormalUser = true; |           isNormalUser = true; | ||||||
|           extraGroups = lib.mkMerge [ |           extraGroups = lib.mkMerge [ | ||||||
|             ["networkmanager" "wheel" "users"] |             ["networkmanager" "wheel" "users"] | ||||||
|  | @ -48,7 +52,8 @@ in | ||||||
|               "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBiZkg1c2aaNHiieBX4cEziqvJVj9pcDfzUrKU/mO0I leyla@twilight" |               "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBiZkg1c2aaNHiieBX4cEziqvJVj9pcDfzUrKU/mO0I leyla@twilight" | ||||||
|             ]; |             ]; | ||||||
|           }; |           }; | ||||||
|         } else { |         } | ||||||
|  |         else { | ||||||
|           isSystemUser = true; |           isSystemUser = true; | ||||||
|         } |         } | ||||||
|       ) |       ) | ||||||
|  |  | ||||||
|  | @ -1,6 +1,8 @@ | ||||||
| { config, pkgs, ... }: |  | ||||||
| 
 |  | ||||||
| { | { | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|   # Home Manager needs a bit of information about you and the paths it should |   # Home Manager needs a bit of information about you and the paths it should | ||||||
|   # manage. |   # manage. | ||||||
|   home = { |   home = { | ||||||
|  |  | ||||||
|  | @ -1,8 +1,12 @@ | ||||||
| { lib, config, pkgs, inputs, ... }: |  | ||||||
| let |  | ||||||
|   cfg = config.users.leyla; |  | ||||||
| in |  | ||||||
| { | { | ||||||
|  |   lib, | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   inputs, | ||||||
|  |   ... | ||||||
|  | }: let | ||||||
|  |   cfg = config.users.leyla; | ||||||
|  | in { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ../../overlays/intellij.nix |     ../../overlays/intellij.nix | ||||||
|     ../../overlays/vscodium.nix |     ../../overlays/vscodium.nix | ||||||
|  | @ -74,7 +78,8 @@ in | ||||||
|             # development tools |             # development tools | ||||||
|             (vscode-with-extensions.override { |             (vscode-with-extensions.override { | ||||||
|               vscode = vscodium; |               vscode = vscodium; | ||||||
|               vscodeExtensions = with open-vsx; [ |               vscodeExtensions = with open-vsx; | ||||||
|  |                 [ | ||||||
|                   # vs code feel extensions |                   # vs code feel extensions | ||||||
|                   ms-vscode.atom-keybindings |                   ms-vscode.atom-keybindings | ||||||
|                   akamud.vscode-theme-onedark |                   akamud.vscode-theme-onedark | ||||||
|  | @ -101,7 +106,8 @@ in | ||||||
| 
 | 
 | ||||||
|                   # misc extensions |                   # misc extensions | ||||||
|                   bungcip.better-toml |                   bungcip.better-toml | ||||||
|               ] ++ (with vscode-marketplace; [ |                 ] | ||||||
|  |                 ++ (with vscode-marketplace; [ | ||||||
|                   # js extensions |                   # js extensions | ||||||
|                   karyfoundation.nearley |                   karyfoundation.nearley | ||||||
|                 ]); |                 ]); | ||||||
|  |  | ||||||
|  | @ -1,5 +1,4 @@ | ||||||
| _: | _: { | ||||||
| { |  | ||||||
|   # mkUnless = condition: then: (mkIf (!condition) then); |   # mkUnless = condition: then: (mkIf (!condition) then); | ||||||
|   # mkIfElse = condition: then: else: lib.mkMerge [ |   # mkIfElse = condition: then: else: lib.mkMerge [ | ||||||
|   #   (mkIf condition then) |   #   (mkIf condition then) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue