diff --git a/flake.nix b/flake.nix index a42dff5..a14936d 100644 --- a/flake.nix +++ b/flake.nix @@ -33,8 +33,6 @@ system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ - home-manager.nixosModules.home-manager - ./hosts/vps/default.nix ]; }; diff --git a/home/lilac.nix b/home/lilac.nix index 047aa36..8ac9712 100644 --- a/home/lilac.nix +++ b/home/lilac.nix @@ -1,14 +1,11 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: { - home.username = "olive"; - home.homeDirectory = "/olive"; + home.username = "lilac"; + home.homeDirectory = "/home/lilac"; home.packages = with pkgs; [ - tor-browser - git - kitty zsh helix ]; @@ -16,33 +13,30 @@ programs.git = { enable = true; settings = { - user = { - name = "Lilac"; - email = "lilac@grasswren.net"; - }; - core = { - editor = "hx"; - }; - init = { - defaultBranch = "main"; - }; + user.name = "Lilac"; + user.email = "lilac@grasswren.net"; + core.editor = "hx"; + init.defaultBranch = "main"; }; }; programs.zsh = { - enable = true; + enable = true; + enableCompletion = true; + autosuggestion.enable = true; + syntaxHighlighting.enable = true; - enableCompletion = true; - autosuggestion.enable = true; - syntaxHighlighting.enable = true; + shellAliases = { + ls = "ls -A"; + }; + }; - shellAliases = { - ls = "ls -A"; - }; + programs.helix = { + enable = true; }; home.sessionVariables = { - EDITOR = "hx"; + EDITOR = "hx"; }; programs.home-manager.enable = true; diff --git a/home/root.nix b/home/root.nix deleted file mode 100644 index 45816d7..0000000 --- a/home/root.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - home.username = "root"; - home.homeDirectory = "/root"; - - imports = [ - ./tools.nix - ]; - - programs.home-manager.enable = true; - home.stateVersion = "26.05"; -} diff --git a/home/tools.nix b/home/tools.nix deleted file mode 100644 index cd76107..0000000 --- a/home/tools.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - home.packages = with pkgs; [ - git - zsh - helix - ]; - - programs.git = { - enable = true; - settings = { - user.name = "Lilac"; - user.email = "lilac@grasswren.net"; - core.editor = "hx"; - init.defaultBranch = "main"; - }; - }; - - programs.zsh = { - enable = true; - enableCompletion = true; - autosuggestion.enable = true; - syntaxHighlighting.enable = true; - - shellAliases = { - ls = "ls -A"; - }; - }; - - programs.helix = { - enable = true; - }; - - home.sessionVariables = { - EDITOR = "hx"; - }; -} diff --git a/hosts/desktop/default.nix b/hosts/desktop/default.nix index f6047cf..f50cdf1 100644 --- a/hosts/desktop/default.nix +++ b/hosts/desktop/default.nix @@ -7,21 +7,30 @@ ../../modules/network.nix ../../modules/ssh.nix ../../modules/wireguard.nix + ../../modules/site.nix ../../modules/gitea.nix + ../../modules/navidrome.nix ]; network.node = "desktop"; networking.hostName = "desktop"; + users.users.lilac = { + isNormalUser = true; + group = "lilac"; + extraGroups = [ "wheel" "render" "video" "input" "uinput" ]; + }; + users.groups.lilac = {}; home-manager = { useGlobalPkgs = true; useUserPackages = true; - users.root = import ../../home/root.nix; + users.lilac = import ../../home/lilac.nix; }; programs.zsh.enable = true; - users.users.root.shell = pkgs.zsh; + users.users.lilac.shell = pkgs.zsh; + security.sudo.wheelNeedsPassword = false; time.timeZone = "America/Toronto"; @@ -55,6 +64,24 @@ pulse.enable = true; }; + services.sunshine = { + enable = true; + autoStart = true; + capSysAdmin = true; + openFirewall = true; + }; + networking.firewall.interfaces.wg0.allowedTCPPorts = [ 47984 47989 47990 48010 ]; + networking.firewall.interfaces.wg0.allowedUDPPorts = [ 47998 47999 48000 48002 48010 ]; + services.displayManager.autoLogin.enable = true; + services.displayManager.autoLogin.user = "lilac"; + + systemd.sleep.settings.Sleep = { + AllowSuspend = "no"; + AllowHibernation = "no"; + AllowHybridSleep = "no"; + AllowSuspendThenHibernate = "no"; + }; + nixpkgs.config.allowUnfree = true; nix.settings.experimental-features = [ "nix-command" "flakes" ]; system.stateVersion = "26.05"; diff --git a/hosts/vps/default.nix b/hosts/vps/default.nix index cef447e..50ab260 100644 --- a/hosts/vps/default.nix +++ b/hosts/vps/default.nix @@ -7,21 +7,13 @@ ../../modules/network.nix ../../modules/ssh.nix ../../modules/wireguard.nix + ../../modules/http-forwarding.nix ]; network.node = "vps"; networking.hostName = "vps"; - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - - users.root = import ../../home/root.nix; - }; - programs.zsh.enable = true; - users.users.root.shell = pkgs.zsh; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; system.stateVersion = "26.05"; } diff --git a/modules/navidrome.nix b/modules/navidrome.nix new file mode 100644 index 0000000..83bfcea --- /dev/null +++ b/modules/navidrome.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +{ + services.navidrome.enable = true; + services.navidrome.settings = { + MusicFolder = "/var/lib/media/music"; + }; + + services.caddy.enable = true; + services.caddy.virtualHosts."music.grasswren.net".extraConfig = '' + reverse_proxy localhost:4533 + ''; + + networking.firewall.allowedTCPPorts = [ 4533 ]; +} diff --git a/modules/ssh.nix b/modules/ssh.nix index 59caa9e..9c8e9d2 100644 --- a/modules/ssh.nix +++ b/modules/ssh.nix @@ -20,8 +20,15 @@ in port = 22; }]; }; + users.users.root.openssh.authorizedKeys.keys = [ config.network.nodes.laptop.ssh config.network.nodes.desktop.ssh ]; + users.users.lilac = lib.mkIf (config.network.node != "vps") { + openssh.authorizedKeys.keys = [ + config.network.nodes.laptop.ssh + config.network.nodes.desktop.ssh + ]; + }; }