diff --git a/.sops.yaml b/.sops.yaml index cced503..13b33c5 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -3,6 +3,7 @@ keys: - &xun age17pdqkpfh6kc6wm7gxzdnwf6vphlwddv9yfpdu3j76e24y3amd9tq3avfc8 - &hosts: - &nixdesk age155sscpw0x36t6s9usdrz7relpxqrtqnk98mrc7s0qcv2n0v3zd7sfl2xn8 + - &hopper age15mgf89h220puhz48rjpwxwu4n2h4edur60w6cd8gku2hh4e5kqpsghvnyw creation_rules: - path_regex: secrets/global @@ -10,3 +11,4 @@ creation_rules: - age: - *xun - *nixdesk + - *hopper diff --git a/Justfile b/Justfile new file mode 100644 index 0000000..fe6c653 --- /dev/null +++ b/Justfile @@ -0,0 +1,6 @@ +remote OPERATION HOST: + nixos-rebuild \ + --flake .#{{HOST}} \ + --target-host xun@{{HOST}} \ + --use-remote-sudo \ + {{OPERATION}} diff --git a/flake.lock b/flake.lock index df8c668..60db70a 100644 --- a/flake.lock +++ b/flake.lock @@ -253,11 +253,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1706814790, - "narHash": "sha256-loRIH95dJHeuNPxtYHhzaj2vq0uYk76e58thWD3pte8=", + "lastModified": 1707418504, + "narHash": "sha256-/tc19gAuAGJpg2mrVzT79OqjqvyytX72eBQ2UxQz+ng=", "owner": "xunuwu", "repo": "neovim-config", - "rev": "96d8f8d57bd2a8478120b2d56706a786ad00df6b", + "rev": "7979a74509653c17f6242f7a2432705584d19f7f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index febaea5..57705b3 100644 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,7 @@ alejandra nil git + just home-manager sops ]; diff --git a/home/profiles/default.nix b/home/profiles/default.nix index 063dc07..c26a6a8 100644 --- a/home/profiles/default.nix +++ b/home/profiles/default.nix @@ -16,6 +16,10 @@ programs.nix-index.enableFishIntegration = false; } ]; + "xun@hopper" = [ + ../. + ./hopper + ]; }; inherit (inputs.home-manager.lib) homeManagerConfiguration; @@ -31,6 +35,10 @@ in { modules = homeImports."xun@nixdesk"; inherit pkgs extraSpecialArgs; }; + "xun@hopper" = homeManagerConfiguration { + modules = homeImports."xun@hopper"; + inherit pkgs extraSpecialArgs; + }; }; }; } diff --git a/home/profiles/hopper/default.nix b/home/profiles/hopper/default.nix index 115d5f3..bf08fc3 100644 --- a/home/profiles/hopper/default.nix +++ b/home/profiles/hopper/default.nix @@ -2,6 +2,12 @@ imports = [ ../../editors/nvim.nix ../../terminal/shell/zsh.nix + ../../terminal/emulator/wezterm.nix + + ../../programs/browsers/firefox.nix + + ../../programs/desktop/awesome + ../../programs/games/steam.nix ../../programs/media ../../programs/media/jellyfin.nix diff --git a/hosts/default.nix b/hosts/default.nix index 5183653..22ff0a9 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -21,6 +21,7 @@ ++ [ ./nixdesk "${mod}/programs/gamemode.nix" + "${mod}/services/syncthing.nix" "${self}/secrets" { home-manager = { @@ -33,8 +34,36 @@ hopper = nixosSystem { inherit specialArgs; modules = [ - ./core - ./core/boot.nix + ./hopper + + "${self}/secrets" + + "${mod}/core" + + "${mod}/programs/home-manager.nix" + + "${mod}/desktop" + "${mod}/desktop/awesome.nix" + + "${mod}/hardware/opengl.nix" + "${mod}/hardware/steam-hardware.nix" + "${mod}/hardware/bluetooth.nix" + "${mod}/hardware/qmk.nix" + + "${mod}/network/avahi.nix" + "${mod}/network/networkd.nix" + "${mod}/network/tailscale.nix" + + "${mod}/services" + "${mod}/services/pipewire.nix" + "${mod}/services/syncthing.nix" + + { + home-manager = { + users.xun.imports = homeImports."xun@hopper"; + extraSpecialArgs = specialArgs; + }; + } ]; }; }; diff --git a/hosts/hopper/default.nix b/hosts/hopper/default.nix index 79aa262..9fc0939 100644 --- a/hosts/hopper/default.nix +++ b/hosts/hopper/default.nix @@ -1,8 +1,7 @@ -{inputs}: { +{inputs, ...}: { imports = with inputs.hardware.nixosModules; [ common-cpu-intel common-pc-hdd - common-gpu-nvidia ./hardware.nix ]; diff --git a/hosts/hopper/hardware.nix b/hosts/hopper/hardware.nix index c3179cb..b7d0120 100644 --- a/hosts/hopper/hardware.nix +++ b/hosts/hopper/hardware.nix @@ -1,4 +1,14 @@ -{...}: { +{config, ...}: { + nixpkgs.hostPlatform.system = "x86_64-linux"; + + ## nvidia gpu + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + modesetting.enable = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + boot = { initrd = { availableKernelModules = ["ehci_pci" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"]; diff --git a/hosts/nixdesk/default.nix b/hosts/nixdesk/default.nix index 33caea5..712a953 100644 --- a/hosts/nixdesk/default.nix +++ b/hosts/nixdesk/default.nix @@ -13,6 +13,8 @@ networking.hostName = "nixdesk"; + boot.kernelPackages = pkgs.linuxPackages_latest; + swapDevices = []; system.stateVersion = "23.11"; diff --git a/secrets/global/tailscale-auth.yaml b/secrets/global/tailscale-auth.yaml index 9e931a7..fba67c0 100644 --- a/secrets/global/tailscale-auth.yaml +++ b/secrets/global/tailscale-auth.yaml @@ -8,20 +8,29 @@ sops: - recipient: age17pdqkpfh6kc6wm7gxzdnwf6vphlwddv9yfpdu3j76e24y3amd9tq3avfc8 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4NDFCaFgvSkZhQlRqQVht - TERneCtOT1FJaitHcC84Q0p1TUFYbzk1YUNzCitvZ1VERnF1Y2h1c3pUcE5Bakt0 - aDdZVG9Hbk9oZWhPazM4WENGNk0zTUUKLS0tIDFjdEZVQW5KVTdlWnJsYlRndjVm - WGRSUkRtVmgyOGxGVldoSzlqdUNYQTQKX54s95pBnSuyKvcyQb66APolxcWW6/Bj - dou/h8tLVs2DaH87Q6x0n/s2cXvhMUgI0W/IKmdpT0rchhx3eR9I4g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHNjdjOTlnamxOZkhtUlRF + VTdpVVZYS3ptVEJ6cDJZSytCblhFRW1ITlZVCnVObmZHVW5mckpVSFZ2ZStsdVBU + SDZqME9odzRyK2R3SHNDR3g1MzNtT28KLS0tIDJCQ3V2eEtIU0g5NHE1R0lHVXRt + Y3VIZkh6V0JYQXlXaW9TMldNYVNUZTgKZxeO1era8Ozf8EOgBOUScBn3wPAjYSeW + BhO/LDqyb2edMLI/vDu3KeCkd8VOlGJTgk4E3jaqQ8PCYTQj50OWqQ== -----END AGE ENCRYPTED FILE----- - recipient: age155sscpw0x36t6s9usdrz7relpxqrtqnk98mrc7s0qcv2n0v3zd7sfl2xn8 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzbUM2VHdyd2JlLzB0R3p1 - YXIvK3BYY3JZT2lKaFB0ckJoVTd5UnJzc0dnClV2d1FKVkhtRWxNc1pBQm96dWFU - aHlGSHVmTG5kQjB0T3ZSUFdiV1pEakEKLS0tIEVOMHVDOFFEYXU2MUtpSXMzQVUv - d3JjTkVWM2piSEZIcjB1SHZkNTZsWnMKOmbBX9YXH4KrNOV7xs60FKyBf3QU2gy4 - K8lHha4EqnG9DMiDsvDQNP49BlKfUSSRTqVQHo1nWEC1m1FQ3Rh47Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzdkt3eFBVQTY4eGR4QXhr + WnJ1eTQwZmhZdjR6Q1NSQk9mRE51VG0zODJFCkg4TjBBaXd5bmNUOUNwSVNwYTdM + cXV5WDB5L3pWWE96MHJicjE1MXorcmMKLS0tIFVZUmlSRTV5TFk0Z0QyKzhTSlJU + MmZrRWF5TDlFMWZZZDlvZFdnMDFMOGcKUVhuMvgB3ssoRuZ6yOkfLHKLR2Z1X7Bq + cIiet0ypbAKt1sYpPl5L+xs5m3vnuNZQnUvv8gdW7VlepVmLR0IFEQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age15mgf89h220puhz48rjpwxwu4n2h4edur60w6cd8gku2hh4e5kqpsghvnyw + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiR0doT0kxRXlwa2taY25P + WVJxZ3E0R1IwbWJVOG5OSlRtTDVqZ0R3dlhjCjFsN1NUc2hqYWlSTGJ4RGp1Y21F + djFkNzNzM0ZzMmhtd291OWtSWEZWWjgKLS0tIFJ2VnlCeHZibDUwYk05QzBYdkR3 + eVpKdlRpSnprclN4Wm4wVHpjYzVnSEUK49UF2IeDXzF9PiISIo0QjltkoFIa6Y8D + w2DJIys0Pfw5kGrVTLAgHMOMYmss4EdD4mwY+DQYWHqxTX0P2TKM9w== -----END AGE ENCRYPTED FILE----- lastmodified: "2024-01-26T23:17:57Z" mac: ENC[AES256_GCM,data:7vnKNCZsqSCersnIJviHetgTt6qZOvO50yOSWCq+8rPVt5IK9abWtTUEZfDtZI0oIvOsOJjAlvCPLn94kknn6y0UspKE4aTTIGQQctM5cHzFL2xMsOaTqBLLMWxvpkAkWFQ8Lpg5v57/X2Rex8M0x1GRB74/KDDXs4TXz0v9fJk=,iv:ZnbiB2JS7bQZy3QNdyz3Ijbukh2YoH63huCNUijFLcM=,tag:Fhi6/5+X5dMe/cKejunVvA==,type:str] diff --git a/system/core/boot.nix b/system/core/boot.nix index 5b4a42c..98828e9 100644 --- a/system/core/boot.nix +++ b/system/core/boot.nix @@ -6,12 +6,8 @@ boot = { initrd = { systemd.enable = true; - supportedFilesystems = ["ext4"]; }; - ## use latest kernel - kernelPackages = pkgs.linuxPackages_latest; - consoleLogLevel = 3; kernelParams = [ "quiet" diff --git a/system/hardware/qmk.nix b/system/hardware/qmk.nix new file mode 100644 index 0000000..ad75324 --- /dev/null +++ b/system/hardware/qmk.nix @@ -0,0 +1,3 @@ +{ + hardware.keyboard.qmk.enable = true; +} diff --git a/system/hardware/steam-hardware.nix b/system/hardware/steam-hardware.nix new file mode 100644 index 0000000..6d160bd --- /dev/null +++ b/system/hardware/steam-hardware.nix @@ -0,0 +1,3 @@ +{ + hardware.steam-hardware.enable = true; +}