]> Skullheadx's Git Forge - nixos.git/commitdiff
mutli host
authorSkullheadx <admonty1@protonmail.com>
Sat, 23 May 2026 23:11:44 +0000 (19:11 -0400)
committerSkullheadx <admonty1@protonmail.com>
Sat, 23 May 2026 23:11:44 +0000 (19:11 -0400)
flake.nix
hosts/icon/configuration.nix [new file with mode: 0644]
hosts/nepsis/configuration.nix [moved from configuration.nix with 82% similarity]
hosts/nepsis/hardware-configuration.nix [moved from hardware-configuration.nix with 100% similarity]
linux-common.nix [new file with mode: 0644]

index fa473f086ef445925a4e0829875e7fb020fc7247..9b76d894d92a170b178d30255c4fc349a3cdb12d 100644 (file)
--- a/flake.nix
+++ b/flake.nix
       url = "github:notashelf/nvf";
       inputs.nixpkgs.follows = "nixpkgs";
     };
-
   };
-  outputs =
-    {
-      self,
-      nixpkgs,
-      hjem,
-      my-slstatus,
-      my-surf,
-      my-dwm,
-      my-st,
-      my-dmenu,
-      nvf,
-    }@inputs:
-    let
-      system = "x86_64-linux";
-      pkgs = nixpkgs.legacyPackages.${system};
-      customNeovim = nvf.lib.neovimConfiguration {
-        inherit pkgs;
-        modules = [ ./nvf/nvf.nix ];
-      };
-    in
-    {
-      nixosConfigurations.nepsis = nixpkgs.lib.nixosSystem {
-        specialArgs = { inherit inputs customNeovim; };
-        modules = [
-          hjem.nixosModules.default
-          ./configuration.nix
-          ./overlays.nix
-        ];
-      };
-
-      packages.${system}.my-neovim = customNeovim.neovim;
+  outputs = {
+    self,
+    nixpkgs,
+    hjem,
+    my-slstatus,
+    my-surf,
+    my-dwm,
+    my-st,
+    my-dmenu,
+    nvf,
+  } @ inputs: let
+    system = "x86_64-linux";
+    pkgs = nixpkgs.legacyPackages.${system};
+    customNeovim = nvf.lib.neovimConfiguration {
+      inherit pkgs;
+      modules = [./nvf/nvf.nix];
+    };
+  in {
+    nixosConfigurations.nepsis = nixpkgs.lib.nixosSystem {
+      specialArgs = {inherit inputs customNeovim;};
+      modules = [
+        hjem.nixosModules.default
+        ./linux-common.nix
+        ./hosts/nepsis/configuration.nix
+        ./overlays.nix
+      ];
     };
+    nixosConfigurations.icon = nixpkgs.lib.nixosSystem {
+      modules = [
+        hjem.nixosModules.default
+        ./linux-common.nix
+        ./hosts/icon/configuration.nix
+        ./overlays.nix
+      ];
+    };
+
+    packages.${system}.my-neovim = customNeovim.neovim;
+  };
 }
diff --git a/hosts/icon/configuration.nix b/hosts/icon/configuration.nix
new file mode 100644 (file)
index 0000000..e803175
--- /dev/null
@@ -0,0 +1,73 @@
+{
+  config,
+  pkgs,
+  inputs,
+  ...
+}: {
+  imports = [
+    ./hardware-configuration.nix
+  ];
+
+  networking.hostName = "icon";
+  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
+
+  # Configure network proxy if necessary
+  # networking.proxy.default = "http://user:password@proxy:port/";
+  # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+
+  # List packages installed in system profile. To search, run:
+  # $ nix search wget
+  environment.systemPackages = with pkgs; [
+  ];
+
+  programs.git = {
+    enable = true;
+    config = {
+      user = {
+        name = "Skullheadx";
+        email = "admonty1@protonmail.com";
+      };
+      pull.rebase = true;
+      url = {
+        "git@github.com:".insteadOf = "https://github.com/";
+      };
+    };
+  };
+
+  programs.nix-ld.enable = true;
+  programs.nix-ld.libraries = with pkgs; [
+    # Add any missing dynamic libraries for unpackaged
+    # programs here, NOT in environment.systemPackages
+  ];
+
+  environment.sessionVariables = {
+  };
+
+  # Some programs need SUID wrappers, can be configured further or are
+  # started in user sessions.
+  # programs.mtr.enable = true;
+  programs.gnupg.agent = {
+    enable = true;
+    enableSSHSupport = true;
+  };
+
+  # Services
+  services.openssh.enable = true;
+  services.rsync = {
+    enable = true;
+  };
+
+  # Open ports in the firewall.
+  # networking.firewall.allowedTCPPorts = [ ... ];
+  # networking.firewall.allowedUDPPorts = [ ... ];
+  # Or disable the firewall altogether.
+  # networking.firewall.enable = false;
+
+  # This value determines the NixOS release from which the default
+  # settings for stateful data, like file locations and database versions
+  # on your system were taken. It‘s perfectly fine and recommended to leave
+  # this value at the release version of the first install of this system.
+  # Before changing this value read the documentation for this option
+  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
+  system.stateVersion = "25.05"; # Did you read the comment?
+}
similarity index 82%
rename from configuration.nix
rename to hosts/nepsis/configuration.nix
index edda4659738d311bc8ee0a9691e3d882309235c9..6dc148e59e71728d2dc1f37d034f0626786c4de1 100644 (file)
@@ -6,42 +6,19 @@
 }: {
   imports = [
     ./hardware-configuration.nix
-    ./lockscreen.nix
-    ./x11.nix
-    ./hjem.nix
-    ./audio.nix
-    ./vim.nix
-    ./sh.nix
+    ./../../lockscreen.nix
+    ./../../x11.nix
+    ./../../hjem.nix
+    ./../../audio.nix
   ];
 
-  # Bootloader.
-  boot.loader.systemd-boot.enable = true;
-  boot.loader.efi.canTouchEfiVariables = true;
-
-  boot.supportedFilesystems = ["exfat"];
-
-  # Use latest kernel.
-  boot.kernelPackages = pkgs.linuxPackages_latest;
-
   networking.hostName = "nepsis";
-  networking.networkmanager.enable = true;
   # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
 
   # Configure network proxy if necessary
   # networking.proxy.default = "http://user:password@proxy:port/";
   # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
 
-  time.timeZone = "America/Toronto";
-
-  i18n.defaultLocale = "en_CA.UTF-8";
-
-  # Allow unfree packages
-  nixpkgs.config.allowUnfree = true;
-  nix.settings.experimental-features = [
-    "nix-command"
-    "flakes"
-  ];
-
   # List packages installed in system profile. To search, run:
   # $ nix search wget
   environment.systemPackages = with pkgs; [
diff --git a/linux-common.nix b/linux-common.nix
new file mode 100644 (file)
index 0000000..101d7eb
--- /dev/null
@@ -0,0 +1,97 @@
+{
+  config,
+  pkgs,
+  inputs,
+  ...
+}: {
+  imports = [
+    ./sh.nix
+  ];
+
+  # Bootloader.
+  boot.loader.systemd-boot.enable = true;
+  boot.loader.efi.canTouchEfiVariables = true;
+  boot.supportedFilesystems = ["exfat"];
+
+  # Use latest kernel.
+  boot.kernelPackages = pkgs.linuxPackages_latest;
+
+  networking.networkmanager.enable = true;
+  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
+
+  # Configure network proxy if necessary
+  # networking.proxy.default = "http://user:password@proxy:port/";
+  # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+
+  time.timeZone = "America/Toronto";
+
+  i18n.defaultLocale = "en_CA.UTF-8";
+
+  # Allow unfree packages
+  nixpkgs.config.allowUnfree = true;
+  nix.settings.experimental-features = [
+    "nix-command"
+    "flakes"
+  ];
+
+  # List packages installed in system profile. To search, run:
+  # $ nix search wget
+  environment.systemPackages = with pkgs; [
+    wget
+    nixfmt
+    fastfetch
+    pamixer
+    gcc
+  ];
+
+  programs.git = {
+    enable = true;
+    config = {
+      user = {
+        name = "Skullheadx";
+        email = "admonty1@protonmail.com";
+      };
+      pull.rebase = true;
+      url = {
+        "git@github.com:".insteadOf = "https://github.com/";
+      };
+    };
+  };
+
+  programs.nix-ld.enable = true;
+  programs.nix-ld.libraries = with pkgs; [
+    # Add any missing dynamic libraries for unpackaged
+    # programs here, NOT in environment.systemPackages
+  ];
+
+  environment.sessionVariables = {
+  };
+
+  # Some programs need SUID wrappers, can be configured further or are
+  # started in user sessions.
+  # programs.mtr.enable = true;
+  programs.gnupg.agent = {
+    enable = true;
+    enableSSHSupport = true;
+  };
+
+  # Services
+  services.openssh.enable = true;
+  services.rsync = {
+    enable = true;
+  };
+
+  # Open ports in the firewall.
+  # networking.firewall.allowedTCPPorts = [ ... ];
+  # networking.firewall.allowedUDPPorts = [ ... ];
+  # Or disable the firewall altogether.
+  # networking.firewall.enable = false;
+
+  # This value determines the NixOS release from which the default
+  # settings for stateful data, like file locations and database versions
+  # on your system were taken. It‘s perfectly fine and recommended to leave
+  # this value at the release version of the first install of this system.
+  # Before changing this value read the documentation for this option
+  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
+  system.stateVersion = "25.05"; # Did you read the comment?
+}