diff --git a/flake.nix b/flake.nix index 37ae3d7..1cfc7b0 100644 --- a/flake.nix +++ b/flake.nix @@ -1,99 +1,122 @@ { - description = "moons nix configurations and development shells"; + description = "moons nix configurations and development shells"; - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; - nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - nixos-wsl.url = "github:nix-community/NixOS-WSL"; - home-manager = { - url = "github:nix-community/home-manager/release-25.11"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - vicinae.url = "github:vicinaehq/vicinae"; - ghostty.url = "github:ghostty-org/ghostty"; - niri-flake.url = "github:sodiboo/niri-flake"; - - quickshell = { - url = "github:outfoxxed/quickshell"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - noctalia = { - url = "github:noctalia-dev/noctalia-shell"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.quickshell.follows = "quickshell"; - }; - stylix = { - url = "github:nix-community/stylix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - lanzaboote = { - url = "github:nix-community/lanzaboote"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; + nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + nixos-wsl.url = "github:nix-community/NixOS-WSL"; + home-manager = { + url = "github:nix-community/home-manager/release-25.11"; + inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, ...}: + vicinae.url = "github:vicinaehq/vicinae"; + ghostty.url = "github:ghostty-org/ghostty"; + niri-flake.url = "github:sodiboo/niri-flake"; + + quickshell = { + url = "github:outfoxxed/quickshell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + noctalia = { + url = "github:noctalia-dev/noctalia-shell"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.quickshell.follows = "quickshell"; + }; + stylix = { + url = "github:nix-community/stylix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + lanzaboote = { + url = "github:nix-community/lanzaboote"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = + inputs@{ + self, + nixpkgs, + nixpkgs-unstable, + nixos-hardware, + home-manager, + ... + }: let - mkSystem = { host, system, profile, extraModules ? [ ] }: - nixpkgs.lib.nixosSystem { - inherit system; - specialArgs = { - inherit inputs; - inherit host; - inherit profile; - }; - modules = [ - ./overlays - ./modules/core - ./profiles/${profile}.nix - ./hosts/${host} - ] ++ extraModules; - }; - in { - nixosConfigurations = { - x1g9 = mkSystem { - host = "x1g9"; - system = "x86_64-linux"; - profile = "laptop"; - extraModules = [ ]; - }; - x1g13-wsl = mkSystem { - host = "x1g13-wsl"; - system = "x86_64-linux"; - profile = "cli"; - extraModules = [ ]; - }; - x1g13 = mkSystem { - host = "x1g13"; - system = "x86_64-linux"; - profile = "laptop"; - extraModules = [ ]; - }; - grafana = mkSystem { - host = "grafana"; - system = "x86_64-linux"; - profile = "cli-server"; - extraModules = [ ]; - }; - dev-1 = mkSystem { - host = "dev-1"; - system = "x86_64-linux"; - profile = "cli-server"; - extraModules = [ ]; - }; - }; - - devShells = { - x86_64-linux = - let - pkgs = import nixpkgs { system = "x86_64-linux"; }; - in { - next-web = import ./shells/next-web.nix { inherit pkgs; }; - jupyter = import ./shells/jupyter.nix { inherit pkgs; }; - rust = import ./shells/rust/default.nix { inherit pkgs; }; - }; + mkSystem = + { + host, + system, + profile, + extraModules ? [ ], + }: + nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = { + inherit inputs; + inherit host; + inherit profile; + }; + modules = [ + ./overlays + ./modules/core + ./profiles/${profile}.nix + ./hosts/${host} + ] + ++ extraModules; }; + in + { + nixosConfigurations = { + x1g9 = mkSystem { + host = "x1g9"; + system = "x86_64-linux"; + profile = "laptop"; + extraModules = [ ]; + }; + x1g13-wsl = mkSystem { + host = "x1g13-wsl"; + system = "x86_64-linux"; + profile = "cli"; + extraModules = [ ]; + }; + x1g13 = mkSystem { + host = "x1g13"; + system = "x86_64-linux"; + profile = "laptop"; + extraModules = [ ]; + }; + grafana = mkSystem { + host = "grafana"; + system = "x86_64-linux"; + profile = "cli-server"; + extraModules = [ ]; + }; + dev-1 = mkSystem { + host = "dev-1"; + system = "x86_64-linux"; + profile = "cli-server"; + extraModules = [ ]; + }; + service-1 = mkSystem { + host = "service-1"; + system = "x86_64-linux"; + profile = "cli-server"; + extraModules = [ ]; + }; + }; + + devShells = { + x86_64-linux = + let + pkgs = import nixpkgs { system = "x86_64-linux"; }; + in + { + next-web = import ./shells/next-web.nix { inherit pkgs; }; + jupyter = import ./shells/jupyter.nix { inherit pkgs; }; + rust = import ./shells/rust/default.nix { inherit pkgs; }; + }; + }; }; } diff --git a/hosts/service-1/default.nix b/hosts/service-1/default.nix new file mode 100644 index 0000000..1ad056a --- /dev/null +++ b/hosts/service-1/default.nix @@ -0,0 +1,12 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ ... }: + +{ + imports = + [ + ./hardware-configuration.nix + ]; +} diff --git a/modules/home/ssh.nix b/modules/home/ssh.nix index 5cbaf32..7347d21 100644 --- a/modules/home/ssh.nix +++ b/modules/home/ssh.nix @@ -24,6 +24,12 @@ identityFile = "~/.ssh/id_ed25519_sk_rk"; identitiesOnly = true; }; + + "service-1.moons14.com" = { + host = "service-1.moons14.com"; + identityFile = "~/.ssh/id_ed25519_sk_rk"; + identitiesOnly = true; + }; }; extraConfig = ''