mirror of
				https://github.com/nmasur/dotfiles
				synced 2025-11-04 04:43:15 +00:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			e7f8d706b2
			...
			nixosmodul
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					b0b9827a2e | 
							
								
								
									
										47
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								flake.nix
									
									
									
									
									
								
							@@ -110,10 +110,20 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  outputs = { nixpkgs, ... }@inputs:
 | 
					  outputs = { self, nixpkgs, ... }@inputs:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let
 | 
					    let
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Common overlays to always use
 | 
				
			||||||
 | 
					      overlays = [
 | 
				
			||||||
 | 
					        inputs.nur.overlay
 | 
				
			||||||
 | 
					        inputs.nix2vim.overlay
 | 
				
			||||||
 | 
					        (import ./overlays/neovim-plugins.nix inputs)
 | 
				
			||||||
 | 
					        (import ./overlays/calibre-web.nix)
 | 
				
			||||||
 | 
					        (import ./overlays/disko.nix inputs)
 | 
				
			||||||
 | 
					        (import ./overlays/tree-sitter.nix inputs)
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Global configuration for my systems
 | 
					      # Global configuration for my systems
 | 
				
			||||||
      globals = let baseName = "masu.rs";
 | 
					      globals = let baseName = "masu.rs";
 | 
				
			||||||
      in rec {
 | 
					      in rec {
 | 
				
			||||||
@@ -125,6 +135,7 @@
 | 
				
			|||||||
        mail.imapHost = "imap.purelymail.com";
 | 
					        mail.imapHost = "imap.purelymail.com";
 | 
				
			||||||
        mail.smtpHost = "smtp.purelymail.com";
 | 
					        mail.smtpHost = "smtp.purelymail.com";
 | 
				
			||||||
        dotfilesRepo = "git@github.com:nmasur/dotfiles";
 | 
					        dotfilesRepo = "git@github.com:nmasur/dotfiles";
 | 
				
			||||||
 | 
					        nixpkgs.overlays = overlays;
 | 
				
			||||||
        hostnames = {
 | 
					        hostnames = {
 | 
				
			||||||
          git = "git.${baseName}";
 | 
					          git = "git.${baseName}";
 | 
				
			||||||
          metrics = "metrics.${baseName}";
 | 
					          metrics = "metrics.${baseName}";
 | 
				
			||||||
@@ -137,16 +148,6 @@
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Common overlays to always use
 | 
					 | 
				
			||||||
      overlays = [
 | 
					 | 
				
			||||||
        inputs.nur.overlay
 | 
					 | 
				
			||||||
        inputs.nix2vim.overlay
 | 
					 | 
				
			||||||
        (import ./overlays/neovim-plugins.nix inputs)
 | 
					 | 
				
			||||||
        (import ./overlays/calibre-web.nix)
 | 
					 | 
				
			||||||
        (import ./overlays/disko.nix inputs)
 | 
					 | 
				
			||||||
        (import ./overlays/tree-sitter.nix inputs)
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # System types to support.
 | 
					      # System types to support.
 | 
				
			||||||
      supportedSystems =
 | 
					      supportedSystems =
 | 
				
			||||||
        [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
 | 
					        [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
 | 
				
			||||||
@@ -156,20 +157,26 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    in rec {
 | 
					    in rec {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      nixosModules = {
 | 
				
			||||||
 | 
					        globals = { config }: { config = globals; };
 | 
				
			||||||
 | 
					        common = import ./modules/common;
 | 
				
			||||||
 | 
					        nixos = import ./modules/nixos;
 | 
				
			||||||
 | 
					        darwin = import ./modules/darwin;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Contains my full system builds, including home-manager
 | 
					      # Contains my full system builds, including home-manager
 | 
				
			||||||
      # nixos-rebuild switch --flake .#tempest
 | 
					      # nixos-rebuild switch --flake .#tempest
 | 
				
			||||||
      nixosConfigurations = {
 | 
					      nixosConfigurations = {
 | 
				
			||||||
        tempest = import ./hosts/tempest { inherit inputs globals overlays; };
 | 
					        tempest = import ./hosts/tempest { inherit self; };
 | 
				
			||||||
        hydra = import ./hosts/hydra { inherit inputs globals overlays; };
 | 
					        hydra = import ./hosts/hydra { inherit self; };
 | 
				
			||||||
        flame = import ./hosts/flame { inherit inputs globals overlays; };
 | 
					        flame = import ./hosts/flame { inherit self; };
 | 
				
			||||||
        swan = import ./hosts/swan { inherit inputs globals overlays; };
 | 
					        swan = import ./hosts/swan { inherit self; };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Contains my full Mac system builds, including home-manager
 | 
					      # Contains my full Mac system builds, including home-manager
 | 
				
			||||||
      # darwin-rebuild switch --flake .#lookingglass
 | 
					      # darwin-rebuild switch --flake .#lookingglass
 | 
				
			||||||
      darwinConfigurations = {
 | 
					      darwinConfigurations = {
 | 
				
			||||||
        lookingglass =
 | 
					        lookingglass = import ./hosts/lookingglass { inherit self; };
 | 
				
			||||||
          import ./hosts/lookingglass { inherit inputs globals overlays; };
 | 
					 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # For quickly applying home-manager settings with:
 | 
					      # For quickly applying home-manager settings with:
 | 
				
			||||||
@@ -185,10 +192,8 @@
 | 
				
			|||||||
      diskoConfigurations = { root = import ./disks/root.nix; };
 | 
					      diskoConfigurations = { root = import ./disks/root.nix; };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      packages = let
 | 
					      packages = let
 | 
				
			||||||
        aws = system:
 | 
					        aws = system: import ./hosts/aws { inherit self system; };
 | 
				
			||||||
          import ./hosts/aws { inherit inputs globals overlays system; };
 | 
					        staff = system: import ./hosts/staff { inherit self system; };
 | 
				
			||||||
        staff = system:
 | 
					 | 
				
			||||||
          import ./hosts/staff { inherit inputs globals overlays system; };
 | 
					 | 
				
			||||||
        neovim = system:
 | 
					        neovim = system:
 | 
				
			||||||
          let pkgs = import nixpkgs { inherit system overlays; };
 | 
					          let pkgs = import nixpkgs { inherit system overlays; };
 | 
				
			||||||
          in import ./modules/common/neovim/package {
 | 
					          in import ./modules/common/neovim/package {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,17 +1,14 @@
 | 
				
			|||||||
{ inputs, system, globals, overlays, ... }:
 | 
					{ self, system, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
inputs.nixos-generators.nixosGenerate {
 | 
					self.inputs.nixos-generators.nixosGenerate {
 | 
				
			||||||
  inherit system;
 | 
					  inherit system;
 | 
				
			||||||
  format = "amazon";
 | 
					  format = "amazon";
 | 
				
			||||||
  modules = [
 | 
					  modules = [
 | 
				
			||||||
    inputs.home-manager.nixosModules.home-manager
 | 
					    self.inputs.home-manager.nixosModules.home-manager
 | 
				
			||||||
 | 
					    self.nixosModules.globals
 | 
				
			||||||
 | 
					    self.nixosModules.common
 | 
				
			||||||
 | 
					    self.nixosModules.nixos
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      nixpkgs.overlays = overlays;
 | 
					 | 
				
			||||||
      user = globals.user;
 | 
					 | 
				
			||||||
      fullName = globals.fullName;
 | 
					 | 
				
			||||||
      dotfilesRepo = globals.dotfilesRepo;
 | 
					 | 
				
			||||||
      gitName = globals.gitName;
 | 
					 | 
				
			||||||
      gitEmail = globals.gitEmail;
 | 
					 | 
				
			||||||
      networking.hostName = "sheep";
 | 
					      networking.hostName = "sheep";
 | 
				
			||||||
      gui.enable = false;
 | 
					      gui.enable = false;
 | 
				
			||||||
      theme.colors = (import ../../colorscheme/gruvbox).dark;
 | 
					      theme.colors = (import ../../colorscheme/gruvbox).dark;
 | 
				
			||||||
@@ -21,9 +18,6 @@ inputs.nixos-generators.nixosGenerate {
 | 
				
			|||||||
      # AWS settings require this
 | 
					      # AWS settings require this
 | 
				
			||||||
      permitRootLogin = "prohibit-password";
 | 
					      permitRootLogin = "prohibit-password";
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    ../../modules/common
 | 
					 | 
				
			||||||
    ../../modules/nixos
 | 
					 | 
				
			||||||
    ../../modules/nixos/services/sshd.nix
 | 
					 | 
				
			||||||
  ] ++ [
 | 
					  ] ++ [
 | 
				
			||||||
    # Required to fix diskSize errors during build
 | 
					    # Required to fix diskSize errors during build
 | 
				
			||||||
    ({ ... }: { amazonImage.sizeMB = 16 * 1024; })
 | 
					    ({ ... }: { amazonImage.sizeMB = 16 * 1024; })
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,24 +4,23 @@
 | 
				
			|||||||
# How to install:
 | 
					# How to install:
 | 
				
			||||||
# https://blog.korfuri.fr/posts/2022/08/nixos-on-an-oracle-free-tier-ampere-machine/
 | 
					# https://blog.korfuri.fr/posts/2022/08/nixos-on-an-oracle-free-tier-ampere-machine/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ inputs, globals, overlays, ... }:
 | 
					{ self, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
inputs.nixpkgs.lib.nixosSystem {
 | 
					self.inputs.nixpkgs.lib.nixosSystem {
 | 
				
			||||||
  system = "aarch64-linux";
 | 
					  system = "aarch64-linux";
 | 
				
			||||||
  specialArgs = { };
 | 
					  specialArgs = { };
 | 
				
			||||||
  modules = [
 | 
					  modules = [
 | 
				
			||||||
    globals
 | 
					    self.inputs.home-manager.nixosModules.home-manager
 | 
				
			||||||
    inputs.home-manager.nixosModules.home-manager
 | 
					    self.nixosModules.globals
 | 
				
			||||||
    ../../modules/common
 | 
					    self.nixosModules.common
 | 
				
			||||||
    ../../modules/nixos
 | 
					    self.nixosModules.nixos
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      nixpkgs.overlays = overlays;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # Hardware
 | 
					      # Hardware
 | 
				
			||||||
      server = true;
 | 
					      server = true;
 | 
				
			||||||
      networking.hostName = "flame";
 | 
					      networking.hostName = "flame";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      imports = [ (inputs.nixpkgs + "/nixos/modules/profiles/qemu-guest.nix") ];
 | 
					      imports =
 | 
				
			||||||
 | 
					        [ (self.inputs.nixpkgs + "/nixos/modules/profiles/qemu-guest.nix") ];
 | 
				
			||||||
      boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" ];
 | 
					      boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      fileSystems."/" = {
 | 
					      fileSystems."/" = {
 | 
				
			||||||
@@ -71,9 +70,6 @@ inputs.nixpkgs.lib.nixosSystem {
 | 
				
			|||||||
        accessKeyId = "0026b0e73b2e2c80000000005";
 | 
					        accessKeyId = "0026b0e73b2e2c80000000005";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # # Grant access to Jellyfin directories from Nextcloud
 | 
					 | 
				
			||||||
      # users.users.nextcloud.extraGroups = [ "jellyfin" ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # # Wireguard config for Transmission
 | 
					      # # Wireguard config for Transmission
 | 
				
			||||||
      # wireguard.enable = true;
 | 
					      # wireguard.enable = true;
 | 
				
			||||||
      # networking.wireguard.interfaces.wg0 = {
 | 
					      # networking.wireguard.interfaces.wg0 = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,21 +1,20 @@
 | 
				
			|||||||
# The Hydra
 | 
					# The Hydra
 | 
				
			||||||
# System configuration for WSL
 | 
					# System configuration for WSL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ inputs, globals, overlays, ... }:
 | 
					{ self, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
inputs.nixpkgs.lib.nixosSystem {
 | 
					self.inputs.nixpkgs.lib.nixosSystem {
 | 
				
			||||||
  system = "x86_64-linux";
 | 
					  system = "x86_64-linux";
 | 
				
			||||||
  specialArgs = { };
 | 
					  specialArgs = { };
 | 
				
			||||||
  modules = [
 | 
					  modules = [
 | 
				
			||||||
    ../../modules/common
 | 
					    self.inputs.wsl.nixosModules.wsl
 | 
				
			||||||
    ../../modules/nixos
 | 
					    self.inputs.home-manager.nixosModules.home-manager
 | 
				
			||||||
    ../../modules/wsl
 | 
					    self.nixosModules.globals
 | 
				
			||||||
    globals
 | 
					    self.nixosModules.common
 | 
				
			||||||
    inputs.wsl.nixosModules.wsl
 | 
					    self.nixosModules.nixos
 | 
				
			||||||
    inputs.home-manager.nixosModules.home-manager
 | 
					    self.nixosModules.wsl
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      networking.hostName = "hydra";
 | 
					      networking.hostName = "hydra";
 | 
				
			||||||
      nixpkgs.overlays = overlays;
 | 
					 | 
				
			||||||
      identityFile = "/home/${globals.user}/.ssh/id_ed25519";
 | 
					      identityFile = "/home/${globals.user}/.ssh/id_ed25519";
 | 
				
			||||||
      gui.enable = false;
 | 
					      gui.enable = false;
 | 
				
			||||||
      theme = {
 | 
					      theme = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,46 +1,46 @@
 | 
				
			|||||||
# The Looking Glass
 | 
					# The Looking Glass
 | 
				
			||||||
# System configuration for my work Macbook
 | 
					# System configuration for my work Macbook
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ inputs, globals, overlays, ... }:
 | 
					{ self, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
inputs.darwin.lib.darwinSystem {
 | 
					self.inputs.darwin.lib.darwinSystem {
 | 
				
			||||||
  system = "x86_64-darwin";
 | 
					  system = "x86_64-darwin";
 | 
				
			||||||
  specialArgs = { };
 | 
					  specialArgs = { };
 | 
				
			||||||
  modules = [
 | 
					  modules = [
 | 
				
			||||||
    ../../modules/common
 | 
					    self.inputs.home-manager.darwinModules.home-manager
 | 
				
			||||||
    ../../modules/darwin
 | 
					    self.nixosModules.common
 | 
				
			||||||
    (globals // rec {
 | 
					    self.nixosModules.darwin
 | 
				
			||||||
      user = "Noah.Masur";
 | 
					    ({ config, lib, ... }: {
 | 
				
			||||||
      gitName = "Noah-Masur_1701";
 | 
					      config = rec {
 | 
				
			||||||
      gitEmail = "${user}@take2games.com";
 | 
					        user = lib.mkForce "Noah.Masur";
 | 
				
			||||||
    })
 | 
					        gitName = lib.mkForce "Noah-Masur_1701";
 | 
				
			||||||
    inputs.home-manager.darwinModules.home-manager
 | 
					        gitEmail = lib.mkForce "${user}@take2games.com";
 | 
				
			||||||
    {
 | 
					        nixpkgs.overlays = [ self.inputs.firefox-darwin.overlay ];
 | 
				
			||||||
      nixpkgs.overlays = [ inputs.firefox-darwin.overlay ] ++ overlays;
 | 
					        networking.hostName = "lookingglass";
 | 
				
			||||||
      networking.hostName = "lookingglass";
 | 
					        identityFile = "/Users/${user}/.ssh/id_ed25519";
 | 
				
			||||||
      identityFile = "/Users/Noah.Masur/.ssh/id_ed25519";
 | 
					        gui.enable = true;
 | 
				
			||||||
      gui.enable = true;
 | 
					        theme = {
 | 
				
			||||||
      theme = {
 | 
					          colors = (import ../../colorscheme/gruvbox-dark).dark;
 | 
				
			||||||
        colors = (import ../../colorscheme/gruvbox-dark).dark;
 | 
					          dark = true;
 | 
				
			||||||
        dark = true;
 | 
					        };
 | 
				
			||||||
 | 
					        mail.user = globals.user;
 | 
				
			||||||
 | 
					        charm.enable = true;
 | 
				
			||||||
 | 
					        neovim.enable = true;
 | 
				
			||||||
 | 
					        mail.enable = true;
 | 
				
			||||||
 | 
					        mail.aerc.enable = true;
 | 
				
			||||||
 | 
					        mail.himalaya.enable = false;
 | 
				
			||||||
 | 
					        kitty.enable = true;
 | 
				
			||||||
 | 
					        discord.enable = true;
 | 
				
			||||||
 | 
					        firefox.enable = true;
 | 
				
			||||||
 | 
					        dotfiles.enable = true;
 | 
				
			||||||
 | 
					        nixlang.enable = true;
 | 
				
			||||||
 | 
					        terraform.enable = true;
 | 
				
			||||||
 | 
					        python.enable = true;
 | 
				
			||||||
 | 
					        lua.enable = true;
 | 
				
			||||||
 | 
					        kubernetes.enable = true;
 | 
				
			||||||
 | 
					        _1password.enable = true;
 | 
				
			||||||
 | 
					        slack.enable = true;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      mail.user = globals.user;
 | 
					    })
 | 
				
			||||||
      charm.enable = true;
 | 
					 | 
				
			||||||
      neovim.enable = true;
 | 
					 | 
				
			||||||
      mail.enable = true;
 | 
					 | 
				
			||||||
      mail.aerc.enable = true;
 | 
					 | 
				
			||||||
      mail.himalaya.enable = false;
 | 
					 | 
				
			||||||
      kitty.enable = true;
 | 
					 | 
				
			||||||
      discord.enable = true;
 | 
					 | 
				
			||||||
      firefox.enable = true;
 | 
					 | 
				
			||||||
      dotfiles.enable = true;
 | 
					 | 
				
			||||||
      nixlang.enable = true;
 | 
					 | 
				
			||||||
      terraform.enable = true;
 | 
					 | 
				
			||||||
      python.enable = true;
 | 
					 | 
				
			||||||
      lua.enable = true;
 | 
					 | 
				
			||||||
      kubernetes.enable = true;
 | 
					 | 
				
			||||||
      _1password.enable = true;
 | 
					 | 
				
			||||||
      slack.enable = true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,31 +1,32 @@
 | 
				
			|||||||
# The Staff
 | 
					# The Staff
 | 
				
			||||||
# ISO configuration for my USB drive
 | 
					# ISO configuration for my USB drive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ inputs, system, overlays, ... }:
 | 
					{ self, system, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
inputs.nixos-generators.nixosGenerate {
 | 
					self.inputs.nixos-generators.nixosGenerate {
 | 
				
			||||||
  inherit system;
 | 
					  inherit system;
 | 
				
			||||||
  format = "install-iso";
 | 
					  format = "install-iso";
 | 
				
			||||||
  modules = [{
 | 
					  modules = [
 | 
				
			||||||
    nixpkgs.overlays = overlays;
 | 
					    self.nixosModules.global
 | 
				
			||||||
    networking.hostName = "staff";
 | 
					    self.nixosModules.common
 | 
				
			||||||
    users.extraUsers.root.openssh.authorizedKeys.keys = [
 | 
					    self.nixosModules.nixos
 | 
				
			||||||
      "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s"
 | 
					    ({ config, pkgs, ... }: {
 | 
				
			||||||
    ];
 | 
					      networking.hostName = "staff";
 | 
				
			||||||
    services.openssh = {
 | 
					      users.extraUsers.root.openssh.authorizedKeys.keys = [
 | 
				
			||||||
      enable = true;
 | 
					        "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s"
 | 
				
			||||||
      ports = [ 22 ];
 | 
					      ];
 | 
				
			||||||
      allowSFTP = true;
 | 
					      services.openssh = {
 | 
				
			||||||
      settings = {
 | 
					        enable = true;
 | 
				
			||||||
        GatewayPorts = "no";
 | 
					        ports = [ 22 ];
 | 
				
			||||||
        X11Forwarding = false;
 | 
					        allowSFTP = true;
 | 
				
			||||||
        PasswordAuthentication = false;
 | 
					        settings = {
 | 
				
			||||||
        PermitRootLogin = "yes";
 | 
					          GatewayPorts = "no";
 | 
				
			||||||
 | 
					          X11Forwarding = false;
 | 
				
			||||||
 | 
					          PasswordAuthentication = false;
 | 
				
			||||||
 | 
					          PermitRootLogin = "yes";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					      environment.systemPackages = with pkgs; [
 | 
				
			||||||
    environment.systemPackages =
 | 
					 | 
				
			||||||
      let pkgs = import inputs.nixpkgs { inherit system overlays; };
 | 
					 | 
				
			||||||
      in with pkgs; [
 | 
					 | 
				
			||||||
        git
 | 
					        git
 | 
				
			||||||
        vim
 | 
					        vim
 | 
				
			||||||
        wget
 | 
					        wget
 | 
				
			||||||
@@ -35,9 +36,10 @@ inputs.nixos-generators.nixosGenerate {
 | 
				
			|||||||
          colors = (import ../../colorscheme/gruvbox).dark;
 | 
					          colors = (import ../../colorscheme/gruvbox).dark;
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
    nix.extraOptions = ''
 | 
					      nix.extraOptions = ''
 | 
				
			||||||
      experimental-features = nix-command flakes
 | 
					        experimental-features = nix-command flakes
 | 
				
			||||||
      warn-dirty = false
 | 
					        warn-dirty = false
 | 
				
			||||||
    '';
 | 
					      '';
 | 
				
			||||||
  }];
 | 
					    })
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,17 +1,17 @@
 | 
				
			|||||||
# The Swan
 | 
					# The Swan
 | 
				
			||||||
# System configuration for my home NAS server
 | 
					# System configuration for my home NAS server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ inputs, globals, overlays, ... }:
 | 
					{ self, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
inputs.nixpkgs.lib.nixosSystem {
 | 
					self.inputs.nixpkgs.lib.nixosSystem {
 | 
				
			||||||
  system = "x86_64-linux";
 | 
					  system = "x86_64-linux";
 | 
				
			||||||
  specialArgs = { };
 | 
					  specialArgs = { };
 | 
				
			||||||
  modules = [
 | 
					  modules = [
 | 
				
			||||||
    globals
 | 
					    self.inputs.home-manager.nixosModules.home-manager
 | 
				
			||||||
    inputs.home-manager.nixosModules.home-manager
 | 
					    self.inputs.disko.nixosModules.disko
 | 
				
			||||||
    inputs.disko.nixosModules.disko
 | 
					    self.nixosModules.globals
 | 
				
			||||||
    ../../modules/common
 | 
					    self.nixosModules.common
 | 
				
			||||||
    ../../modules/nixos
 | 
					    self.nixosModules.nixos
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      # Hardware
 | 
					      # Hardware
 | 
				
			||||||
      server = true;
 | 
					      server = true;
 | 
				
			||||||
@@ -46,7 +46,6 @@ inputs.nixpkgs.lib.nixosSystem {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      gui.enable = false;
 | 
					      gui.enable = false;
 | 
				
			||||||
      theme = { colors = (import ../../colorscheme/gruvbox).dark; };
 | 
					      theme = { colors = (import ../../colorscheme/gruvbox).dark; };
 | 
				
			||||||
      nixpkgs.overlays = overlays;
 | 
					 | 
				
			||||||
      neovim.enable = true;
 | 
					      neovim.enable = true;
 | 
				
			||||||
      cloudflare.enable = true;
 | 
					      cloudflare.enable = true;
 | 
				
			||||||
      dotfiles.enable = true;
 | 
					      dotfiles.enable = true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,18 +1,16 @@
 | 
				
			|||||||
# The Tempest
 | 
					# The Tempest
 | 
				
			||||||
# System configuration for my desktop
 | 
					# System configuration for my desktop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ inputs, globals, overlays, ... }:
 | 
					{ self, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
inputs.nixpkgs.lib.nixosSystem {
 | 
					self.inputs.nixpkgs.lib.nixosSystem {
 | 
				
			||||||
  system = "x86_64-linux";
 | 
					  system = "x86_64-linux";
 | 
				
			||||||
  modules = [
 | 
					  modules = [
 | 
				
			||||||
    globals
 | 
					    self.inputs.home-manager.nixosModules.home-manager
 | 
				
			||||||
    inputs.home-manager.nixosModules.home-manager
 | 
					    self.nixosModules.globals
 | 
				
			||||||
    ../../modules/common
 | 
					    self.nixosModules.common
 | 
				
			||||||
    ../../modules/nixos
 | 
					    self.nixosModules.nixos
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      nixpkgs.overlays = overlays;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # Hardware
 | 
					      # Hardware
 | 
				
			||||||
      physical = true;
 | 
					      physical = true;
 | 
				
			||||||
      networking.hostName = "tempest";
 | 
					      networking.hostName = "tempest";
 | 
				
			||||||
@@ -53,7 +51,7 @@ inputs.nixpkgs.lib.nixosSystem {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      # Must be prepared ahead
 | 
					      # Must be prepared ahead
 | 
				
			||||||
      identityFile = "/home/${globals.user}/.ssh/id_ed25519";
 | 
					      identityFile = "/home/${globals.user}/.ssh/id_ed25519";
 | 
				
			||||||
      passwordHash = inputs.nixpkgs.lib.fileContents ../../password.sha512;
 | 
					      passwordHash = self.inputs.nixpkgs.lib.fileContents ../../password.sha512;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Theming
 | 
					      # Theming
 | 
				
			||||||
      gui.enable = true;
 | 
					      gui.enable = true;
 | 
				
			||||||
@@ -61,8 +59,8 @@ inputs.nixpkgs.lib.nixosSystem {
 | 
				
			|||||||
        colors = (import ../../colorscheme/gruvbox-dark).dark;
 | 
					        colors = (import ../../colorscheme/gruvbox-dark).dark;
 | 
				
			||||||
        dark = true;
 | 
					        dark = true;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      wallpaper = "${inputs.wallpapers}/gruvbox/road.jpg";
 | 
					      wallpaper = "${self.inputs.wallpapers}/gruvbox/road.jpg";
 | 
				
			||||||
      gtk.theme.name = inputs.nixpkgs.lib.mkDefault "Adwaita-dark";
 | 
					      gtk.theme.name = self.inputs.nixpkgs.lib.mkDefault "Adwaita-dark";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Programs and services
 | 
					      # Programs and services
 | 
				
			||||||
      charm.enable = true;
 | 
					      charm.enable = true;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user