diff --git a/data/default.nix b/data/default.nix deleted file mode 100644 index b74062ca..00000000 --- a/data/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - hosts = builtins.fromTOML (builtins.readFile ./hosts.toml); - services = builtins.fromTOML (builtins.readFile ./services.toml); -} diff --git a/data/packages.nix b/data/packages.nix deleted file mode 100644 index 31df67b7..00000000 --- a/data/packages.nix +++ /dev/null @@ -1,3 +0,0 @@ -{inputs, pkgs, ...}: { - nvim = inputs.nvim.packages.${pkgs.system}.neovim; -} diff --git a/flake.lock b/flake.lock index 0c5c59a9..08b57e41 100644 --- a/flake.lock +++ b/flake.lock @@ -331,6 +331,22 @@ "type": "github" } }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -407,6 +423,43 @@ "type": "github" } }, + "flake-utils-plus": { + "inputs": { + "flake-utils": "flake-utils_2" + }, + "locked": { + "lastModified": 1715533576, + "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flakey-profile": { "locked": { "lastModified": 1712898590, @@ -1123,7 +1176,8 @@ "nur": "nur", "nvim": "nvim", "prismlauncher": "prismlauncher", - "systems": "systems", + "snowfall": "snowfall", + "systems": "systems_2", "wayland": "wayland" } }, @@ -1161,6 +1215,28 @@ "type": "github" } }, + "snowfall": { + "inputs": { + "flake-compat": "flake-compat_3", + "flake-utils-plus": "flake-utils-plus", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716675292, + "narHash": "sha256-7TFvVE4HR/b65/0AAhewYHEJzUXxIEJn82ow5bCkrDo=", + "owner": "snowfallorg", + "repo": "lib", + "rev": "5d6e9f235735393c28e1145bec919610b172a20f", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "repo": "lib", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -1176,6 +1252,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index 2e311a73..600586b5 100644 --- a/flake.nix +++ b/flake.nix @@ -35,7 +35,13 @@ netrc-file = "/home/thehedgehog/.netrc"; }; description = "PyroNet machines and services"; + inputs = { + snowfall = { + url = "github:snowfallorg/lib"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs-mesa.url = "github:K900/nixpkgs/mesa-24.1"; nixpkgs-nvim.url = "github:nixos/nixpkgs?rev=d5786c1b5dd2d560724b78f3ce51f1f4ef52d053"; @@ -180,135 +186,138 @@ }; }; - outputs = inputs @ { - self, - nixpkgs, - nixpkgs-mesa, - alejandra, - buildbot-nix, - ctp, - golink, - hardware, - iceshrimp, - # lanzaboote, - lix-module, - mailserver, - mkshell-minimal, - neovim, - nix-index, - nix-index-database, - nixd, - nur, - my-pkgs, - prismlauncher, - wayland, - ... - }: let + outputs = inputs @ {self, ...}: let + # Overlay alejandra alejandra-overlay = final: prev: { - alejandra = alejandra.defaultPackage.${prev.system}; + alejandra = inputs.alejandra.defaultPackage.${prev.system}; }; + # Overlay custom mesa version + mesa-overlay = final: prev: { + inherit (inputs.nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; + }; + # Overlay my custom packages as pkgs.my-pkgs my-pkgs2 = final: prev: {my-pkgs = self.packages."${prev.system}";}; + # Overlay nix-index package nix-index-overlay = final: prev: { - inherit (nix-index.packages.${prev.system}) nix-index; - }; - mesa-overlay = final: prev: { - inherit (nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; + inherit (inputs.nix-index.packages.${prev.system}) nix-index; }; - overlays = [ - mesa-overlay - (import ./overlays/sway.nix) - my-pkgs.overlays.cinny - my-pkgs2 - alejandra-overlay - golink.overlay - # lanzaboote.overlays.default - lix-module.overlays.default - neovim.overlay - nixd.overlays.default - nix-index-overlay - nur.overlay - prismlauncher.overlays.default - wayland.overlays.default - ]; - pkgs = import nixpkgs { - inherit overlays; - localSystem = "x86_64-linux"; - config = { + in inputs.snowfall.mkFlake { + inherit inputs; + src = ./.; + namespace = "py"; + + # Nixpkgs configuration + channels-config = { allowUnfree = true; - joypixels.acceptLicense = true; - permittedInsecurePackages = ["electron-19.0.7" "openssl-1.1.1t" "nodejs-16.20.0"]; }; - }; - - mkShell = mkshell-minimal pkgs; - - lib = nixpkgs.lib; - data = { - inherit (import ./data) hosts services; - packages = import ./data/packages.nix {inherit pkgs inputs;}; - }; - inherit (import ./lib { inherit self lib pkgs inputs data; }) myLib; - - in rec { - packages.${pkgs.system} = { - caddy = pkgs.callPackage ./pkgs/caddyBin.nix {}; - go-jamming = pkgs.callPackage ./pkgs/go-jamming.nix {}; - nerdfont-symbols = pkgs.callPackage ./pkgs/nerdfont-symbols.nix {}; - olympus = pkgs.callPackage ./pkgs/olympus.nix {}; - customGit = pkgs.git.override { withLibsecret = true; withSsh = true; }; - }; - nixosModules = { - default = import ./modules/pyrox.nix; - dn42-pingfinder = import ./modules/dn42-pingfinder.nix; - }; - - nixosConfigurations.marvin = myLib.hosts.mkHost { - hostname = "marvin"; - coreCount = 12; - extraModules = [ - iceshrimp.nixosModules.default - golink.nixosModules.default - buildbot-nix.nixosModules.buildbot-master - buildbot-nix.nixosModules.buildbot-worker - nixosModules.default + # Overlays for Nixpkgs. + overlays = [ + alejandra-overlay + mesa-overlay + my-pkgs2 + nix-index-overlay + (import ./overlays/sway.nix) + inputs.my-pkgs.overlays.cinny + inputs.golink.overlay + # inputs.lanzaboote.overlays.default + inputs.lix-module.overlays.default + inputs.neovim.overlay + inputs.nixd.overlays.default + inputs.nur.overlay + inputs.prismlauncher.overlays.default + inputs.wayland.overlays.default ]; - }; - nixosConfigurations.prefect = myLib.hosts.mkHost { - hostname = "prefect"; - coreCount = 4; - extraModules = [ - mailserver.nixosModule - self.nixosModules.dn42-pingfinder - ]; - }; + # Home-manager configurations + homes = { + # Default modules for all homes + modules = with inputs; [ + nix-index-database.hmModules.nix-index + ctp.homeManagerModules.catppuccin + ]; + }; - nixosConfigurations.thought = myLib.hosts.mkHost { - hostname = "thought"; - coreCount = 3; - extraModules = [ - self.nixosModules.dn42-pingfinder - ]; - users = ["pyrox"]; - }; + # NixOS Configurations + systems = { + modules.nixos = with inputs; [ + self.nixosModules.default + ctp.nixosModules.catppuccin + lix-module.nixosModules.default + agenix.nixosModules.default + ]; - nixosConfigurations.zaphod = myLib.hosts.mkHost { - hostname = "zaphod"; - profile = "desktop"; - coreCount = 8; - extraModules = [ - hardware.nixosModules.framework-16-7040-amd - ]; - users = ["thehedgehog"]; - }; + systems.hosts.prefect.modules = with inputs; [ + self.nixosModules.dn42-pingfinder + ]; - devShells.${pkgs.system}.default = mkShell { - buildInputs = [ - # deploy-rs.packages.${system}.default - # colmena.packages.${system}.colmena - ]; + systems.hosts.marvin.modules = with inputs; [ + self.nixosModules.forgejo-runner + iceshrimp.nixosModules.default + golink.nixosModules.default + buildbot-nix.nixosModules.buildbot-master + buildbot-nix.nixosModules.buildbot-worker + ]; + }; + + outputs-builder = channels: let + pkgs = channels.nixpkgs; + in { + # Define default packages to use everywhere + packages = { + nvim = inputs.nvim.packages.${pkgs.system}.neovim; + customGit = pkgs.git.override { withLibsecret = true; withSsh = true; }; + }; + formatter = pkgs.nixfmt-rfc-style; + }; }; - }; + # in rec { + # nixosConfigurations.marvin = myLib.hosts.mkHost { + # hostname = "marvin"; + # coreCount = 12; + # extraModules = [ + # inputs.iceshrimp.nixosModules.default + # inputs.golink.nixosModules.default + # inputs.buildbot-nix.nixosModules.buildbot-master + # inputs.buildbot-nix.nixosModules.buildbot-worker + # nixosModules.default + # ]; + # }; + # + # nixosConfigurations.prefect = myLib.hosts.mkHost { + # hostname = "prefect"; + # coreCount = 4; + # extraModules = [ + # inputs.mailserver.nixosModule + # self.nixosModules.dn42-pingfinder + # ]; + # }; + # + # nixosConfigurations.thought = myLib.hosts.mkHost { + # hostname = "thought"; + # coreCount = 3; + # extraModules = [ + # self.nixosModules.dn42-pingfinder + # ]; + # users = ["pyrox"]; + # }; + # + # nixosConfigurations.zaphod = myLib.hosts.mkHost { + # hostname = "zaphod"; + # profile = "desktop"; + # coreCount = 8; + # extraModules = [ + # inputs.hardware.nixosModules.framework-16-7040-amd + # ]; + # users = ["thehedgehog"]; + # }; + # + # devShells.${pkgs.system}.default = mkShell { + # buildInputs = [ + # # inputs.deploy-rs.packages.${pkgs.system}.default + # # inputs.colmena.packages.${pkgs.system}.colmena + # ]; + # }; + # }; } diff --git a/homes/x86_64-linux/pyrox/files/distrobox-config.nix b/homes/x86_64-linux/pyrox/files/distrobox-config.nix new file mode 100644 index 00000000..88169691 --- /dev/null +++ b/homes/x86_64-linux/pyrox/files/distrobox-config.nix @@ -0,0 +1,7 @@ +{ + xdg.configFile."distrobox/distrobox.conf" = { + text = '' + distrobox_sudo_program="doas" + ''; + }; +} diff --git a/homes/x86_64-linux/pyrox/files/pamKeys.nix b/homes/x86_64-linux/pyrox/files/pamKeys.nix new file mode 100644 index 00000000..d886c83c --- /dev/null +++ b/homes/x86_64-linux/pyrox/files/pamKeys.nix @@ -0,0 +1,5 @@ +{ + xdg.configFile."Yubico/u2f_keys".text = '' + thehedgehog:iC1dk7d+DYFX60wpkDlWdwNpkRLXmML7iDjxh4TRXe8OhsAb2pgKiY6tVLHeZIK3WOVA1DuWU8rWlHdma3eqJg==,NdBJTVCvOamU35ad3fJRv6A6YZQIYrojcVk9a8WYMVvTtKO+xyIeBvunlidHv4Zb0rYrOvK6u7Gb4N5x6T6FIQ==,es256,+presence:juWx2IphhNuHZHiv8nG3i2WWTyR5A+CWp5iHz2AmE7aj3b3rgj85Gl1PMpmZlvlwDgbCP+dlcP5PPzTFloB3Ow==,FEXBkP0PzZSURoIbLuGiRRHFIcSiqEz/ieNPRqRY/hqLJ4AsvGwJ1xdIX7F8qAQuMSp8m7usuBLS4u+4FGg3Ng==,es256,+presence + ''; +} diff --git a/homes/x86_64-linux/pyrox/files/rbw-gc.nix b/homes/x86_64-linux/pyrox/files/rbw-gc.nix new file mode 100644 index 00000000..bde55eec --- /dev/null +++ b/homes/x86_64-linux/pyrox/files/rbw-gc.nix @@ -0,0 +1,42 @@ +{pkgs, ...}: { + home.file."bin/git-credential-rbw".text = '' + #${pkgs.bash}/bin/bash + + declare -A params + + if [ "x$1" == "xget" ]; then + read line + while [ -n "$line" ]; do + key=''${line%%=*} + value=''${line#*=} + params[$key]=$value + read line + done + + if [ "''${params['protocol']}" != "xhttps" ]; then + exit + fi + + if [ -z "''${params["host"]}" ]; then + exit + fi + + rbw ls > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "Please login to rbw to use git credential helper" > /dev/stderr + exit + fi + + user=`rbw get --full ''${params["host"]} | grep "Username:" | cut -d' ' -f2-` + pass=`rbw get ''${params["host"]}` + + if [ "x$user" == "x" ] || [ "x$pass" == "x" ]; then + echo "Couldn't find host in rbw DB." > /dev/stderr + exit + fi + + echo username=$user + echo password=$pass + fi + ''; +} diff --git a/homes/x86_64-linux/pyrox/files/ssh-auth-signers.nix b/homes/x86_64-linux/pyrox/files/ssh-auth-signers.nix new file mode 100644 index 00000000..bfc2336e --- /dev/null +++ b/homes/x86_64-linux/pyrox/files/ssh-auth-signers.nix @@ -0,0 +1,9 @@ +{ + home.file.".ssh/authorized_signatures".text = '' + hedgehog@mrhedgehog.xyz ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== + hedgehog@mrhedgehog.xyz ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= + me@thehedgehog.me ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== + me@thehedgehog.me ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= + me@thehedgehog.me ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK97n2SgV/U1mLzxcaEDl85iF5D3jm7xboZ+S01+CbM/8zxVoWyjVHCqTwDcrLwP0c5Z51BNj7U0UkGIgR4zTSM= + ''; +} diff --git a/homes/x86_64-linux/pyrox/files/tokyo-night.json b/homes/x86_64-linux/pyrox/files/tokyo-night.json new file mode 100644 index 00000000..23135aff --- /dev/null +++ b/homes/x86_64-linux/pyrox/files/tokyo-night.json @@ -0,0 +1,28 @@ +{ + "wallpaper": "~/.config/wpg/wallpapers/nix-snowflake.png", + "alpha": "100", + + "special": { + "background": "#1A1B26", + "foreground": "#A9B1D6", + "cursor": "#A9B1D6" + }, + "colors": { + "color0": "#1A1B26", + "color1": "#F7768E", + "color2": "#73DACA", + "color3": "#E0AF68", + "color4": "#7AA2F7", + "color5": "#BB9AF7", + "color6": "#7DCFFF", + "color7": "#A9B1D6", + "color8": "#414868", + "color9": "#F7768E", + "color10": "#73DACA", + "color11": "#E0AF68", + "color12": "#7AA2F7", + "color13": "#BB9AF7", + "color14": "#7DCFFF", + "color15": "#A9B1D6" + } +} diff --git a/homes/x86_64-linux/pyrox/programs/bat.nix b/homes/x86_64-linux/pyrox/programs/bat.nix new file mode 100644 index 00000000..e7728493 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/bat.nix @@ -0,0 +1,6 @@ +{ + programs.bat = { + enable = true; + catppuccin.enable = true; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/chromium.nix b/homes/x86_64-linux/pyrox/programs/chromium.nix new file mode 100644 index 00000000..c36e889b --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/chromium.nix @@ -0,0 +1,6 @@ +{pkgs, ...}: { + programs.chromium = { + enable = true; + package = pkgs.ungoogled-chromium; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/direnv.nix b/homes/x86_64-linux/pyrox/programs/direnv.nix new file mode 100644 index 00000000..89fe4b43 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/direnv.nix @@ -0,0 +1,34 @@ +{ + programs.direnv = { + enable = true; + enableBashIntegration = true; + enableNushellIntegration = true; + enableZshIntegration = true; + nix-direnv.enable = true; + stdlib = '' + layout_poetry() { + PYPROJECT_TOML="\$\{PYPROJECT_TOML:-pyproject.toml}" + if [[ ! -f "$PYPROJECT_TOML" ]]; then + log_status "No pyproject.toml found. Executing \`poetry init\` to create a \`$PYPROJECT_TOML\` first." + poetry init + fi + + if [[ -d ".venv" ]]; then + VIRTUAL_ENV="$(pwd)/.venv" + else + VIRTUAL_ENV=$(poetry env info --path 2>/dev/null ; true) + fi + + if [[ -z $VIRTUAL_ENV || ! -d $VIRTUAL_ENV ]]; then + log_status "No virtual environment exists. Executing \`poetry install\` to create one." + poetry install + VIRTUAL_ENV=$(poetry env info --path) + fi + + PATH_add "$VIRTUAL_ENV/bin" + export POETRY_ACTIVE=1 + export VIRTUAL_ENV + } + ''; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/emacs/default.nix b/homes/x86_64-linux/pyrox/programs/emacs/default.nix new file mode 100644 index 00000000..f77f325f --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/emacs/default.nix @@ -0,0 +1,14 @@ +{pkgs, ...}: { + programs.emacs = { + enable = true; + package = + (pkgs.emacsPackagesFor pkgs.emacs-pgtk).emacsWithPackages + (epkgs: [epkgs.vterm]); + }; + services.emacs = { + enable = true; + package = + (pkgs.emacsPackagesFor pkgs.emacs-pgtk).emacsWithPackages + (epkgs: [epkgs.vterm]); + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/email.nix b/homes/x86_64-linux/pyrox/programs/email.nix new file mode 100644 index 00000000..000a46d2 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/email.nix @@ -0,0 +1,9 @@ +{ + pkgs, + lib, + ... +}: { + programs.msmtp.enable = true; + programs.mbsync.enable = true; + programs.mu.enable = true; +} diff --git a/homes/x86_64-linux/pyrox/programs/firefox/default.nix b/homes/x86_64-linux/pyrox/programs/firefox/default.nix new file mode 100644 index 00000000..dfe20830 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/firefox/default.nix @@ -0,0 +1,46 @@ +{pkgs, ...}: { + imports = [./extraPrefs.nix ./policies.nix]; + programs.firefox = { + enable = true; + package = pkgs.firefox.override { + cfg = { + smartcardSupport = true; + pipewireSupport = true; + ffmpegSupport = true; + }; + }; + profiles = { + default = { + id = 0; + isDefault = true; + name = "Default"; + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + augmented-steam + bitwarden + clearurls + consent-o-matic + cookie-autodelete + darkreader + don-t-fuck-with-paste + enhanced-github + facebook-container + header-editor + istilldontcareaboutcookies + kagi-search + libredirect + lovely-forks + multi-account-containers + privacy-pass + protondb-for-steam + pywalfox + reddit-moderator-toolbox + refined-github + sourcegraph + steam-database + stylus + ublock-origin + ]; + }; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/firefox/extraPrefs.nix b/homes/x86_64-linux/pyrox/programs/firefox/extraPrefs.nix new file mode 100644 index 00000000..87eb1c36 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/firefox/extraPrefs.nix @@ -0,0 +1,171 @@ +{ + programs.firefox.profiles.default.extraConfig = '' + user_pref("accessibility.typeaheadfind.flashBar", 0); + user_pref("app.normandy.api_url", ""); + user_pref("app.normandy.enabled", false); + user_pref("app.normandy.first_run", false); + user_pref("app.shield.optoutstudies.enabled", false); + user_pref("app.update.auto", false); + user_pref("app.update.backgroundErrors", 1); + user_pref("app.update.disable_button.showUpdateHistory", false); + user_pref("beacon.enabled", false); + user_pref("browser.aboutConfig.showWarning", false); + user_pref("browser.bookmarks.addedImportButton", true); + user_pref("browser.contentblocking.report.hide_vpn_banner", true); + user_pref("browser.contentblocking.report.lockwise.enabled", false); + user_pref("browser.contentblocking.report.show_mobile_app", false); + user_pref("browser.contentblocking.report.social.url", ""); + user_pref("browser.formfill.enable", false); + user_pref("browser.laterrun.bookkeeping.profileCreationTime", 0); + user_pref("browser.laterrun.bookkeeping.sessionCount", 0); + user_pref("browser.newtabpage.activity-stream.discoverystream.enabled", false); + user_pref("browser.newtabpage.activity-stream.discoverystream.endpointSpocsClear", ""); + user_pref("browser.newtabpage.activity-stream.discoverystream.endpoints", ""); + user_pref("browser.newtabpage.activity-stream.discoverystream.personalization.enabled", false); + user_pref("browser.newtabpage.activity-stream.discoverystream.readTime.enabled", false); + user_pref("browser.newtabpage.activity-stream.discoverystream.rec.impressions", "{}"); + user_pref("browser.newtabpage.activity-stream.discoverystream.recentSaves.enabled", false); + user_pref("browser.newtabpage.activity-stream.discoverystream.saveToPocketCard.enabled", false); + user_pref("browser.newtabpage.activity-stream.discoverystream.sendToPocket.enabled", false); + user_pref("browser.newtabpage.activity-stream.discoverystream.spoc.impressions", "{}"); + user_pref("browser.newtabpage.activity-stream.feeds.recommendationprovider", false); + user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); + user_pref("browser.newtabpage.activity-stream.impressionId", "{}"); + user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); + user_pref("browser.newtabpage.activity-stream.telemetry", false); + user_pref("browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint", ""); + user_pref("browser.newtabpage.activity-stream.telemetry.ut.events", false); + user_pref("browser.partnerlink.attributionURL", ""); + user_pref("browser.partnerlink.campaign.topsites", ""); + user_pref("browser.ping-centre.telemetry", false); + user_pref("browser.places.importBookmarksHTML", false); + user_pref("browser.pocket.enabled", false); + user_pref("browser.safebrowsing.downloads.enabled", false); + user_pref("browser.safebrowsing.downloads.remote.block_dangerous", false); + user_pref("browser.safebrowsing.downloads.remote.block_dangerous_host", false); + user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); + user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false); + user_pref("browser.safebrowsing.downloads.remote.enabled", false); + user_pref("browser.safebrowsing.downloads.remote.url", ""); + user_pref("browser.safebrowsing.malware.enabled", false); + user_pref("browser.safebrowsing.phishing.enabled", false); + user_pref("browser.safebrowsing.provider.google.advisoryURL", ""); + user_pref("browser.safebrowsing.provider.google.gethashURL", ""); + user_pref("browser.safebrowsing.provider.google.gethashURL", ""); + user_pref("browser.safebrowsing.provider.google.reportURL", ""); + user_pref("browser.safebrowsing.provider.google.updateURL", ""); + user_pref("browser.safebrowsing.provider.google4.advisoryURL", ""); + user_pref("browser.safebrowsing.provider.google4.dataSharingURL", ""); + user_pref("browser.safebrowsing.provider.google4.gethashURL", ""); + user_pref("browser.safebrowsing.provider.google4.lists", ""); + user_pref("browser.safebrowsing.provider.google4.reportURL", ""); + user_pref("browser.safebrowsing.provider.google4.updateURL", ""); + user_pref("browser.safebrowsing.provider.mozilla.gethashURL", ""); + user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", ""); + user_pref("browser.safebrowsing.provider.mozilla.lists", ""); + user_pref("browser.safebrowsing.provider.mozilla.lists.base", ""); + user_pref("browser.safebrowsing.provider.mozilla.lists.content", ""); + user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", ""); + user_pref("browser.safebrowsing.provider.mozilla.updateURL", ""); + user_pref("browser.search.serpEventTelemetry.enabled", false); + user_pref("browser.send_pings", false); + user_pref("browser.tabs.warnOnClose", true); + user_pref("browser.urlbar.eventTelemetry.enabled", false); + user_pref("browser.urlbar.quicksuggest.dataCollection.enabled", false); + user_pref("browser.urlbar.suggest.addons", false); + user_pref("browser.urlbar.suggest.bookmark", true); + user_pref("browser.urlbar.suggest.calculator", true); + user_pref("browser.urlbar.suggest.clipboard", false); + user_pref("browser.urlbar.suggest.engines", false); + user_pref("browser.urlbar.suggest.history", true); + user_pref("browser.urlbar.suggest.mdn", false); + user_pref("browser.urlbar.suggest.openpage", true); + user_pref("browser.urlbar.suggest.pocket", false); + user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); + user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false); + user_pref("browser.urlbar.suggest.topsites", false); + user_pref("browser.urlbar.suggest.trending", false); + user_pref("browser.urlbar.suggest.weather", false); + user_pref("datareporting.healthreport.infoURL", ""); + user_pref("datareporting.policy.firstRunURL", ""); + user_pref("device.sensors.ambientLight.enabled", false); + user_pref("device.sensors.enabled", false); + user_pref("device.sensors.motion.enabled", false); + user_pref("device.sensors.orientation.enabled", false); + user_pref("device.sensors.proximity.enabled", false); + user_pref("device.sensors.test.events", false); + user_pref("devtools.chrome.enabled", true); + user_pref("doh-rollout.uri", ""); + user_pref("dom.battery.enabled", false); + user_pref("dom.event.clipboardevents.enabled", false); + user_pref("dom.security.unexpected_system_load_telemetry_enabled", false); + user_pref("dom.webgpu.enabled", true); + user_pref("extensions.formautofill.addresses.enabled", false); + user_pref("extensions.formautofill.creditCards.enabled", false); + user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); + user_pref("extensions.pocket.enabled", false); + user_pref("extensions.pocket.showHome", false); + user_pref("extensions.pocket.site", ""); + user_pref("extensions.recommendations.privacyPolicyUrl", ""); + user_pref("extensions.recommendations.themeRecommendationUrl", ""); + user_pref("extensions.ui.dictionary.hidden", true); + user_pref("extensions.update.autoUpdateDefault", false); + user_pref("extensions.webextensions.restrictedDomains", ""); + user_pref("layers.acceleration.disabled", false); + user_pref("network.predictor.enabled", false); + user_pref("network.prefetch-next", false); + user_pref("network.trr.confirmation_telemetry_enabled", false); + user_pref("privacy.clearOnShutdown.downloads", true); + user_pref("privacy.donottrackheader.enabled", false); + user_pref("privacy.resistFingerprinting.block_mozAddonManager", true); + user_pref("privacy.trackingprotection.origin_telemetry.enabled", false); + user_pref("remote.prefs.recommended", false); + user_pref("security.app_menu.recordEventTelemetry", false); + user_pref("security.certerrors.recordEventTelemetry", false); + user_pref("security.identitypopup.recordEventTelemetry", false); + user_pref("security.protectionspopup.recordEventTelemetry", false); + user_pref("services.settings.server", ""); + user_pref("signon.autofillForms", false); + user_pref("signon.generation.enabled", false); + user_pref("signon.management.page.breach-alerts.enabled", false); + user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); + user_pref("toolkit.telemetry.bhrPing.enabled", false); + user_pref("toolkit.telemetry.cachedClientID", ""); + user_pref("toolkit.telemetry.dap_enabled", false); + user_pref("toolkit.telemetry.dap_helper", ""); + user_pref("toolkit.telemetry.dap_leader", ""); + user_pref("toolkit.telemetry.dap_task1_enabled", false); + user_pref("toolkit.telemetry.debugSlowSql", false); + user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); + user_pref("toolkit.telemetry.geckoview.streaming", false); + user_pref("toolkit.telemetry.newProfilePing.enabled", false); + user_pref("toolkit.telemetry.pioneer-new-studies-available", false); + user_pref("toolkit.telemetry.previousBuildID", ""); + user_pref("toolkit.telemetry.reportingpolicy.firstRun", ""); + user_pref("toolkit.telemetry.server", ""); + user_pref("toolkit.telemetry.server_owner", ""); + user_pref("toolkit.telemetry.shutdownPingSender.backgroundtask.enabled", false); + user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); + user_pref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false); + user_pref("toolkit.telemetry.testing.overrideProductsCheck", false); + user_pref("toolkit.telemetry.unified", false); + user_pref("toolkit.telemetry.updatePing.enabled", ""); + user_pref("ui.systemUsesDarkTheme", 1); + user_pref("webgl.force-enabled", true); + user_pref("xpinstall.signatures.required", false); + '' + + # Fastfox tweaks + '' + user_pref("media.memory_cache_max_size", 65536); + user_pref("browser.cache.jsbc_compression_level", 3); + user_pref("image.mem.decode_bytes_at_a_time", 32768); + user_pref("network.http.max-connections", 1800); + user_pref("network.http.max-persistent-connections-per-server", 10); + user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5); + user_pref("network.dns.max_high_priority_threads", 8); + user_pref("network.ssl_tokens_cache_capacity", 10240); + user_pref("network.dns.disablePrefetch", true); + user_pref("browser.places.speculativeConnect.enabled", false); + user_pref("browser.urlbar.speculativeConnect.enabled", false); + ''; +} diff --git a/homes/x86_64-linux/pyrox/programs/firefox/policies.nix b/homes/x86_64-linux/pyrox/programs/firefox/policies.nix new file mode 100644 index 00000000..c81d379a --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/firefox/policies.nix @@ -0,0 +1,47 @@ +{ + programs.firefox.policies = { + AppAutoUpdate = false; + DisableAppUpdate = true; + DisableFirefoxAccounts = true; + DisableFirefoxStudies = true; + DisableMasterPasswordCreation = true; + DisablePocket = true; + DisableTelemetry = true; + DNSOverHTTPS = { + Enabled = false; + ProviderURL = "https://dns.nextdns.io/36e7f7"; + Locked = true; + }; + ExtensionUpdate = false; + FirefoxHome = { + Search = true; + TopSites = false; + SponsoredTopSites = false; + Highlights = false; + Pocket = false; + SponsoredPocket = false; + Snippets = false; + Locked = true; + }; + Homepage = { + URL = "https://dash.pyrox.dev"; + Locked = true; + StartPage = "homepage-locked"; + }; + ManualAppUpdateOnly = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + OverrideFirstRunPage = ""; + OverridePostUpdatePage = ""; + PasswordManagerEnabled = false; + SearchBar = "unified"; + ShowHomeButton = false; + UserMessaging = { + WhatsNew = false; + ExtensionRecommendations = false; + FeatureRecommendations = false; + UrlbarInterventions = false; + SkipOnboarding = false; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/fish.nix b/homes/x86_64-linux/pyrox/programs/fish.nix new file mode 100644 index 00000000..6dd2cd5d --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/fish.nix @@ -0,0 +1,45 @@ +{pkgs, lib, ...}: let + inherit (lib) getExe; +in { + programs.fish = { + enable = true; + catppuccin.enable = true; + shellAliases = { + "lg" = getExe pkgs.lazygit; + "cat" = getExe pkgs.bat; + "gls" = "${getExe pkgs.eza} -lah@ --icons --git --git-ignore --no-user"; + "ls" = "${getExe pkgs.eza} --icons -a"; + "ll" = "${getExe pkgs.eza} --icons -lah@"; + "lt" = "${getExe pkgs.eza} --icons --tree -a"; + "tt" = getExe pkgs.taskwarrior-tui; + "dig" = getExe pkgs.doggo; + }; + shellInit = '' + set -x GPG_TTY (tty) + set -x SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket) + gpgconf --launch gpg-agent + ''; + + interactiveShellInit = '' + fzf_configure_bindings --directory=\cf --git_log=\cl --git_status=\cg \ + --history=\cr --variables=\cv --processes=\cp + any-nix-shell fish --info-right | source + ''; + + plugins = [ + { + name = "nix-env"; + src = pkgs.fetchFromGitHub { + owner = "lilyball"; + repo = "nix-env.fish"; + rev = "7b65bd228429e852c8fdfa07601159130a818cfa"; + sha256 = "sha256-RG/0rfhgq6aEKNZ0XwIqOaZ6K5S4+/Y5EEMnIdtfPhk="; + }; + } + { + inherit (pkgs.fishPlugins.fzf-fish) src; + name = "fzf-fish"; + } + ]; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/fzf.nix b/homes/x86_64-linux/pyrox/programs/fzf.nix new file mode 100644 index 00000000..ea22aeca --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/fzf.nix @@ -0,0 +1,8 @@ +{ + programs.fzf = { + enable = true; + enableBashIntegration = true; + enableZshIntegration = true; + catppuccin.enable = true; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/gh.nix b/homes/x86_64-linux/pyrox/programs/gh.nix new file mode 100644 index 00000000..591316f9 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/gh.nix @@ -0,0 +1,12 @@ +{pkgs, data, lib, ...}: { + programs.gh = { + enable = true; + gitCredentialHelper.enable = true; + settings = { + editor = lib.getExe data.packages.nvim; + git_protocol = "https"; + browser = "${pkgs.firefox-wayland}/bin/firefox"; + prompt = "enabled"; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/git.nix b/homes/x86_64-linux/pyrox/programs/git.nix new file mode 100644 index 00000000..5d9e3ba0 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/git.nix @@ -0,0 +1,73 @@ +{pkgs, lib, data, ...}: +{ + programs.git = { + enable = true; + package = pkgs.my-pkgs.customGit; + aliases = { + a = "add -p"; + co = "checkout"; + cob = "checkout -b"; + f = "fetch -p"; + c = "commit"; + p = "push"; + ba = "branch -a"; + bd = "branch -d"; + bD = "branch -D"; + d = "diff"; + dc = "diff --cached"; + ds = "diff --staged"; + r = "restore"; + rs = "restore --staged"; + st = "status -sb"; + # reset + soft = "reset --soft"; + hard = "reset --hard"; + s1ft = "soft HEAD~1"; + h1rd = "hard HEAD~1"; + # logging + lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; + plog = "log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'"; + tlog = "log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative"; + rank = "shortlog -sn --no-merges"; + # delete merged branches + bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"; + wt = "worktree"; + }; + delta = { + enable = true; + options.line-numbers = true; + }; + extraConfig = { + core.editor = lib.getExe data.packages.nvim; + init.defaultBranch = "main"; + pull.rebase = false; + # gpg.format = "ssh"; + gpg."ssh".allowedSignersFile = "~/.ssh/authorized_signatures"; + "credential \"https://git.pyrox.dev\"".username = "pyrox"; + credential.helper = "rbw"; + }; + lfs = { + enable = true; + skipSmudge = false; + }; + signing = { + key = "0xFE1D8A7D620C611F"; + signByDefault = true; + }; + userEmail = "pyrox@pyrox.dev"; + userName = "Pyrox"; + }; + programs.lazygit = { + enable = true; + catppuccin.enable = true; + settings = { + gui.nerdFontsVersion = "3"; + gui.showRandomTip = false; + gui.theme.selectedLineBgColor = ["default"]; + git.paging = { + pager = "${lib.getExe pkgs.delta} --dark --paging=never"; + colorArg = "always"; + }; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/gpg.nix b/homes/x86_64-linux/pyrox/programs/gpg.nix new file mode 100644 index 00000000..f6d75c6e --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/gpg.nix @@ -0,0 +1,39 @@ +{pkgs, ...}: { + programs.gpg = { + enable = true; + settings = { + personal-cipher-preferences = "AES256 AES192 AES"; + personal-digest-preferences = "SHA512 SHA384 SHA256"; + personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed"; + default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed"; + cert-digest-algo = "SHA512"; + s2k-digest-algo = "SHA512"; + s2k-cipher-algo = "AES256"; + charset = "utf-8"; + fixed-list-mode = true; + no-comments = true; + no-emit-version = true; + no-greeting = true; + keyid-format = "0xlong"; + list-options = "show-uid-validity"; + verify-options = "show-uid-validity"; + with-fingerprint = true; + with-key-origin = true; + require-cross-certification = true; + no-symkey-cache = true; + use-agent = true; + throw-keyids = true; + default-key = "0x7D5107866B1C6752"; + trusted-key = "0x7D5107866B1C6752"; + keyserver = "hkps://keys.openpgp.org"; + }; + scdaemonSettings = { + card-timeout = "60"; + pcsc-shared = true; + # shared-access = true; + disable-ccid = true; + pcsc-driver = "${pkgs.pcsclite.out}/lib/libpcsclite.so"; + reader-port = "Yubico Yubi"; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/helix.nix b/homes/x86_64-linux/pyrox/programs/helix.nix new file mode 100644 index 00000000..3c883be6 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/helix.nix @@ -0,0 +1,32 @@ +{ + programs.helix = { + enable = true; + catppuccin.enable = true; + catppuccin.useItalics = true; + settings = { + editor = { + line-number = "absolute"; + mouse = false; + auto-save = true; + true-color = true; + bufferline = "multiple"; + cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; + lsp = { + display-messages = true; + auto-signature-help = true; + display-signature-help-docs = true; + }; + whitespace.render = { + space = "none"; + tab = "all"; + newline = "all"; + }; + indent-guides.render = true; + }; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/kitty.nix b/homes/x86_64-linux/pyrox/programs/kitty.nix new file mode 100644 index 00000000..2a44ebd4 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/kitty.nix @@ -0,0 +1,49 @@ +{pkgs, lib, data, ...}: { + programs.kitty = { + enable = true; + catppuccin.enable = true; + font.name = "BlexMono Nerd Font"; + font.size = 14; + settings = { + # Font settings + bold_font = "BlexMono Nerd Font Bold"; + italic_font = "BlexMono Nerd Font Italic"; + bold_italic_font = "BlexMono Nerd Font Bold Italic"; + # Cursor Settings + scrollback_lines = 10000; + wheel_scroll_multiplier = 3; + touch_scroll_multiplier = 2; + scrollback_pager = "${lib.getExe pkgs.page}"; + cursor_shape = "block"; + # Mouse settings + mouse_hide_wait = "0.5"; + open_url_with = "default"; + strip_trailing_spaces = "smart"; + focus_follows_mouse = true; + # Perf settings + repaint_delay = 16; + sync_to_monitor = true; + # Terminal Bell settings + enable_audio_bell = false; + # Window settings + hide_window_decorations = true; + # Tab Bar settings + tab_bar_edge = "bottom"; + tab_bar_margin_width = 0; + tab_bar_margin_height = "0 0"; + tab_bar_style = "powerline"; + tab_bar_min_tabs = 2; + + shell = "fish"; + editor = "${lib.getExe data.packages.nvim}"; + allow_remote_control = "socket-only"; + listen_on = "unix:/tmp/mykitty"; + update_check_interval = 0; + allow_hyperlinks = true; + shell_integration = "no-cursor"; + term = "xterm-kitty"; + remember_window_size = "no"; + linux_display_server = "wayland"; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/navi.nix b/homes/x86_64-linux/pyrox/programs/navi.nix new file mode 100644 index 00000000..c1712257 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/navi.nix @@ -0,0 +1,9 @@ +{ + programs.navi = { + enable = true; + enableBashIntegration = true; + enableFishIntegration = true; + enableZshIntegration = true; + settings = {finder = {command = "fzf";};}; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/ncmpcpp.nix b/homes/x86_64-linux/pyrox/programs/ncmpcpp.nix new file mode 100644 index 00000000..171ab5fa --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/ncmpcpp.nix @@ -0,0 +1,12 @@ +{ + programs.ncmpcpp = { + enable = true; + settings = { + visualizer_data_source = "/tmp/mpd.fifo"; + visualizer_output_name = "viz"; + visualizer_in_stereo = "yes"; + visualizer_type = "ellipse"; + visualizer_look = "+."; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/neovim.nix b/homes/x86_64-linux/pyrox/programs/neovim.nix new file mode 100644 index 00000000..e9f1e1af --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/neovim.nix @@ -0,0 +1,25 @@ +{ + pkgs, + lib, + data, + ... +}: { + programs.neovim = { + enable = true; + package = data.packages.nvim; + viAlias = true; + vimAlias = true; + vimdiffAlias = true; + withNodeJs = false; + withPython3 = false; + withRuby = false; + extraPackages = [ + pkgs.fd + pkgs.ffmpegthumbnailer + pkgs.fontpreview + pkgs.gcc + pkgs.poppler + pkgs.ueberzug + ]; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/nix-index.nix b/homes/x86_64-linux/pyrox/programs/nix-index.nix new file mode 100644 index 00000000..afa8a5a6 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/nix-index.nix @@ -0,0 +1,8 @@ +{ + programs.nix-index = { + enable = true; + enableBashIntegration = true; + enableFishIntegration = true; + enableZshIntegration = true; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/nushell/config.nu b/homes/x86_64-linux/pyrox/programs/nushell/config.nu new file mode 100644 index 00000000..d156bc85 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/nushell/config.nu @@ -0,0 +1,369 @@ +source ~/.zoxide.nu +source ~/.cache/starship/init.nu + +source /home/thehedgehog/.cache/starship/init.nu + +let-env config = ($env | default {} config).config +let-env config = ($env.config | default {} hooks) +let-env config = ($env.config | update hooks ($env.config.hooks | default [] pre_prompt)) +let-env config = ($env.config | update hooks.pre_prompt ($env.config.hooks.pre_prompt | append { + code: " + let direnv = (direnv export json | from json) + let direnv = if ($direnv | length) == 1 { $direnv } else { {} } + $direnv | load-env + " +})) + +let-env config = { + ls: { + use_ls_colors: true # use the LS_COLORS environment variable to colorize output + clickable_links: true # enable or disable clickable links. Your terminal has to support links. + } + rm: { + always_trash: false # always act as if -t was given. Can be overridden with -p + } + cd: { + abbreviations: false # allows `cd s/o/f` to expand to `cd some/other/folder` + } + table: { + mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other + index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column + trim: { + methodology: wrapping # wrapping or truncating + wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology + truncating_suffix: "..." # A suffix used by the 'truncating' methodology + } + } + + explore: { + help_banner: true + exit_esc: true + + command_bar_text: '#C4C9C6' + # command_bar: {fg: '#C4C9C6' bg: '#223311' } + + status_bar_background: {fg: '#1D1F21' bg: '#C4C9C6' } + # status_bar_text: {fg: '#C4C9C6' bg: '#223311' } + + highlight: {bg: 'yellow' fg: 'black' } + + status: { + # warn: {bg: 'yellow', fg: 'blue'} + # error: {bg: 'yellow', fg: 'blue'} + # info: {bg: 'yellow', fg: 'blue'} + } + + try: { + # border_color: 'red' + # highlighted_color: 'blue' + + # reactive: false + } + + table: { + split_line: '#404040' + + cursor: true + + line_index: true + line_shift: true + line_head_top: true + line_head_bottom: true + + show_head: true + show_index: true + + # selected_cell: {fg: 'white', bg: '#777777'} + # selected_row: {fg: 'yellow', bg: '#C1C2A3'} + # selected_column: blue + + # padding_column_right: 2 + # padding_column_left: 2 + + # padding_index_left: 2 + # padding_index_right: 1 + } + + config: { + cursor_color: {bg: 'yellow' fg: 'black' } + + # border_color: white + # list_color: green + } + } + + history: { + max_size: 10000 # Session has to be reloaded for this to take effect + sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file + file_format: "plaintext" # "sqlite" or "plaintext" + } + completions: { + case_sensitive: false # set to true to enable case-sensitive completions + quick: true # set this to false to prevent auto-selecting completions when only one remains + partial: true # set this to false to prevent partial filling of the prompt + algorithm: "prefix" # prefix or fuzzy + external: { + enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up my be very slow + max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options + completer: null # check 'carapace_completer' above as an example + } + } + filesize: { + metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) + format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto + } + cursor_shape: { + emacs: line # block, underscore, line (line is the default) + vi_insert: block # block, underscore, line (block is the default) + vi_normal: underscore # block, underscore, line (underscore is the default) + } + color_config: $dark_theme # if you want a light theme, replace `$dark_theme` to `$light_theme` + use_grid_icons: true + footer_mode: "25" # always, never, number_of_rows, auto + float_precision: 2 # the precision for displaying floats in tables + # buffer_editor: "emacs" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL + use_ansi_coloring: true + edit_mode: emacs # emacs, vi + shell_integration: true # enables terminal markers and a workaround to arrow keys stop working issue + # true or false to enable or disable the welcome banner at startup + show_banner: true + render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt. + + hooks: { + pre_prompt: [{ + null # replace with source code to run before the prompt is shown + }] + pre_execution: [{ + null # replace with source code to run before the repl input is run + }] + env_change: { + PWD: [{|before, after| + null # replace with source code to run if the PWD environment is different since the last repl input + }] + } + display_output: { + if (term size).columns >= 100 { table -e } else { table } + } + } + menus: [ + # Configuration for default nushell menus + # Note the lack of source parameter + { + name: completion_menu + only_buffer_difference: false + marker: "| " + type: { + layout: columnar + columns: 4 + col_width: 20 # Optional value. If missing all the screen width is used to calculate column width + col_padding: 2 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + } + { + name: history_menu + only_buffer_difference: true + marker: "? " + type: { + layout: list + page_size: 10 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + } + { + name: help_menu + only_buffer_difference: true + marker: "? " + type: { + layout: description + columns: 4 + col_width: 20 # Optional value. If missing all the screen width is used to calculate column width + col_padding: 2 + selection_rows: 4 + description_rows: 10 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + } + # Example of extra menus created using a nushell source + # Use the source field to create a list of records that populates + # the menu + { + name: commands_menu + only_buffer_difference: false + marker: "# " + type: { + layout: columnar + columns: 4 + col_width: 20 + col_padding: 2 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + source: { |buffer, position| + $nu.scope.commands + | where name =~ $buffer + | each { |it| {value: $it.name description: $it.usage} } + } + } + { + name: vars_menu + only_buffer_difference: true + marker: "# " + type: { + layout: list + page_size: 10 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + source: { |buffer, position| + $nu.scope.vars + | where name =~ $buffer + | sort-by name + | each { |it| {value: $it.name description: $it.type} } + } + } + { + name: commands_with_description + only_buffer_difference: true + marker: "# " + type: { + layout: description + columns: 4 + col_width: 20 + col_padding: 2 + selection_rows: 4 + description_rows: 10 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + source: { |buffer, position| + $nu.scope.commands + | where name =~ $buffer + | each { |it| {value: $it.name description: $it.usage} } + } + } + ] + keybindings: [ + { + name: completion_menu + modifier: none + keycode: tab + mode: [emacs vi_normal vi_insert] + event: { + until: [ + { send: menu name: completion_menu } + { send: menunext } + ] + } + } + { + name: completion_previous + modifier: shift + keycode: backtab + mode: [emacs, vi_normal, vi_insert] # Note: You can add the same keybinding to all modes by using a list + event: { send: menuprevious } + } + { + name: history_menu + modifier: control + keycode: char_r + mode: emacs + event: { send: menu name: history_menu } + } + { + name: next_page + modifier: control + keycode: char_x + mode: emacs + event: { send: menupagenext } + } + { + name: undo_or_previous_page + modifier: control + keycode: char_z + mode: emacs + event: { + until: [ + { send: menupageprevious } + { edit: undo } + ] + } + } + { + name: yank + modifier: control + keycode: char_y + mode: emacs + event: { + until: [ + {edit: pastecutbufferafter} + ] + } + } + { + name: unix-line-discard + modifier: control + keycode: char_u + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {edit: cutfromlinestart} + ] + } + } + { + name: kill-line + modifier: control + keycode: char_k + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {edit: cuttolineend} + ] + } + } + # Keybindings used to trigger the user defined menus + { + name: commands_menu + modifier: control + keycode: char_t + mode: [emacs, vi_normal, vi_insert] + event: { send: menu name: commands_menu } + } + { + name: vars_menu + modifier: alt + keycode: char_o + mode: [emacs, vi_normal, vi_insert] + event: { send: menu name: vars_menu } + } + { + name: commands_with_description + modifier: control + keycode: char_s + mode: [emacs, vi_normal, vi_insert] + event: { send: menu name: commands_with_description } + } + ] +} diff --git a/homes/x86_64-linux/pyrox/programs/nushell/default.nix b/homes/x86_64-linux/pyrox/programs/nushell/default.nix new file mode 100644 index 00000000..2799c327 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/nushell/default.nix @@ -0,0 +1,7 @@ +{pkgs, ...}: { + programs.nushell = { + enable = true; + configFile.source = ./config.nu; + envFile.source = ./env.nu; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/nushell/env.nu b/homes/x86_64-linux/pyrox/programs/nushell/env.nu new file mode 100644 index 00000000..cdea6260 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/nushell/env.nu @@ -0,0 +1,9 @@ +zoxide init nushell --hook prompt | save ~/.zoxide.nu +mkdir ~/.cache/starship +starship init nu | save ~/.cache/starship/init.nu + +let starship_cache = "/home/thehedgehog/.cache/starship" +if not ($starship_cache | path exists) { + mkdir $starship_cache +} +/etc/profiles/per-user/thehedgehog/bin/starship init nu | save --force /home/thehedgehog/.cache/starship/init.nu diff --git a/homes/x86_64-linux/pyrox/programs/obs.nix b/homes/x86_64-linux/pyrox/programs/obs.nix new file mode 100644 index 00000000..38b95d91 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/obs.nix @@ -0,0 +1,14 @@ +{ + config, + pkgs, + ... +}: { + programs.obs-studio = { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ + obs-pipewire-audio-capture + obs-vkcapture + wlrobs + ]; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/pandoc.nix b/homes/x86_64-linux/pyrox/programs/pandoc.nix new file mode 100644 index 00000000..21d32097 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/pandoc.nix @@ -0,0 +1,5 @@ +{ + lib, + pkgs, + ... +}: {programs.pandoc.enable = true;} diff --git a/homes/x86_64-linux/pyrox/programs/rofi.nix b/homes/x86_64-linux/pyrox/programs/rofi.nix new file mode 100644 index 00000000..a862769f --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/rofi.nix @@ -0,0 +1,90 @@ +{ + pkgs, + config, + ... +}: { + programs.rofi = { + enable = true; + package = pkgs.rofi-wayland; + cycle = true; + font = "IBM Plex Sans 13"; + location = "center"; + extraConfig = {modi = "run,ssh,drun,filebrowser";}; + terminal = "${pkgs.kitty}/bin/kitty"; + theme = let + inherit (config.lib.formats.rasi) mkLiteral; + in { + "*" = { + accent-color = mkLiteral "#bb9af7ff"; + background-color = mkLiteral "#1a1b26ff"; + blue = mkLiteral "#7aa2f7ff"; + border-color = mkLiteral "#cfc9c2ff"; + font = "IBM Plex Sans 13"; + foreground-color = mkLiteral "#a9b1d6ff"; + green = mkLiteral "#73dacaff"; + height = 752; + lightfg = mkLiteral "#414868ff"; + red = mkLiteral "#f7768eff"; + show-icons = true; + width = 500; + display-drun = ""; + }; + "#button selected" = { + background-color = mkLiteral "@background-color"; + text-color = mkLiteral "@accent-color"; + }; + "#entry" = { + text-color = mkLiteral "@foreground-color"; + spacing = mkLiteral "2"; + border-radius = mkLiteral "8"; + }; + "#entry selected" = { + text-color = mkLiteral "@blue"; + spacing = mkLiteral "1"; + border-radius = mkLiteral "8"; + }; + "#element-icon" = { + background-color = mkLiteral "@background-color"; + text-color = mkLiteral "@foreground-color"; + }; + "#element-text" = { + background-color = mkLiteral "@background-color"; + text-color = mkLiteral "@foreground-color"; + }; + "#element-text selected" = { + background-color = mkLiteral "@blue"; + text-color = mkLiteral "@background-color"; + border-radius = mkLiteral "8px"; + }; + "#element alternate" = { + background-color = mkLiteral "@background-color"; + text-color = mkLiteral "@accent-color"; + }; + "#element normal" = { + background-color = mkLiteral "@blue"; + text-color = mkLiteral "@accent-color"; + }; + "#element selected" = { + background-color = mkLiteral "@blue"; + text-color = mkLiteral "@accent-color"; + border-radius = mkLiteral "8"; + }; + "#inputbar" = {children = map mkLiteral ["prompt" "entry"];}; + "#prompt" = {text-color = mkLiteral "@accent-color";}; + "#textbox" = {text-color = mkLiteral "@foreground-color";}; + "#textbox-prompt-colon" = { + expand = true; + str = ":"; + margin = mkLiteral "0px 0.3em 0em 0em"; + text-color = mkLiteral "@lightfg"; + }; + "#window" = { + border = mkLiteral "2px"; + border-color = mkLiteral "@border-color"; + padding = 25; + width = 500; + height = 752; + }; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/senpai.nix b/homes/x86_64-linux/pyrox/programs/senpai.nix new file mode 100644 index 00000000..01430d5f --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/senpai.nix @@ -0,0 +1,11 @@ +{ + programs.senpai = { + enable = true; + config = { + addr = "chat.sr.ht"; + nick = "thehedgeh0g"; + password-cmd = "bw get password 'Bouncer API Token'"; + # pane-widths + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/skim.nix b/homes/x86_64-linux/pyrox/programs/skim.nix new file mode 100644 index 00000000..7cdab5f3 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/skim.nix @@ -0,0 +1,8 @@ +{ + programs.skim = { + enable = true; + enableBashIntegration = true; + enableZshIntegration = true; + enableFishIntegration = true; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/ssh/backup.pub b/homes/x86_64-linux/pyrox/programs/ssh/backup.pub new file mode 100644 index 00000000..c7ba5de9 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/ssh/backup.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= 993390@993390-student-FVFD26HVJ1WK diff --git a/homes/x86_64-linux/pyrox/programs/ssh/default.nix b/homes/x86_64-linux/pyrox/programs/ssh/default.nix new file mode 100644 index 00000000..7ef1e5d5 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/ssh/default.nix @@ -0,0 +1,34 @@ +{ + programs.ssh = { + enable = true; + compression = true; + matchBlocks = { + "marvin" = { + hostname = "100.123.15.72"; + user = "thehedgehog"; + port = 22; + extraOptions = { + "IdentitiesOnly" = "no"; + "PreferredAuthentications" = "publickey"; + }; + }; + "prefect" = { + hostname = "100.93.63.54"; + user = "thehedgehog"; + port = 22; + extraOptions = { + "IdentitiesOnly" = "no"; + "PreferredAuthentications" = "publickey"; + }; + }; + "botw" = { + hostname = "bandit.labs.overthewire.org"; + port = 2220; + sendEnv = ["WECHALLUSER" "WECHALLTOKEN"]; + }; + }; + extraOptionOverrides = { + "Match" = ''host * exec "gpg-connect-agent UPDATESTARTUPTTY /bye"''; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/ssh/yubikey-back.pub b/homes/x86_64-linux/pyrox/programs/ssh/yubikey-back.pub new file mode 100644 index 00000000..bf4aa7f1 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/ssh/yubikey-back.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== cardno:15 567 372 diff --git a/homes/x86_64-linux/pyrox/programs/ssh/yubikey-main.pub b/homes/x86_64-linux/pyrox/programs/ssh/yubikey-main.pub new file mode 100644 index 00000000..0d915f73 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/ssh/yubikey-main.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBBsOIMMZVmleClXfqUMrnmyh8PFuyiJqHKEZ51Xy746 diff --git a/homes/x86_64-linux/pyrox/programs/ssh/yubikey-new.pub b/homes/x86_64-linux/pyrox/programs/ssh/yubikey-new.pub new file mode 100644 index 00000000..4b8144c5 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/ssh/yubikey-new.pub @@ -0,0 +1 @@ +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK97n2SgV/U1mLzxcaEDl85iF5D3jm7xboZ+S01+CbM/8zxVoWyjVHCqTwDcrLwP0c5Z51BNj7U0UkGIgR4zTSM= diff --git a/homes/x86_64-linux/pyrox/programs/starship.nix b/homes/x86_64-linux/pyrox/programs/starship.nix new file mode 100644 index 00000000..f715c9d8 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/starship.nix @@ -0,0 +1,100 @@ +{lib, ...}: { + programs.starship = { + enable = true; + catppuccin.enable = true; + enableFishIntegration = true; + enableBashIntegration = true; + enableZshIntegration = true; + settings = { + format = lib.concatStrings [ + "$hostname" + "$directory" + "$rust" + "$python" + "$golang" + "$nodejs" + "$lua" + "$git_branch" + "$git_status" + "$battery" + "$shlvl" + " " + "$character" + ]; + right_format = lib.concatStrings ["$nix_shell"]; + + directory = {read_only = " ";}; + git_branch = { + symbol = " "; + format = "\\[[$symbol$branch]($style)\\]"; + }; + git_status = {format = "([\\[$all_status$ahead_behind\\]]($style))";}; + golang = { + symbol = " "; + format = "\\[[$symbol($version)]($style)\\]"; + }; + nodejs = {format = "\\[[$symbol($version)]($style)\\]";}; + lua = { + symbol = " "; + format = "\\[[\${symbol}\${version}]($style)\\]"; + }; + package = { + symbol = " "; + format = "\\[[$symbol$version]($style)\\]"; + }; + python = { + symbol = " "; + format = "\\[[\${symbol}\${pyenv_prefix}(\${version})(\\($virtualenv\\))]($style)\\]"; + }; + rust = { + symbol = " "; + format = "\\[[$symbol($version)]($style)\\]"; + }; + shlvl = {symbol = " ";}; + nix_shell = { + symbol = " "; + format = "\\[[$symbol($name)]($style)\\]"; + }; + aws.disabled = true; + conda.disabled = true; + crystal.disabled = true; + dart.disabled = true; + deno.disabled = true; + docker_context.disabled = true; + dotnet.disabled = true; + elixir.disabled = true; + elm.disabled = true; + env_var.disabled = true; + erlang.disabled = true; + gcloud.disabled = true; + helm.disabled = true; + hostname.disabled = true; + java.disabled = true; + jobs.disabled = true; + julia.disabled = true; + kotlin.disabled = true; + kubernetes.disabled = true; + memory_usage.disabled = true; + hg_branch.disabled = true; + nim.disabled = true; + ocaml.disabled = true; + openstack.disabled = true; + perl.disabled = true; + php.disabled = true; + purescript.disabled = true; + rlang.disabled = true; + red.disabled = true; + ruby.disabled = true; + scala.disabled = true; + singularity.disabled = true; + swift.disabled = true; + terraform.disabled = true; + time.disabled = true; + username.disabled = true; + vagrant.disabled = true; + vlang.disabled = true; + vcsh.disabled = true; + zig.disabled = true; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/taskwarrior.nix b/homes/x86_64-linux/pyrox/programs/taskwarrior.nix new file mode 100644 index 00000000..f8d6b647 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/taskwarrior.nix @@ -0,0 +1 @@ +{programs.taskwarrior = {enable = true;};} diff --git a/homes/x86_64-linux/pyrox/programs/vscodium.nix b/homes/x86_64-linux/pyrox/programs/vscodium.nix new file mode 100644 index 00000000..24ec33e3 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/vscodium.nix @@ -0,0 +1,37 @@ +{ + pkgs, + data, + lib, + ... +}: { + programs.vscode = { + enable = false; + package = pkgs.vscodium; + userSettings = { + "breadcrumbs.enabled" = false; + "editor.formatOnPaste" = true; + "editor.formatOnSave" = true; + "editor.formatOnSaveMode" = "file"; + "editor.formatOnType" = true; + "editor.minimap.enabled" = false; + "explorer.confirmDelete" = false; + "extensions.autoCheckUpdates" = false; + "extensions.autoUpdate" = false; + "extensions.closeExtensionDetailsOnViewChange" = true; + "extensions.ignoreRecommendations" = true; + "python.analysis.autoImportCompletions" = true; + "python.analysis.autoSearchPaths" = true; + "python.analysis.completeFunctionParens" = true; + "python.experiments.enabled" = false; + "python.languageServer" = "Pylance"; + "telemetry.telemetryLevel" = "off"; + "terminal.external.linuxExec" = "kitty"; + "update.mode" = "none"; + "update.showReleaseNotes" = false; + "workbench.colorTheme" = "Catppuccin Mocha"; + "workbench.iconTheme" = "catppuccin-mocha"; + "vscode-neovim.neovimExecutablePaths.linux" = lib.getExe data.packages.neovim; + "python.formatting.provider" = "black"; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/wlogout/default.nix b/homes/x86_64-linux/pyrox/programs/wlogout/default.nix new file mode 100644 index 00000000..952761c3 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/wlogout/default.nix @@ -0,0 +1,44 @@ +{ pkgs, config, ...}: { + imports = [./style.nix]; + programs.wlogout = { + enable = true; + layout = [ + { + label = "hibernate"; + action = "systemctl hibernate"; + text = "Hibernate"; + keybind = "h"; + } + { + label = "reboot"; + action = "systemctl reboot"; + text = "Reboot"; + keybind = "r"; + } + { + label = "suspend"; + action = "systemctl suspend"; + text = "Suspend"; + keybind = "u"; + } + { + label = "suspend-then-hibernate"; + action = "systemctl suspend-then-hibernate"; + text = "Supend then Hibernate"; + keybind = "p"; + } + { + label = "lock"; + action = "${pkgs.swaylock-effects}/bin/swaylock"; + text = "Lock"; + keybind = "l"; + } + { + label = "shutdown"; + action = "systemctl poweroff"; + text = "Shutdown"; + keybind = "s"; + } + ]; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/wlogout/style.nix b/homes/x86_64-linux/pyrox/programs/wlogout/style.nix new file mode 100644 index 00000000..2bf991f6 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/wlogout/style.nix @@ -0,0 +1,53 @@ +{pkgs, config, ...}: let + pkg = config.programs.wlogout.package; + icon-path = "${pkg}/share/wlogout/icons"; +in { + programs.wlogout.style = '' + * { + background-image: none; + } + window { + background-image: image(url("/home/thehedgehog/bgs/ctp-waves.png"), url("/home/thehedgehog/bgs/ctp-waves.png")); + background-size: cover; + } + button { + color: #cdd6f4; + background-color: #11111b; + border: none; + border-color: #6c7086; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; + } + + button:focus, button:active, button:hover { + background-color: #1e1e2e; + outline-style: none; + border:none; + } + + #lock { + background-image: image(url("${icon-path}/lock.png"), url("${icon-path}/lock.png")); + } + + #suspend-then-hibernate { + background-image: image(url("${icon-path}/suspend.png"), url("${icon-path}/suspend.png")); + } + + #suspend { + background-image: image(url("${icon-path}/suspend.png"), url("${icon-path}/suspend.png")); + } + + #hibernate { + background-image: image(url("${icon-path}/hibernate.png"), url("${icon-path}/hibernate.png")); + } + + #shutdown { + background-image: image(url("${icon-path}/shutdown.png"), url("${icon-path}/shutdown.png")); + } + + #reboot { + background-image: image(url("${icon-path}/reboot.png"), url("${icon-path}/reboot.png")); + } + ''; +} diff --git a/homes/x86_64-linux/pyrox/programs/zoxide.nix b/homes/x86_64-linux/pyrox/programs/zoxide.nix new file mode 100644 index 00000000..11740ce9 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/zoxide.nix @@ -0,0 +1,8 @@ +{ + programs.zoxide = { + enable = true; + enableBashIntegration = true; + enableFishIntegration = true; + enableZshIntegration = true; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/zsh.nix b/homes/x86_64-linux/pyrox/programs/zsh.nix new file mode 100644 index 00000000..04ad21a9 --- /dev/null +++ b/homes/x86_64-linux/pyrox/programs/zsh.nix @@ -0,0 +1,16 @@ +{pkgs, ...}: { + programs.zsh = { + enable = true; + autosuggestion.enable = true; + enableCompletion = true; + enableVteIntegration = true; + syntaxHighlighting = {enable = true;}; + history = { + extended = true; + ignoreDups = false; + share = true; + save = 50000; + size = 10000; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/scripts.nix b/homes/x86_64-linux/pyrox/scripts.nix new file mode 100644 index 00000000..4c1f89a8 --- /dev/null +++ b/homes/x86_64-linux/pyrox/scripts.nix @@ -0,0 +1,18 @@ +{ + lib, + pkgs, + config, + ... +}: { + home.activation = { + cloneDoom = lib.hm.dag.entryAfter ["writeBoundary"] '' + if [ ! -d "${config.home.homeDirectory}/.config/emacs" ]; then + $DRY_RUN_CMD ${pkgs.git}/bin/git clone --depth=1 --single-branch "https://github.com/doomemacs/doomemacs" "${config.home.homeDirectory}/.config/emacs" + $DRY_RUN_CMD ${config.home.homeDirectory}/.config/emacs/bin/doom sync -u + fi + ''; + removeLocalFonts = lib.hm.dag.entryAfter ["writeBoundary"] '' + unlink ${config.home.homeDirectory}/.local/share/fonts + ''; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/emacs.nix b/homes/x86_64-linux/pyrox/services/emacs.nix new file mode 100644 index 00000000..eeaad5ef --- /dev/null +++ b/homes/x86_64-linux/pyrox/services/emacs.nix @@ -0,0 +1,8 @@ +{programs, ...}: { + services.emacs = { + inherit (programs.emacs) package; + enable = true; + # package = programs.emacs.package; + socketActivation.enable = true; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/gpg-agent.nix b/homes/x86_64-linux/pyrox/services/gpg-agent.nix new file mode 100644 index 00000000..87e6529d --- /dev/null +++ b/homes/x86_64-linux/pyrox/services/gpg-agent.nix @@ -0,0 +1,19 @@ +{pkgs, ...}: { + services.gpg-agent = { + enable = true; + enableExtraSocket = true; + enableScDaemon = true; + enableSshSupport = true; + defaultCacheTtl = 600; + maxCacheTtl = 600; + sshKeys = [ + # My Normal GPG Key(Authentication Subkey) + "485329FEF73C42C6C42879F66C8B971F3FD4A132" + "CFEFCD08CFE6F0849F32ABC9C5CF3158A2FE1392" + ]; + extraConfig = '' + ttyname $GPG_TTY + max-cache-ttl-ssh 600 + ''; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/kanshi.nix b/homes/x86_64-linux/pyrox/services/kanshi.nix new file mode 100644 index 00000000..5ecbe323 --- /dev/null +++ b/homes/x86_64-linux/pyrox/services/kanshi.nix @@ -0,0 +1,40 @@ +{pkgs, ...}: { + services.kanshi = { + enable = true; + settings = [ + { + profile = { + name = "default"; + outputs = [ + { + criteria = "eDP-1"; + status = "enable"; + scale = 1.2; + position = "0,0"; + } + ]; + }; + } + { + profile = { + name = "home"; + outputs = [ + { + criteria = "DP-4"; + status = "enable"; + scale = 1.0; + position = "0,0"; + } + { + criteria = "eDP-1"; + # status = "enable"; + status = "disable"; + # scale = 1.0; + # position = "1920,0"; + } + ]; + }; + } + ]; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/kdeconnect.nix b/homes/x86_64-linux/pyrox/services/kdeconnect.nix new file mode 100644 index 00000000..e51a3e64 --- /dev/null +++ b/homes/x86_64-linux/pyrox/services/kdeconnect.nix @@ -0,0 +1,6 @@ +{pkgs, ...}: { + services.kdeconnect = { + enable = false; + indicator = true; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/mako.nix b/homes/x86_64-linux/pyrox/services/mako.nix new file mode 100644 index 00000000..55eb9eaa --- /dev/null +++ b/homes/x86_64-linux/pyrox/services/mako.nix @@ -0,0 +1,11 @@ +{ + services.mako = { + enable = true; + catppuccin.enable = true; + actions = true; + defaultTimeout = 10000; + font = "IBM Plex Sans 14pt"; + icons = true; + layer = "overlay"; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/mpd.nix b/homes/x86_64-linux/pyrox/services/mpd.nix new file mode 100644 index 00000000..035df28c --- /dev/null +++ b/homes/x86_64-linux/pyrox/services/mpd.nix @@ -0,0 +1,19 @@ +{config, ...}: { + services.mpd = { + enable = true; + musicDirectory = "${config.home.homeDirectory}/Music"; + extraConfig = '' + audio_output { + type "fifo" + name "viz" + path "/tmp/mpd.fifo" + format "44100:16:2" + buffer_time "100000" + } + audio_output { + type "pipewire" + name "PipeWire Sound Server" + } + ''; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/pantalaimon.nix b/homes/x86_64-linux/pyrox/services/pantalaimon.nix new file mode 100644 index 00000000..69554f7b --- /dev/null +++ b/homes/x86_64-linux/pyrox/services/pantalaimon.nix @@ -0,0 +1,16 @@ +{ + services.pantalaimon = { + enable = true; + settings = { + Default = { + LogLevel = "Debug"; + SSL = true; + }; + thehedgeh0g = { + Homeserver = "https://colony.jupiterbroadcasting.com"; + ListenAddress = "127.0.0.1"; + ListenPort = 8008; + }; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/swayidle.nix b/homes/x86_64-linux/pyrox/services/swayidle.nix new file mode 100644 index 00000000..5818ecfd --- /dev/null +++ b/homes/x86_64-linux/pyrox/services/swayidle.nix @@ -0,0 +1,21 @@ +{pkgs, ...}: { + services.swayidle = { + enable = true; + events = [ + { + event = "lock"; + command = "${pkgs.swaylock}/bin/swaylock -C ~/.config/swaylock/config"; + } + { + event = "after-resume"; + command = ''swaymsg "output * dpms on"''; + } + ]; + timeouts = [ + { + timeout = 180; + command = "${pkgs.swaylock}/bin/swaylock -C ~/.config/swaylock/config"; + } + ]; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/syncthing.nix b/homes/x86_64-linux/pyrox/services/syncthing.nix new file mode 100644 index 00000000..bb32d69f --- /dev/null +++ b/homes/x86_64-linux/pyrox/services/syncthing.nix @@ -0,0 +1,6 @@ +{ + services.syncthing = { + enable = true; + tray.enable = true; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/taskwarrior-sync.nix b/homes/x86_64-linux/pyrox/services/taskwarrior-sync.nix new file mode 100644 index 00000000..a5aac0a2 --- /dev/null +++ b/homes/x86_64-linux/pyrox/services/taskwarrior-sync.nix @@ -0,0 +1,6 @@ +{ + services.taskwarrior-sync = { + enable = false; + frequency = "*:00:00"; + }; +} diff --git a/homes/x86_64-linux/pyrox/theming.nix b/homes/x86_64-linux/pyrox/theming.nix new file mode 100644 index 00000000..eb2e44b3 --- /dev/null +++ b/homes/x86_64-linux/pyrox/theming.nix @@ -0,0 +1,28 @@ +{ + pkgs, + config, + ... +}: { + catppuccin = { + flavor = "mocha"; + accent = "blue"; + }; + gtk = { + enable = true; + catppuccin = { + enable = true; + size = "compact"; + tweaks = ["rimless"]; + cursor.enable = true; + }; + font = { + name = "IBM Plex Mono"; + size = 14; + }; + gtk3.bookmarks = ["file:///${config.home.homeDirectory}/Downloads"]; + iconTheme = { + package = pkgs.papirus-icon-theme; + name = "Papirus-Dark"; + }; + }; +} diff --git a/homes/x86_64-linux/pyrox/xdg.nix b/homes/x86_64-linux/pyrox/xdg.nix new file mode 100644 index 00000000..1889a568 --- /dev/null +++ b/homes/x86_64-linux/pyrox/xdg.nix @@ -0,0 +1,79 @@ +{config, lib, pkgs, ...}: let +homeDir = config.home.homeDirectory; +in { + xdg = { + enable = true; + mime.enable = true; + configHome = lib.mkForce "${homeDir}/.config"; + dataHome = lib.mkForce "${homeDir}/.local/share"; + portal = { + enable = true; + xdgOpenUsePortal = true; + extraPortals = [ + pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-wlr + ]; + config = { + common = { + default = [ + "gtk" + ]; + "org.freedesktop.impl.portal.Screenshot" = ["wlr"]; + "org.freedesktop.impl.portal.ScreenCast" = ["wlr"]; + }; + }; + }; + mimeApps = { + enable = true; + associations.added = { + "application/pdf" = ["firefox.desktop"]; + "application/rdf+xml" = ["firefox.desktop"]; + "application/rss+xml" = ["firefox.desktop"]; + "application/xhtml+xml" = ["firefox.desktop"]; + "application/xhtml_xml" = ["firefox.desktop"]; + "application/xml" = ["firefox.desktop"]; + "image/gif" = ["viewnior.desktop" "firefox.desktop"]; + "image/jpeg" = ["viewnior.desktop" "firefox.desktop"]; + "image/png" = ["viewnior.desktop" "firefox.desktop"]; + "image/webp" = ["viewnior.desktop" "firefox.desktop"]; + "text/html" = ["firefox.desktop"]; + "text/xml" = ["firefox.desktop"]; + "x-scheme-handler/http" = ["firefox.desktop"]; + "x-scheme-handler/https" = ["firefox.desktop"]; + "x-scheme-handler/about" = ["firefox.desktop"]; + "x-scheme-handler/unknown" = ["firefox.desktop"]; + "x-scheme-handler/mailto" = ["thunderbird.desktop" "firefox.desktop"]; + "x-scheme-handler/webcal" = ["firefox.desktop" "thunderbird.desktop"]; + }; + defaultApplications = { + "application/pdf" = ["firefox.desktop"]; + "application/rdf+xml" = ["firefox.desktop"]; + "application/rss+xml" = ["firefox.desktop"]; + "application/xhtml+xml" = ["firefox.desktop"]; + "application/xhtml_xml" = ["firefox.desktop"]; + "application/xml" = ["firefox.desktop"]; + "image/gif" = ["viewnior.desktop" "firefox.desktop"]; + "image/jpeg" = ["viewnior.desktop" "firefox.desktop"]; + "image/png" = ["viewnior.desktop" "firefox.desktop"]; + "image/webp" = ["viewnior.desktop" "firefox.desktop"]; + "text/html" = ["firefox.desktop"]; + "text/xml" = ["firefox.desktop"]; + "x-scheme-handler/http" = ["firefox.desktop"]; + "x-scheme-handler/https" = ["firefox.desktop"]; + "x-scheme-handler/about" = ["firefox.desktop"]; + "x-scheme-handler/unknown" = ["firefox.desktop"]; + "x-scheme-handler/mailto" = ["thunderbird.desktop" "firefox.desktop"]; + "x-scheme-handler/webcal" = ["firefox.desktop" "thunderbird.desktop"]; + "x-scheme-handler/steam" = ["steam-native.desktop" "steam.desktop"]; + "x-scheme-handler/steamlink" = ["steam-native.desktop" "steam.desktop"]; + }; + }; + userDirs = { + enable = true; + createDirectories = true; + music = "$HOME/music"; + publicShare = "$HOME/.xdg/share"; + templates = "$HOME/.xdg/templates"; + }; + }; +} diff --git a/homes/x86_64-linux/thehedgehog b/homes/x86_64-linux/thehedgehog new file mode 120000 index 00000000..56dcf4e4 --- /dev/null +++ b/homes/x86_64-linux/thehedgehog @@ -0,0 +1 @@ +./pyrox \ No newline at end of file diff --git a/hosts/common/nixpkgsConfig.nix b/hosts/common/nixpkgsConfig.nix index 7222fc11..b0635b43 100644 --- a/hosts/common/nixpkgsConfig.nix +++ b/hosts/common/nixpkgsConfig.nix @@ -2,7 +2,6 @@ nixpkgs = { config = { allowUnfree = true; - joypixels.acceptLicense = true; }; }; } diff --git a/hosts/modules/services/buildbot-worker.nix b/hosts/modules/services/buildbot-worker.nix new file mode 100644 index 00000000..a4d7a341 --- /dev/null +++ b/hosts/modules/services/buildbot-worker.nix @@ -0,0 +1,8 @@ +{config, ...}: { + services.buildbot-nix.worker = { + enable = true; + name = config.networking.hostName; + masterUrl = "tcp:host=marvin:port=6915"; + workerPasswordFile = config.age.secrets.buildbot-worker-password.path; + }; +} diff --git a/lib/data/default.nix b/lib/data/default.nix new file mode 100644 index 00000000..a79178a0 --- /dev/null +++ b/lib/data/default.nix @@ -0,0 +1,4 @@ +{ + data.hosts = builtins.fromTOML (builtins.readFile ./hosts.toml); + data.services = builtins.fromTOML (builtins.readFile ./services.toml); +} diff --git a/data/hosts.toml b/lib/data/hosts.toml similarity index 100% rename from data/hosts.toml rename to lib/data/hosts.toml diff --git a/lib/data/packages/default.nix.bak b/lib/data/packages/default.nix.bak new file mode 100644 index 00000000..55a6f713 --- /dev/null +++ b/lib/data/packages/default.nix.bak @@ -0,0 +1,9 @@ +{ + inputs, + pkgs, + ... +}: { + data.packages = { + nvim = inputs.nvim.packages.${pkgs.system}.neovim; + }; +} diff --git a/data/services.toml b/lib/data/services.toml similarity index 100% rename from data/services.toml rename to lib/data/services.toml diff --git a/lib/default.nix b/lib/default.nix index c0a73316..c9124a14 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,9 +1,2 @@ -{lib, pkgs, inputs, data, ...}: let - inherit (lib) makeExtensible; -in { - myLib = makeExtensible (self: let - callLibs = file: import file { myLib = self; inherit self lib pkgs inputs data; }; - in { - hosts = callLibs ./hosts.nix; - }); +{lib, inputs, namespace, snowfall-inputs, ...}: { } diff --git a/lib/hosts.nix b/lib/hosts/default.nix.bak similarity index 60% rename from lib/hosts.nix rename to lib/hosts/default.nix.bak index 1283cf52..36cc5efa 100644 --- a/lib/hosts.nix +++ b/lib/hosts/default.nix.bak @@ -1,4 +1,5 @@ -{ self, lib, inputs, pkgs, data, ...}: rec { +{ lib, inputs, namespace, snowfall-inputs, ...}: { + hosts = { # Create a user mkUser = { user, @@ -37,30 +38,11 @@ # This host's config files ../hosts/${hostname}/configuration.nix ../hosts/${hostname}/bootloader.nix - # Catppuccin theme - inputs.ctp.nixosModules.catppuccin - # Lix > Nix - inputs.lix-module.nixosModules.default - # Home-manager - inputs.home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = {inherit pkgs system inputs data;}; - home-manager.sharedModules = builtins.concatLists [ - [ - inputs.nix-index-database.hmModules.nix-index - inputs.ctp.homeManagerModules.catppuccin - ] - extraHMModules - ]; - } - # Agenix for secrets - inputs.agenix.nixosModules.default ] extraModules userProfiles ]; specialArgs = {inherit self inputs pkgs data;}; }); + } } diff --git a/modules/home/profiles/base/default.nix b/modules/home/profiles/base/default.nix new file mode 100644 index 00000000..941f6ddc --- /dev/null +++ b/modules/home/profiles/base/default.nix @@ -0,0 +1,13 @@ +{inputs, config, ...}: { + imports = [ + ../programs/gpg.nix + ../xdg.nix + ]; + programs.home-manager.enable = true; + home.stateVersion = "24.05"; + home.language = {base = "en_US.utf8";}; + manual.manpages.enable = false; + manual.html.enable = false; + manual.json.enable = false; + programs.man.enable = false; +} diff --git a/modules/home/profiles/cli/default.nix b/modules/home/profiles/cli/default.nix new file mode 100644 index 00000000..9255def2 --- /dev/null +++ b/modules/home/profiles/cli/default.nix @@ -0,0 +1,53 @@ +{pkgs, ...}: let + customPythonPackages = python-packages: with python-packages; [textual]; + customPython = pkgs.python311.withPackages customPythonPackages; +in { + imports = [ + ../programs/bat.nix + ../programs/direnv.nix + ../programs/fish.nix + ../programs/fzf.nix + ../programs/git.nix + ../programs/gh.nix + ../programs/helix.nix + ../programs/neovim.nix + ../programs/nix-index.nix + ../programs/nushell + ../programs/pandoc.nix + ../programs/ssh + ../programs/starship.nix + ../programs/zoxide.nix + ../programs/zsh.nix + + ../files/distrobox-config.nix + ]; + programs.eza = { + enable = true; + icons = true; + git = true; + enableBashIntegration = false; + enableIonIntegration = false; + }; + programs.btop = { + enable = true; + catppuccin.enable = true; + }; + programs.glamour.catppuccin.enable = true; + xdg.configFile = { + "rbw".source = ../../oldconfig/rbw; + "rbw".recursive = true; + }; + home.packages = with pkgs; [ + btrfs-progs + fd + fzf + glow + gnupg + # neovim + pinentry + rbw + rsync + xdg-utils + yt-dlp + ]; +} diff --git a/modules/home/profiles/desktop/default.nix b/modules/home/profiles/desktop/default.nix new file mode 100644 index 00000000..ad799946 --- /dev/null +++ b/modules/home/profiles/desktop/default.nix @@ -0,0 +1,41 @@ +{ pkgs +, inputs +, ... +}: { + imports = [ + ./base.nix + ./cli.nix + ./gui.nix + ./development.nix + # ../email.nix + # ../programs/email.nix + ]; + programs.mpv.enable = true; + home.packages = with pkgs; [ + appimage-run + brightnessctl + ciscoPacketTracer8 + dex + keepassxc + (mumble.override { pipewireSupport = true; }) + playerctl + pulseaudio-ctl + thunderbird + wlogout + wl-clipboard + zotero + # For nvim config + nodejs + ]; + xdg.configFile = { + "waybar/style.css" = { + source = ../../oldconfig/waybar/style.css; + recursive = false; + }; + "waybar/mocha.css" = { + source = ../../oldconfig/waybar/mocha.css; + recursive = false; + }; + }; + services.easyeffects.enable = true; +} diff --git a/modules/home/profiles/development/default.nix b/modules/home/profiles/development/default.nix new file mode 100644 index 00000000..bd9cd711 --- /dev/null +++ b/modules/home/profiles/development/default.nix @@ -0,0 +1,20 @@ +{ + inputs, + pkgs, + ... +}: let + customPython = pkgs.python311.withPackages (ps: [ps.pip]); +in { + home.packages = with pkgs; [ + alejandra + any-nix-shell + cargo + colmena + customPython + editorconfig-core-c + my-pkgs.customGit + nil + nixd + # python311 + ]; +} diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix new file mode 100644 index 00000000..8cf7dd99 --- /dev/null +++ b/modules/home/profiles/gui/default.nix @@ -0,0 +1,59 @@ +{ + pkgs, + inputs, + lib, # games ? true, + # social ? true, + ... +}: { + imports = [ + ../wayland/sway.nix + + ../programs/chromium.nix + ../programs/firefox + ../programs/kitty.nix + ../programs/obs.nix + ../programs/vscodium.nix + ../programs/wlogout + + ../services/gpg-agent.nix + ../services/kanshi.nix + ../services/mako.nix + ../services/mpd.nix + ../services/syncthing.nix + + ../theming.nix + + ../files/ssh-auth-signers.nix + ../files/rbw-gc.nix + ../files/pamKeys.nix + ]; + home.sessionVariables = { + XDG_CURRENT_DESKTOP = "sway"; + }; + home.packages = with pkgs; [ + jetbrains-toolbox + libappindicator + libappindicator-gtk3 + pavucontrol + grim + slurp + satty + sway-launcher-desktop + ueberzug + vscode + # ] ++ lib.optionals games [ + # factorio-experimental + lutris + # my-pkgs.olympus + prismlauncher + protontricks + proton-caller + # ] ++ lib.optionals social [ + gajim + tauon + (vesktop.override {withSystemVencord=false;}) + # pidginWithPlugins + # ] ++ lib.optionals drawing [ + krita + ]; +} diff --git a/modules/home/profiles/server/default.nix b/modules/home/profiles/server/default.nix new file mode 100644 index 00000000..52828e0f --- /dev/null +++ b/modules/home/profiles/server/default.nix @@ -0,0 +1,5 @@ +{ + pkgs, + inputs, + ... +}: {imports = [./base.nix ./cli.nix];} diff --git a/modules/home/wayland/default.nix b/modules/home/wayland/default.nix new file mode 100644 index 00000000..bede7b15 --- /dev/null +++ b/modules/home/wayland/default.nix @@ -0,0 +1,7 @@ +{imports = [ + ./sway.nix + ./keybindings.nix + ./misc.nix + ./waybar.nix + ./swaylock.nix +];} diff --git a/modules/home/wayland/keybindings.nix b/modules/home/wayland/keybindings.nix new file mode 100644 index 00000000..970e3845 --- /dev/null +++ b/modules/home/wayland/keybindings.nix @@ -0,0 +1,47 @@ +{ + pkgs, + lib, + config, + ... +}: let + mod = config.wayland.windowManager.sway.config.modifier; + homeDir = config.home.homeDirectory; + menu = config.wayland.windowManager.sway.config.menu; + term = config.wayland.windowManager.sway.config.terminal; + grim = "grim -g"; + slurp-screen = "\"$(slurp -c -b '#1e1e2e80' -o -r)\" -"; + slurp-box = "\"$(slurp -c '#f38ba8ff' -b '#1e1e2e80' -w 1 -d -F 'IBM Plex Mono')\" -"; + satty = "satty -f -"; +in { + wayland.windowManager.sway.config.keybindings = lib.mkOptionDefault { + "${mod}+d" = "${menu}"; + "${mod}+Shift+F" = "exec MOZ_DISABLE_RDD_SANDBOX=1 firefox"; + "${mod}+Return" = "exec ${term}"; + # "${mod}+Shift+Return" = "exec ${pkgs.wezterm}/bin/wezterm"; + "${mod}+x" = "exec wlogout"; + "${mod}+s" = null; + "${mod}+w" = null; + "XF86MonBrightnessDown" = "exec brightnessctl set 5%-"; + "XF86MonBrightnessUp" = "exec brightnessctl set +5%"; + "XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +5%"; + "XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -5%"; + "XF86AudioMute" = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle"; + "XF86AudioMicMute" = "exec pactl set-source-mute @DEFAULT_SOURCE@ toggle"; + "XF86AudioPlay" = "exec playerctl play-pause"; + "XF86AudioNext" = "exec playerctl next"; + "XF86AudioPrev" = "exec playerctl previous"; + "Shift+F3" = "exec ${grim} ${slurp-screen} | ${satty}"; + "Shift+F4" = "exec ${grim} ${slurp-box} | ${satty}"; + "${mod}+Shift+1" = "move container to workspace number 1"; + "${mod}+Shift+2" = "move container to workspace number 2"; + "${mod}+Shift+3" = "move container to workspace number 3"; + "${mod}+Shift+4" = "move container to workspace number 4"; + "${mod}+Shift+5" = "move container to workspace number 5"; + "${mod}+Shift+6" = "move container to workspace number 6"; + "${mod}+Shift+7" = "move container to workspace number 7"; + "${mod}+Shift+8" = "move container to workspace number 8"; + "${mod}+Shift+9" = "move container to workspace number 9"; + "${mod}+Shift+0" = "move container to workspace number 10"; + "${mod}+0" = "workspace number 10"; + }; +} diff --git a/modules/home/wayland/misc.nix b/modules/home/wayland/misc.nix new file mode 100644 index 00000000..e69de29b diff --git a/modules/home/wayland/sway.nix b/modules/home/wayland/sway.nix new file mode 100644 index 00000000..a87c4697 --- /dev/null +++ b/modules/home/wayland/sway.nix @@ -0,0 +1,134 @@ +{ + pkgs, + config, + ... +}: let + term = config.wayland.windowManager.sway.config.terminal; + homeDir = config.home.homeDirectory; +in { + imports = [./keybindings.nix ./swaylock.nix ./waybar.nix]; + wayland.windowManager.sway = { + enable = true; + package = null; + catppuccin.enable = true; + # nix-community/home-manager/issues/5311 + checkConfig = false; + wrapperFeatures.base = true; + wrapperFeatures.gtk = true; + extraConfig = '' + default_border pixel + focus_on_window_activation smart + ''; + systemd = { + enable = true; + xdgAutostart = true; + }; + config = { + terminal = "${pkgs.kitty}/bin/kitty"; + menu = "exec ${term} --detach --class=launcher -o initial_window_height=500 -o initial_window_width=500 -o font_size=16 ${pkgs.sway-launcher-desktop}/bin/sway-launcher-desktop"; + modifier = "Mod4"; + bars = [{command = "true";}]; + focus = { + followMouse = true; + mouseWarping = true; + newWindow = "smart"; + }; + fonts = { + names = ["IBM Plex Sans"]; + style = "Regular"; + size = 12.0; + }; + gaps = { + inner = 4; + outer = 4; + smartBorders = "off"; + smartGaps = false; + }; + input = { + "type:keyboard" = {xkb_options = "caps:escape";}; + "type:mouse" = {accel_profile = "flat";}; + "type:touchpad" = { + accel_profile = "adaptive"; + scroll_factor = "1.5"; + tap = "enabled"; + }; + }; + modes = { + resize = { + Escape = "mode default"; + Return = "mode default"; + Up = "resize shrink height 10 px"; + Down = "resize grow height 10 px"; + Left = "resize shrink width 10 px"; + Right = "resize grow width 10 px"; + h = "resize shrink width 10 px"; + j = "resize grow height 10 px"; + k = "resize shrink height 10 px"; + l = "resize grow width 10 px"; + }; + }; + output = { + eDP-1 = {scale = "1.2";}; + "*" = {bg = "${homeDir}/bgs/xenia-hangout-mocha.png fill";}; + }; + startup = [ + {command = "${pkgs.dex}/bin/dex -a";} + {command = "${homeDir}/scripts/unfuck-xdg-portals.fish";} + ]; + window = { + commands = [ + { + command = "inhibit_idle fullscreen"; + criteria = {class = "Chromium|zoom|Firefox";}; + } + { + command = "floating enable, sticky enable, resize set 30 ppt 50 ppt, border pixel 4"; + criteria = {app_id = "^launcher$";}; + } + { + command = "resize set 20 ppt"; + criteria = {title = "Mumble PTT";}; + } + ]; + }; + colors = { + background = "$base"; + focused = { + border = "$pink"; + background = "$base"; + text = "$text"; + indicator = "$rosewater"; + childBorder = "$pink"; + }; + focusedInactive = { + border = "$mauve"; + background = "$base"; + text = "$text"; + indicator = "$rosewater"; + childBorder = "$mauve"; + }; + unfocused = { + border = "$mauve"; + background = "$base"; + text = "$text"; + indicator = "$rosewater"; + childBorder = "$mauve"; + }; + urgent = { + border = "$peach"; + background = "$base"; + text = "$peach"; + indicator = "$overlay0"; + childBorder = "$peach"; + }; + placeholder = { + border = "$overlay0"; + background = "$base"; + text = "$text"; + indicator = "$overlay0"; + childBorder = "$overlay0"; + }; + }; + }; + }; +} diff --git a/modules/home/wayland/swaylock.nix b/modules/home/wayland/swaylock.nix new file mode 100644 index 00000000..393aec93 --- /dev/null +++ b/modules/home/wayland/swaylock.nix @@ -0,0 +1,24 @@ +{ + programs.swaylock = { + enable = true; + catppuccin.enable = true; + settings = { + daemonize = true; + image = "/home/thehedgehog/bgs/ctp-waves.png"; + scaling = "fill"; + indicator-idle-visible = true; + line-uses-ring = true; + ignore-empty-password = true; + clock = true; + indicator = true; + timestr = "%T"; + effect-blur = "5x5"; + + font = "IBM Plex Sans"; + font-size = 20; + + indicator-radius = 100; + indicator-thickness = 5; + }; + }; +} diff --git a/modules/home/wayland/waybar.nix b/modules/home/wayland/waybar.nix new file mode 100644 index 00000000..5f50ea0c --- /dev/null +++ b/modules/home/wayland/waybar.nix @@ -0,0 +1,111 @@ +{ + pkgs, + lib, + ... +}: { + programs.waybar = { + enable = true; + catppuccin.enable = false; + systemd.enable = true; + systemd.target = "sway-session.target"; + # style = "/home/thehedgehog/.config/waybar/style.css" + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 32; + modules-left = ["sway/workspaces" "sway/mode"]; + modules-center = ["custom/media"]; + modules-right = [ + "idle_inhibitor" + "wireplumber" + "network" + "temperature" + "backlight" + "battery" + "clock" + "tray" + ]; + "sway/workspaces" = { + disable-scroll = true; + enable-bar-scroll = false; + active-only = false; + all-outputs = false; + format = "{icon}"; + }; + "idle_inhibitor" = { + format = "{icon}"; + format-icons = { + "activated" = ""; + "deactivated" = ""; + }; + }; + "tray" = { + icon-size = 25; + spacing = 12; + }; + "clock" = { + tooltip-format = "{calendar}"; + format = "{:%H:%M:%S}  "; + format-alt = "{%d %b %Y}"; + interval = 1; + }; + "cpu" = { + format = "{usage}% "; + interval = 5; + tooltip = false; + }; + "memory" = {format = "{}% ";}; + "temperature" = { + critical-threshold = 80; + format = "{temperatureC}°C {icon}"; + format-icons = ["" "" "" "" ""]; + }; + "backlight" = { + format = "{percent}% {icon}"; + format-icons = ["󰃚" "󰃛" "󰃜" "󰃝" "󰃞" "󰃟" "󰃠"]; + }; + "battery" = { + states = { + good = 80; + warning = 30; + critical = 15; + }; + format = "{capacity}% {icon}"; + format-charging = "{capacity}% 󰂄"; + format-plugged = "{capacity}% "; + format-alt = "{time} {icon}"; + format-icons = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; + }; + "network" = { + format-wifi = "{essid} "; + format-ethernet = "{ifname}: {ipaddr}/{cidr} 󰈀"; + format-linked = "{ifname} (No IP) 󰄡"; + format-disconnected = "Disconnected! ⚠"; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + on-click = lib.getExe pkgs.networkmanagerapplet; + }; + "wireplumber" = { + format = "{volume}% {icon}"; + format-muted = "󰝟"; + format-icons = ["" "" ""]; + on-click = lib.getExe pkgs.helvum; + }; + "custom/media" = { + format = "{icon}{}"; + return-type = "json"; + format-icons = { + Paused = " "; + Playing = " "; + }; + max-length = 70; + exec = '' + ${ + lib.getExe pkgs.playerctl + } -a metadata --format '{"text": "{{playerName}}: {{artist}} - {{markup_escape(title)}}", "tooltip": "{{playerName}} : {{markup_escape(title)}}", "alt": "{{status}}", "class": "{{status}}"}' -F''; + on-click = "${lib.getExe pkgs.playerctl} play-pause"; + }; + }; + }; + }; +} diff --git a/modules/iceshrimp.nix b/modules/iceshrimp.nix deleted file mode 100644 index 75618669..00000000 --- a/modules/iceshrimp.nix +++ /dev/null @@ -1,382 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - inherit (lib) mkOption types mdDoc; - cfg = config.services.iceshrimp; - iceshrimpSettingsFormat = pkgs.formats.yaml {}; - iceshrimpConfigFile = iceshrimpSettingsFormat.generate "default.yml" cfg.settings; - stateDir = "/var/lib/iceshrimp"; -in { - options.services.iceshrimp = { - enable = lib.mkEnableOption "iceshrimp ActivityPub server"; - image = mkOption { - type = types.nonEmptyStr; - default = "iceshrimp.dev/iceshrimp/iceshrimp:latest"; - description = mdDoc '' - The docker image to use for the iceshrimp server. - ''; - }; - listenPort = mkOption { - type = types.port; - example = 3001; - default = 3000; - description = mdDoc '' - The host port that iceshrimp will listen on. Defaults to 3000. - ''; - }; - settings = mkOption { - description = mdDoc '' - The iceshrimp settings to use, defaults taken from example.yml in the Calckey repo. - Note that you are only required to set the `url` setting, all other settings have defaults. This is to prevent starting an instance with no URL, which doesn't work. - See [The example.yml](https://gitlab.prometheus.systems/iceshrimp/firefish/-/blob/develop/.config/example.yml) for all available keys. - ''; - type = types.submodule { - freeformType = iceshrimpSettingsFormat.type; - options = { - url = mkOption { - type = types.nonEmptyStr; - example = "https://example.com"; - description = mdDoc '' - The publically accessible URL of the iceshrimp instance. - CANNOT BE CHANGED AFTER INSTALLATION!! - ''; - }; - accountDomain = mkOption { - type = types.nullOr types.str; - example = "example.social"; - default = null; - description = - mdDoc - "OPTIONAL - Domain used for account handles, if you want the frontend at a subdomain but for account handles to be on a root domain, i.e. having the frontend at iceshrimp.example.social but the accounts being of the form @account@example.social."; - }; - port = mkOption { - type = types.port; - example = 3001; - default = 3000; - description = mdDoc '' - The listening port for the iceshrimp service INSIDE THE CONTAINER. This is not the external port, which is set in `config.firefish.listenPort` - ''; - }; - cuid = { - length = mkOption { - type = types.ints.between 16 24; - example = 18; - default = 16; - description = mdDoc '' - The length of the cuid to generate. The default should be fine, but if you are running a large or distributed server, consider increasing it. - ''; - }; - fingerprint = mkOption { - type = types.nullOr types.nonEmptyStr; - example = "my-fingerprint"; - default = null; - description = mdDoc '' - Set this to a unique string across workers(such as the machine's hostname) - ONLY if your workers are running in multiple hosts. - ''; - }; - }; - maxNoteLength = mkOption { - type = types.ints.between 1 100000; - example = 5000; - default = 3000; - description = mdDoc '' - The maximum note length to allow users to send. - ''; - }; - maxCaptionLength = mkOption { - type = types.ints.between 1 8192; - example = 2000; - default = 1500; - description = mdDoc '' - The maximum caption length to allow users to add to an image. - ''; - }; - reservedUsernames = mkOption { - type = types.listOf types.nonEmptyStr; - example = ["some" "example" "usernames"]; - default = ["root" "admin" "administrator" "me" "system"]; - description = mdDoc '' - Usernames that only the administrator is allowed to register with. - ''; - }; - disableHsts = mkOption { - type = types.bool; - example = false; - default = true; - description = mdDoc '' - Whether to disable HSTS for the iceshrimp server. - ''; - }; - clusterLimit = mkOption { - type = types.int; - example = 4; - default = 1; - description = mdDoc '' - How many worker processes to run. - ''; - }; - onlyQueueProcessor = mkOption { - type = types.ints.between 0 1; - example = 1; - default = 0; - description = mdDoc '' - Whether to run in worker-only mode. - ''; - }; - deliverJobConcurrency = mkOption { - type = types.int; - example = 64; - default = 128; - description = mdDoc '' - The max deliver jobs to run on a worker. - ''; - }; - inboxJobPerSec = mkOption { - type = types.int; - example = 32; - default = 16; - description = mdDoc '' - The max inbox jobs to run on a worker. - ''; - }; - deliverJobMaxAttempts = mkOption { - type = types.int; - example = 10; - default = 12; - description = mdDoc '' - The maximum number of times to attempt sending a deliver job before aborting. - ''; - }; - inboxJobMaxAttempts = mkOption { - type = types.int; - example = 6; - default = 8; - description = mdDoc '' - The maximum number of times to attempt sending an inbox job before aborting. - ''; - }; - outgoingAddressFamily = mkOption { - type = types.enum ["ipv4" "ipv6" "dual"]; - example = "dual"; - default = "ipv4"; - description = mdDoc '' - The IP address family to use for outgoing requests. - ''; - }; - syslog = { - host = mkOption { - type = types.nullOr types.nonEmptyStr; - example = "localhost"; - default = null; - description = '' - The host that should recieve syslog logs from iceshrimp. - ''; - }; - port = mkOption { - type = types.nullOr types.port; - example = 514; - default = null; - description = mdDoc '' - The port that the syslog server is listening on. - ''; - }; - }; - proxy = mkOption { - type = types.nullOr types.nonEmptyStr; - example = "http://127.0.0.1:3128"; - default = null; - description = mdDoc '' - The HTTP/HTTPS proxy to use. - ''; - }; - proxyBypassHosts = mkOption { - type = types.listOf types.nonEmptyStr; - example = ["web.kaiteki.app" "127.0.0.1"]; - default = []; - description = mdDoc '' - Hosts that should not be connected to with the proxy. - ''; - }; - proxySmtp = mkOption { - type = types.nullOr types.nonEmptyStr; - example = "http://127.0.0.1:3128"; - default = null; - description = mdDoc '' - The proxy to use for SMTP. Can be an http, socks4, or socks5 proxy. - ''; - }; - mediaProxy = mkOption { - type = types.nullOr types.nonEmptyStr; - example = "https://example.com/proxy"; - default = null; - description = mdDoc '' - The proxy to use to send media to the client. - ''; - }; - proxyRemoteFiles = mkOption { - type = types.bool; - example = true; - default = false; - description = mdDoc "Whether to proxy remote files."; - }; - mediaCleanup = { - cron = mkOption { - type = types.bool; - example = true; - default = false; - }; - maxAgeDays = mkOption { - type = types.int; - example = 30; - default = 0; - description = mdDoc "The number of days to keep media for"; - }; - cleanAvatars = mkOption { - type = types.bool; - example = true; - default = false; - description = - mdDoc "Whether to clean avatars on a timer with other media."; - }; - cleanHeaders = mkOption { - type = types.bool; - example = true; - default = false; - description = - mdDoc "Whether to clean headers on a timer with other media."; - }; - }; - images = { - info = mkOption { - type = types.str; - example = "/twemoji/1f440.svg"; - default = "/twemoji/1f440.svg"; - description = mdDoc "Path to the image to use for the info icon."; - }; - notFound = mkOption { - type = types.str; - example = "/twemoji/2049.svg"; - default = "/twemoji/2049.svg"; - description = - mdDoc "Path to the image to use for the notFound icon."; - }; - error = mkOption { - type = types.str; - example = "/twemoji/1f480.svg"; - default = "/twemoji/1f480.svg"; - description = - mdDoc "Path to the image to use for the error icon."; - }; - }; - searchEngine = mkOption { - type = types.str; - example = "https://search.brave.com/search?q="; - default = "https://duckduckgo.com/?q="; - description = - mdDoc - "The search engine base string to use for the MFM search box."; - }; - allowedPrivateNetworks = mkOption { - type = types.listOf types.nonEmptyStr; - example = ["127.0.0.1/32"]; - default = ["127.0.0.1/32"]; - description = - mdDoc - "The networks to classify as private when connecting to the server."; - }; - twa = { - nameSpace = mkOption { - type = types.nullOr types.nonEmptyStr; - example = "android_app"; - default = null; - description = mdDoc "The TWA namespace to allow."; - }; - packageName = mkOption { - type = types.nullOr types.nonEmptyStr; - example = "tld.domain.twa"; - default = null; - description = - mdDoc - "The name of the android app package that can use this TWA."; - }; - sha256CertFingerprints = mkOption { - type = types.nullOr (types.listOf types.nonEmptyStr); - example = ["AB:CD:EF"]; - default = null; - description = - mdDoc - "The SHA256 certificate fingerprint(s) of the app package abouve"; - }; - }; - maxFileSize = mkOption { - type = types.int; - example = 100000; - default = 262144000; - description = mdDoc "The max upload file size. Defaults to 250 MB."; - }; - }; - }; - }; - - envFile = mkOption { - type = types.path; - example = /path/to/secret.env; - default = ""; - description = mdDoc '' - The secret environment file to load into the database and iceshrimp server containers. - The file should contain the variable `POSTGRES_PASSWORD`, set to the password of the Postgres database user. - ''; - }; - }; - config = lib.mkIf cfg.enable { - services.iceshrimp.settings = { - db = { - host = "iceshrimp-db"; - port = 5432; - db = "iceshrimp"; - user = "iceshrimp"; - pass = "iceshrimpDBPassword123!"; - }; - redis = { - host = "iceshrimp-redis"; - port = 6379; - }; - }; - virtualisation.oci-containers.containers = { - iceshrimp-server = { - image = cfg.image; - dependsOn = ["iceshrimp-db" "iceshrimp-redis" ]; - environment = {NODE_ENV = "production";}; - ports = [ - "${builtins.toString cfg.listenPort}:${ - builtins.toString cfg.settings.port - }" - ]; - volumes = [ - "${stateDir}/files:/iceshrimp/files" - "${iceshrimpConfigFile}:/iceshrimp/.config/default.yml:ro" - ]; - extraOptions = ["--network=iceshrimp"]; - }; - iceshrimp-redis = { - image = "docker.io/redis:7.0-alpine"; - volumes = ["${stateDir}/redis:/data"]; - extraOptions = ["--network=iceshrimp"]; - }; - iceshrimp-db = { - image = "docker.io/postgres:12.2-alpine"; - environment = { - POSTGRES_PASSWORD = "iceshrimpDBPassword123!"; - POSTGRES_USER = "iceshrimp"; - POSTGRES_DB = "iceshrimp"; - }; - volumes = ["${stateDir}/db:/var/lib/postgresql/data"]; - extraOptions = ["--network=iceshrimp"]; - }; - }; - }; -} diff --git a/modules/dn42-pingfinder.nix b/modules/nixos/dn42-pingfinder/default.nix similarity index 100% rename from modules/dn42-pingfinder.nix rename to modules/nixos/dn42-pingfinder/default.nix diff --git a/modules/forgejo-runner.nix b/modules/nixos/forgejo-runner/default.nix similarity index 100% rename from modules/forgejo-runner.nix rename to modules/nixos/forgejo-runner/default.nix diff --git a/modules/pyrox.nix b/modules/pyrox.nix deleted file mode 100644 index e1e48270..00000000 --- a/modules/pyrox.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - config, - lib, - pkgs, - myLib, - ... -}: let - inherit (lib) mkOption types; - inherit (myLib) myTypes; - cfg = config.pyrox.services; -in { - # Import all config.pyrox modules - imports = [ - ./forgejo-runner.nix - ]; - - options.pyrox.metadata = { - hosts = mkOption { - description = "Each host that is in the PyroNet Network"; - type = types.attrsOf (myTypes.hostModule); - }; - serviceHosts = mkOption { - description = "The services and what hosts they run on."; - type = types.submodule { - freeformType = types.anything; - }; - }; - }; -} diff --git a/pkgs/caddyBin.nix b/packages/caddy/default.nix similarity index 100% rename from pkgs/caddyBin.nix rename to packages/caddy/default.nix diff --git a/pkgs/go-jamming.nix b/packages/go-jamming/default.nix similarity index 100% rename from pkgs/go-jamming.nix rename to packages/go-jamming/default.nix diff --git a/pkgs/olympus.nix b/packages/olympus/default.nix similarity index 93% rename from pkgs/olympus.nix rename to packages/olympus/default.nix index 399f6d0e..60f19a4c 100644 --- a/pkgs/olympus.nix +++ b/packages/olympus/default.nix @@ -5,12 +5,12 @@ }: let olympus = pkgs.stdenv.mkDerivation rec { pname = "olympus"; - version = "3729"; + version = "4085"; # https://everestapi.github.io/ src = pkgs.fetchzip { url = "https://dev.azure.com/EverestAPI/Olympus/_apis/build/builds/${version}/artifacts?artifactName=linux.main&$format=zip#linux.main.zip"; - sha256 = "sha256-8ZKOa4jOKtqY+zTpDIfKq1Jy1m39X11/Yvmsxud/SmE="; + hash = "sha256-8qHQ59QQvUfm4/2rbPaweh+q6dbzTUMMJ1n5duJ3XpI="; }; buildInputs = [pkgs.unzip]; diff --git a/patches/rga.patch b/patches/rga.patch deleted file mode 100644 index c2003ce8..00000000 --- a/patches/rga.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/adapters/pandoc.rs b/src/adapters/pandoc.rs -index 0eaf7ed..3f0a4c3 100644 ---- a/src/adapters/pandoc.rs -+++ b/src/adapters/pandoc.rs -@@ -80,7 +80,6 @@ impl SpawningFileAdapter for PandocAdapter { - //.arg("--to=commonmark-header_attributes-link_attributes-fenced_divs-markdown_in_html_blocks-raw_html-native_divs-native_spans-bracketed_spans") - .arg("--to=plain") -- .arg("--wrap=none") -- .arg("--atx-headers"); -+ .arg("--wrap=none"); - cmd - } - } diff --git a/pkgs/caddyBin2.nix b/pkgs/caddyBin2.nix deleted file mode 100644 index 61fd130c..00000000 --- a/pkgs/caddyBin2.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - fetchFromGitea, - lib, - stdenv, - pkgs, -}: -stdenv.mkDerivation { - pname = "caddy-bin"; - version = "2.5.2"; - phases = ["unpackPhase" "installPhase"]; - - src = fetchFromGitea rec { - domain = "git.exozy.me"; - owner = "thehedgehog"; - repo = "nix"; - rev = "c1db2bc786df5f843b243e7516338c0a487c0571"; - sha256 = "sha256-/hC/H3OvKGRMqylqwK70Y/LjPFKgSsjWOx5tvKYyOvk="; - }; - - installPhase = '' - install -d $out/bin - install -m 755 binaries/caddy $out/bin/caddy - ''; -} diff --git a/pkgs/nerdfont-symbols.nix b/pkgs/nerdfont-symbols.nix deleted file mode 100644 index 1dea0527..00000000 --- a/pkgs/nerdfont-symbols.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - lib, - fetchzip, -}: -fetchzip { - name = "nerdfont-symbols-only"; - url = "https://github.com/ryanoasis/nerd-fonts/releases/download/2.2.0-RC/NerdFontsSymbolsOnly.zip"; - - sha256 = "sha256-UQatqcUf41mqki6hy/zFpz8GgiM0sUAe83ghI5we5rA="; - - postFetch = '' - mkdir -p $out/share/fonts/opentype/NerdFontSymbolsOnly - unzip -j $downloadedFile \*.ttf -d $out/share/fonts/opentype/NerdFontSymbolsOnly - ''; - - meta = with lib; { - description = "The Nerd Fonts symbols in 1 font."; - homepage = "https://nerdfonts.com"; - license = licenses.mit; - maintainers = with maintainers; [thehedgeh0g]; - }; -} diff --git a/pkgs/xcaddy.nix b/pkgs/xcaddy.nix deleted file mode 100644 index e8f5f18f..00000000 --- a/pkgs/xcaddy.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - lib, - pkgs, - fetchFromGitHub, - buildGoModule, - stdenv, - ... -}: -buildGoModule rec { - pname = "xcaddy"; - version = "0.3.0"; - proxyVendor = true; - subPackages = ["cmd/xcaddy"]; - - src = fetchFromGitHub { - owner = "caddyserver"; - repo = "xcaddy"; - rev = "v${version}"; - sha256 = "sha256-kB2WyHaln/arvISzVjcgPLHIUC/dCzL9Ub8aEl2xL2c="; - }; - - vendorSha256 = "sha256-6ZAMRe9MsCuShXCIKEYtItqLM8bKlIf0m70RsNYPG10="; - - meta = with lib; { - homepage = "https://caddyserver.com"; - description = "Caddy build tool"; - license = licenses.asl20; - maintainers = with maintainers; [thehedgeh0g]; - }; -} diff --git a/shells/default/default.nix b/shells/default/default.nix new file mode 100644 index 00000000..5600ec09 --- /dev/null +++ b/shells/default/default.nix @@ -0,0 +1,3 @@ +{ inputs, pkgs, ...}: let + mkShell = inputs.mkshell-minimal pkgs; +in mkShell {} diff --git a/hosts/marvin/bootloader.nix b/systems/x86_64-linux/marvin/bootloader.nix similarity index 100% rename from hosts/marvin/bootloader.nix rename to systems/x86_64-linux/marvin/bootloader.nix diff --git a/hosts/marvin/configuration.nix b/systems/x86_64-linux/marvin/configuration.nix similarity index 95% rename from hosts/marvin/configuration.nix rename to systems/x86_64-linux/marvin/configuration.nix index 89ae08a2..5f61a847 100644 --- a/hosts/marvin/configuration.nix +++ b/systems/x86_64-linux/marvin/configuration.nix @@ -11,6 +11,9 @@ ./networking.nix ./hardware.nix + # Common service configs + ../modules/services/buildbot-worker.nix + # Running Services ./services/authentik.nix ./services/avahi.nix diff --git a/hosts/marvin/firewall.nix b/systems/x86_64-linux/marvin/firewall.nix similarity index 100% rename from hosts/marvin/firewall.nix rename to systems/x86_64-linux/marvin/firewall.nix diff --git a/hosts/marvin/hardware.nix b/systems/x86_64-linux/marvin/hardware.nix similarity index 100% rename from hosts/marvin/hardware.nix rename to systems/x86_64-linux/marvin/hardware.nix diff --git a/hosts/marvin/networking.nix b/systems/x86_64-linux/marvin/networking.nix similarity index 100% rename from hosts/marvin/networking.nix rename to systems/x86_64-linux/marvin/networking.nix diff --git a/hosts/marvin/secrets/authentik-env.age b/systems/x86_64-linux/marvin/secrets/authentik-env.age similarity index 100% rename from hosts/marvin/secrets/authentik-env.age rename to systems/x86_64-linux/marvin/secrets/authentik-env.age diff --git a/systems/x86_64-linux/marvin/secrets/buildbot-gitea-token.age b/systems/x86_64-linux/marvin/secrets/buildbot-gitea-token.age new file mode 100644 index 00000000..75078b6b --- /dev/null +++ b/systems/x86_64-linux/marvin/secrets/buildbot-gitea-token.age @@ -0,0 +1,20 @@ +age-encryption.org/v1 +-> ssh-ed25519 iqBxIA sXjW2SR1XZX72GNOub2LDOyPErSL1frz/6h1/PCpYQc +C1S5xYK8e0wjxXUo3Fv1Bly/KexFni/vUVQXvTOaYjM +-> ssh-rsa fFaiTA +hp5tbxse6zTj3F9+cURU7l1wgQ7xPqetn//fPbeAWgOaE6mV5AgKmul7rHEL9IIH +aFTvalTWR/KnFznYtlW/k8NJ8kxsO8xF+E5TzFnJHoJ1kcnxzx470m/erc928n48 +XcqN+XT2OS7xxH8i4v+pTqsCniK5oKpUbXujFBDdLQzHr6PfudD7KflSDklIdYEB +Hcd1wPtnOwD7lPPrH4MIVNcAsZdc1gdieWI6WAyYhwyCGkHx+AAtbGBGIRxpM6eA +/iau2CyIL3NoQO5ahuocI3j6JZg/rjf8CrB6BOcjST63xxJOtb/Z1vCDMN8IL7h5 +BC/W0jeLSWG6j/HtGXQHcBuuCe9X6ghNxHjJnXTlW5gyy/5fkfg1VwH1GH7LSgr3 +tULl2deCUc13COd+c74wPl1tndaCFou3syWQI1+g6cxafdjNeC4toQVVTjiWKArW +9FxAfmOHRqkren+G68rV3r9HUwiik5yfFj3i0ReiSJOs+PnFdwiia+qEyEU6c+RA +ZKm02DA0xdIKvWRhBcV3LfXa59gM/fqHY7fPOr764UE8G3OxhU41YokRxSF2Amjr +SrrTdd9ifydgm/6QOezR/rGdIPednZGw7AifVDtzStqfeK2N/1UptXmRTqJxNKDl +HqChILGJP+4oQ9C40DBJKqoDoQ4cgdABf+cVvum4Vuo +-> ssh-ed25519 wpmdHA ihAY2EmeXBKtEYivtyxIM4f9DT8l4r+fB1aZq+/bBjI +cTxIJd2UpHpk6+kRC6kYnkWpk5vNOKN3KaTObI2yK60 +--- wb5Zy32SMDk6XSAwzGDLz1fHZkTmFQRJu3UdOSO6ALs +�6�3 +��x�p�(SFx��9%�l�`��mNy�i'��?i�������@Nw��ϖ�Xh\ơ� �A�X�{� \ No newline at end of file diff --git a/systems/x86_64-linux/marvin/secrets/buildbot-oauth-secret.age b/systems/x86_64-linux/marvin/secrets/buildbot-oauth-secret.age new file mode 100644 index 0000000000000000000000000000000000000000..e61b4d9f186c47225e5694b3160fe8b34c713fd4 GIT binary patch literal 1091 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCU7EOe^ybW|ub$&5(O zt;);G@HTY`)K0R@OZ7AesI>6&N(=Wav!H@O12EC$cEWgRGg@g=9ZWl;>ZHW1jBh=5G+{%H>p%SCJCtYg(Qc>>3zkWRT&KQ=VCz zW9(j(RTOOCADo+`onxLE5?qu~mF?k|mf>e^VVvexWFF{U5@qb1=EvpbQDsn;Se|9% zQ$AQY#tbvoDvcm?w4woSXET+W|HOS6qaZjoEB*0o#v7i=;jw>Q52F> zZW+Oqk{S_N6q;-qVUSm0Qs|c(np2Q#qMzg%lxbj@o~!SXl^^Jnnq6$>8dhwQoSstY zW#E%;SzeN#YUFO_l4Oy=m0oG?R*|0QrtOn!TA}Tq5g3qT;ArmT<{y?>Q0|qHR+tkJ zo*q;jo|%?a=~fgR;%=C0X=WOnSe)&mo$Qob&XpP!n6K?z;p6RLU}0IDpB-M7n5=J6 zRbCk6?Pg(AZfa&;;c8fxub=HwW*L>19O>a<;+B!=W*T9h?4MYX7r+&kRFzm*>2K_2 z7+6tKl^vLqVd5R&66uy7>6#H};p0(OnD1i}>6CAhmu?wa zWS*?=XOZO-=AUC65fq%w<&|Dx;$3PP5o#Hpn^@qMVN_I=o9S;H8Ej(gl#*xYmlPZx zV(9H$l^C86OUJNWQ(lmp;^C-ZmXi~#ZEhOk8y@1UU6xT6>6adw;bCH~o#Jeqn^)qO zmr`Nu7?K>C7!t{q8kv;ko#^Ks?Czde85|Ork!@I!=bB?`=#lJg6yR@Z>0DJDW|)>SAiFpJkSn?dxNb;~(i*?&F|v67iMXi5$?-n zan^gj!@=$!R=v(*3v^k{53DO()N6E5SX(=QUsjEye6#4yZL81Mm?}Qab@~0vVd3?! t+p-0eyiT=Tv?_C5A3N(pfO^U833a=-GRhrT@V0_$sT)IQ^@f(hUjP|ma^nC1 literal 0 HcmV?d00001 diff --git a/systems/x86_64-linux/marvin/secrets/buildbot-worker-password.age b/systems/x86_64-linux/marvin/secrets/buildbot-worker-password.age new file mode 100644 index 00000000..920d315f --- /dev/null +++ b/systems/x86_64-linux/marvin/secrets/buildbot-worker-password.age @@ -0,0 +1,19 @@ +age-encryption.org/v1 +-> ssh-ed25519 iqBxIA gwCfKQU/RuO5wvWJt+BNo9vMIH4cQNKC4YBo4zgeM00 +568cl7NUSUNWPCF3SL8SSqsyV3qqKmM4CoqmQ+yynUs +-> ssh-rsa fFaiTA +xa/L5kqpE+MAOnbQFeOi4u53k9RdTz7di+bFiDwkUMoxPwKKWmT6DejEq2JmqcL6 +adkNyc7sS9mfyoCC55WttpC1VBtyCtWCvJIuG8vtO11RsBfA6GvHLG4uuuHRGEqQ +i9IGIVBIUdCT+q4Eu8zV5hVEdbuufDGTbp1Ye2MZszl99XE3FKBgBNMfMyYL4fO4 ++GE6kuTMdgwlI1CKFlQH5cZSMwGtm1ElTZcwd0Zl1Zu/5Y4mKwJ78RLtdmoIpYW/ +8TnvuH1uD6PFZQ6f0RDxNnEnyZuAezTx16tjFfTuoI1/lyvq6t6et/f9TysKTnZZ +W0PSBFvTaxE1IKaO/PRynd9ZrBbLgk8pibCP6HgM8ev1Gbl4vLjq/0t+t0PEVquH +y0MXvO6OvjGs89JS9/AYbBAsFxmD/FcKGm857fKFqE2a+SguX0oTBbjNx/PG0rAm +RTx9CR2wCUhTq5KheRmL+Ik/T/Yv4QuDid6p93PHcwJ2YUqXPyMEuTyv/nhjSEGa +v3GX7sIQh0aC0LSHF0ielfyxjvAXysNKiIZaN+DU0tGTgKW/QvMOnUKB4X3EZCHu +yMGgV1vR+pVTLx7xoAyjPL9DQC9ezMlSs5gcZVEV3NLRndz5Es2SAgg7r0mXy5fg +PZz7XVriGa+2JhcAnDbFWgFjqwI7r5MSTpq8Sl9FZ8E +-> ssh-ed25519 wpmdHA wfideEEHVJwKpYxqET5LDOE859htEZIpg1UxKIGSayM +V5vr78i22cOHPS8+ZFluqMDfH9D3vzkHQ51Oos+MWq0 +--- ltXrwcgDWjvOiOkbNmi8MAUtgcevsUKA2ooV7UyB03s +�� �����U���������q���{l���˓��<��=r��Žv�ݸ�H���Z��V�� \ No newline at end of file diff --git a/systems/x86_64-linux/marvin/secrets/buildbot-workers.age b/systems/x86_64-linux/marvin/secrets/buildbot-workers.age new file mode 100644 index 00000000..c96277cd --- /dev/null +++ b/systems/x86_64-linux/marvin/secrets/buildbot-workers.age @@ -0,0 +1,21 @@ +age-encryption.org/v1 +-> ssh-ed25519 iqBxIA NyjUU036+HYwviv9FB7Onyl3YYScNe/vLXpAYnbbJxU +pecvax2BSVOYEgCHxoQyWTRzBRpq8N2ertX0QAw600Y +-> ssh-rsa fFaiTA +Tdwy6FqSqpMxc7x/Ygwiz8ssPwug7sk1BZ0QghMZkoO8KPJwldUcYfsgQxklzisx +JuMDTBacCxN6/RnIfvcagtYZ2NeKsGkhk6KZ1QtcDt9oWrLD9KQBs/YlBmkJGE3L +SqAcQX9AybGQ+ODS8ZbXR7WTcCy0I85Jiy60QYRfkX5lElL0BAbbuphn6xtm0dt7 +YuArYTndGI1KOgcnDCia8Az84vzjIh/Cp4AGthmhAOQP2R1k94LI8p1639RqlrkT +XAdsglg344l7ki2Eib4pPADDmhKttrJ/79DTK0X+1757PaUyxMif55WIrxQLzE2s +QHhwj1pka1HynIGy87cwILAlvqWNFUQ9lTbfMNfTLMBEJ7hH/HB6Adpmr0CVhKKG +B3WfC9l3v/15owcb3qLeP/dkaarjHbTM4FafOLkjrhdEgYCEGK/ls3vx0Deq4x39 +G3WO/fclUQyjcO/g17i9yyfmuupL11Juk8xRyaU5fzi5O7gtGnPlLxhBqXE1s9Xa +FzSSBHztAYAT7D7wodoE+LsTAajRoMQnTkFuP0pvO81C8z7dMXVckYvPco8dTbHY +wujBpw+h//2oIfWxgM6lzZGKny+VsbFSVDz3JURCeWUaFpjdDHzkk7fd+fXAdhcx +Wh25XuYYKvr1SOjo1ux9hAgbH/KAGKy9hoXzpbs6q6I +-> ssh-ed25519 wpmdHA iO+7sYjfsEVkwxtiRMgi/5liBd5I56Cl3nIo5fFe6gc +Rhez8a+eG9D4kV6I3R7eRdEty3dVyYybBCsDoD3gy8Q +--- W7rtaU3i9bkD3+2PKJbOeDK8AlFhpW0t3Lp6MeJ7RiQ +��� +.I�s ��q^hA���Ch�D��s�������|����8[�%xX�n+�Qb�#f�gUL�C�c9p������RgBd9e%'Y8�F��gկ~�15�D��d�K��C�c>���w +tP(�cr����p7 \ No newline at end of file diff --git a/hosts/marvin/secrets/forgejo-db-pw.age b/systems/x86_64-linux/marvin/secrets/forgejo-db-pw.age similarity index 100% rename from hosts/marvin/secrets/forgejo-db-pw.age rename to systems/x86_64-linux/marvin/secrets/forgejo-db-pw.age diff --git a/hosts/marvin/secrets/forgejo-default-runner-token.age b/systems/x86_64-linux/marvin/secrets/forgejo-default-runner-token.age similarity index 100% rename from hosts/marvin/secrets/forgejo-default-runner-token.age rename to systems/x86_64-linux/marvin/secrets/forgejo-default-runner-token.age diff --git a/hosts/marvin/secrets/forgejo-internal-token.age b/systems/x86_64-linux/marvin/secrets/forgejo-internal-token.age similarity index 100% rename from hosts/marvin/secrets/forgejo-internal-token.age rename to systems/x86_64-linux/marvin/secrets/forgejo-internal-token.age diff --git a/hosts/marvin/secrets/forgejo-lfs-jwt-secret.age b/systems/x86_64-linux/marvin/secrets/forgejo-lfs-jwt-secret.age similarity index 100% rename from hosts/marvin/secrets/forgejo-lfs-jwt-secret.age rename to systems/x86_64-linux/marvin/secrets/forgejo-lfs-jwt-secret.age diff --git a/hosts/marvin/secrets/forgejo-mail-pw.age b/systems/x86_64-linux/marvin/secrets/forgejo-mail-pw.age similarity index 100% rename from hosts/marvin/secrets/forgejo-mail-pw.age rename to systems/x86_64-linux/marvin/secrets/forgejo-mail-pw.age diff --git a/hosts/marvin/secrets/forgejo-oauth2-jwt-secret.age b/systems/x86_64-linux/marvin/secrets/forgejo-oauth2-jwt-secret.age similarity index 100% rename from hosts/marvin/secrets/forgejo-oauth2-jwt-secret.age rename to systems/x86_64-linux/marvin/secrets/forgejo-oauth2-jwt-secret.age diff --git a/hosts/marvin/secrets/forgejo-secret-key.age b/systems/x86_64-linux/marvin/secrets/forgejo-secret-key.age similarity index 100% rename from hosts/marvin/secrets/forgejo-secret-key.age rename to systems/x86_64-linux/marvin/secrets/forgejo-secret-key.age diff --git a/hosts/marvin/secrets/golink-authkey.age b/systems/x86_64-linux/marvin/secrets/golink-authkey.age similarity index 100% rename from hosts/marvin/secrets/golink-authkey.age rename to systems/x86_64-linux/marvin/secrets/golink-authkey.age diff --git a/hosts/marvin/secrets/grafana-admin-password.age b/systems/x86_64-linux/marvin/secrets/grafana-admin-password.age similarity index 100% rename from hosts/marvin/secrets/grafana-admin-password.age rename to systems/x86_64-linux/marvin/secrets/grafana-admin-password.age diff --git a/hosts/marvin/secrets/grafana-smtp-password.age b/systems/x86_64-linux/marvin/secrets/grafana-smtp-password.age similarity index 100% rename from hosts/marvin/secrets/grafana-smtp-password.age rename to systems/x86_64-linux/marvin/secrets/grafana-smtp-password.age diff --git a/hosts/marvin/secrets/iceshrimp-db-password.age b/systems/x86_64-linux/marvin/secrets/iceshrimp-db-password.age similarity index 100% rename from hosts/marvin/secrets/iceshrimp-db-password.age rename to systems/x86_64-linux/marvin/secrets/iceshrimp-db-password.age diff --git a/hosts/marvin/secrets/iceshrimp-secret-config.age b/systems/x86_64-linux/marvin/secrets/iceshrimp-secret-config.age similarity index 100% rename from hosts/marvin/secrets/iceshrimp-secret-config.age rename to systems/x86_64-linux/marvin/secrets/iceshrimp-secret-config.age diff --git a/hosts/marvin/secrets/minio-root.age b/systems/x86_64-linux/marvin/secrets/minio-root.age similarity index 100% rename from hosts/marvin/secrets/minio-root.age rename to systems/x86_64-linux/marvin/secrets/minio-root.age diff --git a/hosts/marvin/secrets/nextcloud-admin-pw.age b/systems/x86_64-linux/marvin/secrets/nextcloud-admin-pw.age similarity index 100% rename from hosts/marvin/secrets/nextcloud-admin-pw.age rename to systems/x86_64-linux/marvin/secrets/nextcloud-admin-pw.age diff --git a/hosts/marvin/secrets/nix-serve-priv.age b/systems/x86_64-linux/marvin/secrets/nix-serve-priv.age similarity index 100% rename from hosts/marvin/secrets/nix-serve-priv.age rename to systems/x86_64-linux/marvin/secrets/nix-serve-priv.age diff --git a/hosts/marvin/secrets/planka-env.age b/systems/x86_64-linux/marvin/secrets/planka-env.age similarity index 100% rename from hosts/marvin/secrets/planka-env.age rename to systems/x86_64-linux/marvin/secrets/planka-env.age diff --git a/hosts/marvin/secrets/radicale-htpasswd.age b/systems/x86_64-linux/marvin/secrets/radicale-htpasswd.age similarity index 100% rename from hosts/marvin/secrets/radicale-htpasswd.age rename to systems/x86_64-linux/marvin/secrets/radicale-htpasswd.age diff --git a/hosts/marvin/secrets/secrets.nix b/systems/x86_64-linux/marvin/secrets/secrets.nix similarity index 93% rename from hosts/marvin/secrets/secrets.nix rename to systems/x86_64-linux/marvin/secrets/secrets.nix index 55b09cce..2f881b5e 100644 --- a/hosts/marvin/secrets/secrets.nix +++ b/systems/x86_64-linux/marvin/secrets/secrets.nix @@ -8,6 +8,10 @@ let default = [marvin yubi-back ssh-new]; in { "authentik-env.age".publicKeys = default; + "buildbot-worker-password.age".publicKeys = default; + "buildbot-gitea-token.age".publicKeys = default; + "buildbot-oauth-secret.age".publicKeys = default; + "buildbot-workers.age".publicKeys = default; "forgejo-db-pw.age".publicKeys = default; "forgejo-mail-pw.age".publicKeys = default; "forgejo-default-runner-token.age".publicKeys = default; diff --git a/hosts/marvin/secrets/thehedgehog-key.age b/systems/x86_64-linux/marvin/secrets/thehedgehog-key.age similarity index 100% rename from hosts/marvin/secrets/thehedgehog-key.age rename to systems/x86_64-linux/marvin/secrets/thehedgehog-key.age diff --git a/hosts/marvin/secrets/thehedgehog-pem.age b/systems/x86_64-linux/marvin/secrets/thehedgehog-pem.age similarity index 100% rename from hosts/marvin/secrets/thehedgehog-pem.age rename to systems/x86_64-linux/marvin/secrets/thehedgehog-pem.age diff --git a/hosts/marvin/secrets/vaultwarden-pgpass.age b/systems/x86_64-linux/marvin/secrets/vaultwarden-pgpass.age similarity index 100% rename from hosts/marvin/secrets/vaultwarden-pgpass.age rename to systems/x86_64-linux/marvin/secrets/vaultwarden-pgpass.age diff --git a/hosts/marvin/secrets/vaultwarden-vars.age b/systems/x86_64-linux/marvin/secrets/vaultwarden-vars.age similarity index 100% rename from hosts/marvin/secrets/vaultwarden-vars.age rename to systems/x86_64-linux/marvin/secrets/vaultwarden-vars.age diff --git a/hosts/marvin/secrets/webmentiond-env.age b/systems/x86_64-linux/marvin/secrets/webmentiond-env.age similarity index 100% rename from hosts/marvin/secrets/webmentiond-env.age rename to systems/x86_64-linux/marvin/secrets/webmentiond-env.age diff --git a/hosts/marvin/services/authentik.nix b/systems/x86_64-linux/marvin/services/authentik.nix similarity index 100% rename from hosts/marvin/services/authentik.nix rename to systems/x86_64-linux/marvin/services/authentik.nix diff --git a/hosts/marvin/services/avahi.nix b/systems/x86_64-linux/marvin/services/avahi.nix similarity index 100% rename from hosts/marvin/services/avahi.nix rename to systems/x86_64-linux/marvin/services/avahi.nix diff --git a/hosts/marvin/services/bookstack.nix b/systems/x86_64-linux/marvin/services/bookstack.nix similarity index 100% rename from hosts/marvin/services/bookstack.nix rename to systems/x86_64-linux/marvin/services/bookstack.nix diff --git a/hosts/marvin/services/bots.nix b/systems/x86_64-linux/marvin/services/bots.nix similarity index 100% rename from hosts/marvin/services/bots.nix rename to systems/x86_64-linux/marvin/services/bots.nix diff --git a/systems/x86_64-linux/marvin/services/buildbot.nix b/systems/x86_64-linux/marvin/services/buildbot.nix new file mode 100644 index 00000000..fcc16673 --- /dev/null +++ b/systems/x86_64-linux/marvin/services/buildbot.nix @@ -0,0 +1,47 @@ +{config, data, ...}: let + as = config.age.secrets; + d = data.services.buildbot; + g = data.services.git; + bbSecret = { + owner = "buildbot"; + group = "buildbot"; + }; +in { + services.buildbot-nix.master = { + enable = true; + dbUrl = "postgresql://buildbot@localhost/buildbot"; + workersFile = as.buildbot-workers.path; + authBackend = "gitea"; + gitea = { + enable = true; + tokenFile = as.buildbot-gitea-token.path; + oauthSecretFile = as.buildbot-oauth-secret.path; + instanceUrl = g.extUrl; + oauthId = "2bfd5c46-43a7-4d98-b443-9176dc0a9452"; + topic = "buildbot-enable"; + }; + admins = [ + "pyrox" + ]; + domain = d.extUrl; + useHttps = true; + }; + services.postgresql.ensureUsers = [{ + name = "buildbot"; + ensureDBOwnership = true; + ensureClauses.login = true; + }]; + services.postgresql.ensureDatabases = [ "buildbot" ]; + services.buildbot-master.port = 6915; + age.secrets = { + buildbot-gitea-token = bbSecret // { + file = ../secrets/buildbot-gitea-token.age; + }; + buildbot-oauth-secret = bbSecret // { + file = ../secrets/buildbot-oauth-secret.age; + }; + buildbot-workers = bbSecret // { + file = ../secrets/buildbot-workers.age; + }; + }; +} diff --git a/hosts/marvin/services/deemix.nix b/systems/x86_64-linux/marvin/services/deemix.nix similarity index 100% rename from hosts/marvin/services/deemix.nix rename to systems/x86_64-linux/marvin/services/deemix.nix diff --git a/hosts/marvin/services/git.nix b/systems/x86_64-linux/marvin/services/git.nix similarity index 100% rename from hosts/marvin/services/git.nix rename to systems/x86_64-linux/marvin/services/git.nix diff --git a/hosts/marvin/services/golink.nix b/systems/x86_64-linux/marvin/services/golink.nix similarity index 100% rename from hosts/marvin/services/golink.nix rename to systems/x86_64-linux/marvin/services/golink.nix diff --git a/hosts/marvin/services/grafana.nix b/systems/x86_64-linux/marvin/services/grafana.nix similarity index 100% rename from hosts/marvin/services/grafana.nix rename to systems/x86_64-linux/marvin/services/grafana.nix diff --git a/hosts/marvin/services/iceshrimp.nix b/systems/x86_64-linux/marvin/services/iceshrimp.nix similarity index 100% rename from hosts/marvin/services/iceshrimp.nix rename to systems/x86_64-linux/marvin/services/iceshrimp.nix diff --git a/hosts/marvin/services/jellyfin.nix b/systems/x86_64-linux/marvin/services/jellyfin.nix similarity index 100% rename from hosts/marvin/services/jellyfin.nix rename to systems/x86_64-linux/marvin/services/jellyfin.nix diff --git a/hosts/marvin/services/matrix.nix b/systems/x86_64-linux/marvin/services/matrix.nix similarity index 100% rename from hosts/marvin/services/matrix.nix rename to systems/x86_64-linux/marvin/services/matrix.nix diff --git a/hosts/marvin/services/minio.nix b/systems/x86_64-linux/marvin/services/minio.nix similarity index 100% rename from hosts/marvin/services/minio.nix rename to systems/x86_64-linux/marvin/services/minio.nix diff --git a/hosts/marvin/services/nextcloud/default.nix b/systems/x86_64-linux/marvin/services/nextcloud/default.nix similarity index 100% rename from hosts/marvin/services/nextcloud/default.nix rename to systems/x86_64-linux/marvin/services/nextcloud/default.nix diff --git a/hosts/marvin/services/nextcloud/imaginary.nix b/systems/x86_64-linux/marvin/services/nextcloud/imaginary.nix similarity index 100% rename from hosts/marvin/services/nextcloud/imaginary.nix rename to systems/x86_64-linux/marvin/services/nextcloud/imaginary.nix diff --git a/hosts/marvin/services/nextcloud/office.nix b/systems/x86_64-linux/marvin/services/nextcloud/office.nix similarity index 100% rename from hosts/marvin/services/nextcloud/office.nix rename to systems/x86_64-linux/marvin/services/nextcloud/office.nix diff --git a/hosts/marvin/services/nginx.nix b/systems/x86_64-linux/marvin/services/nginx.nix similarity index 100% rename from hosts/marvin/services/nginx.nix rename to systems/x86_64-linux/marvin/services/nginx.nix diff --git a/hosts/marvin/services/planka.nix b/systems/x86_64-linux/marvin/services/planka.nix similarity index 100% rename from hosts/marvin/services/planka.nix rename to systems/x86_64-linux/marvin/services/planka.nix diff --git a/hosts/marvin/services/podman.nix b/systems/x86_64-linux/marvin/services/podman.nix similarity index 100% rename from hosts/marvin/services/podman.nix rename to systems/x86_64-linux/marvin/services/podman.nix diff --git a/hosts/marvin/services/postgres.nix b/systems/x86_64-linux/marvin/services/postgres.nix similarity index 100% rename from hosts/marvin/services/postgres.nix rename to systems/x86_64-linux/marvin/services/postgres.nix diff --git a/hosts/marvin/services/prometheus.nix b/systems/x86_64-linux/marvin/services/prometheus.nix similarity index 100% rename from hosts/marvin/services/prometheus.nix rename to systems/x86_64-linux/marvin/services/prometheus.nix diff --git a/hosts/marvin/services/prosody.nix b/systems/x86_64-linux/marvin/services/prosody.nix similarity index 100% rename from hosts/marvin/services/prosody.nix rename to systems/x86_64-linux/marvin/services/prosody.nix diff --git a/hosts/marvin/services/radicale.nix b/systems/x86_64-linux/marvin/services/radicale.nix similarity index 100% rename from hosts/marvin/services/radicale.nix rename to systems/x86_64-linux/marvin/services/radicale.nix diff --git a/hosts/marvin/services/redlib.nix b/systems/x86_64-linux/marvin/services/redlib.nix similarity index 100% rename from hosts/marvin/services/redlib.nix rename to systems/x86_64-linux/marvin/services/redlib.nix diff --git a/hosts/marvin/services/syncthing.nix b/systems/x86_64-linux/marvin/services/syncthing.nix similarity index 100% rename from hosts/marvin/services/syncthing.nix rename to systems/x86_64-linux/marvin/services/syncthing.nix diff --git a/hosts/marvin/services/tailscale.nix b/systems/x86_64-linux/marvin/services/tailscale.nix similarity index 100% rename from hosts/marvin/services/tailscale.nix rename to systems/x86_64-linux/marvin/services/tailscale.nix diff --git a/hosts/marvin/services/vaultwarden.nix b/systems/x86_64-linux/marvin/services/vaultwarden.nix similarity index 100% rename from hosts/marvin/services/vaultwarden.nix rename to systems/x86_64-linux/marvin/services/vaultwarden.nix diff --git a/hosts/marvin/services/webmentiond.nix b/systems/x86_64-linux/marvin/services/webmentiond.nix similarity index 100% rename from hosts/marvin/services/webmentiond.nix rename to systems/x86_64-linux/marvin/services/webmentiond.nix diff --git a/hosts/marvin/services/zfs.nix b/systems/x86_64-linux/marvin/services/zfs.nix similarity index 100% rename from hosts/marvin/services/zfs.nix rename to systems/x86_64-linux/marvin/services/zfs.nix diff --git a/hosts/prefect/bootloader.nix b/systems/x86_64-linux/prefect/bootloader.nix similarity index 100% rename from hosts/prefect/bootloader.nix rename to systems/x86_64-linux/prefect/bootloader.nix diff --git a/hosts/prefect/configuration.nix b/systems/x86_64-linux/prefect/configuration.nix similarity index 100% rename from hosts/prefect/configuration.nix rename to systems/x86_64-linux/prefect/configuration.nix diff --git a/hosts/prefect/dn42/bgp.nix b/systems/x86_64-linux/prefect/dn42/bgp.nix similarity index 100% rename from hosts/prefect/dn42/bgp.nix rename to systems/x86_64-linux/prefect/dn42/bgp.nix diff --git a/hosts/prefect/dn42/bird.conf b/systems/x86_64-linux/prefect/dn42/bird.conf similarity index 100% rename from hosts/prefect/dn42/bird.conf rename to systems/x86_64-linux/prefect/dn42/bird.conf diff --git a/hosts/prefect/dn42/default.nix b/systems/x86_64-linux/prefect/dn42/default.nix similarity index 100% rename from hosts/prefect/dn42/default.nix rename to systems/x86_64-linux/prefect/dn42/default.nix diff --git a/hosts/prefect/dn42/services.nix b/systems/x86_64-linux/prefect/dn42/services.nix similarity index 100% rename from hosts/prefect/dn42/services.nix rename to systems/x86_64-linux/prefect/dn42/services.nix diff --git a/hosts/prefect/dn42/tunnels.nix b/systems/x86_64-linux/prefect/dn42/tunnels.nix similarity index 100% rename from hosts/prefect/dn42/tunnels.nix rename to systems/x86_64-linux/prefect/dn42/tunnels.nix diff --git a/hosts/prefect/dn42/wireguard.nix b/systems/x86_64-linux/prefect/dn42/wireguard.nix similarity index 100% rename from hosts/prefect/dn42/wireguard.nix rename to systems/x86_64-linux/prefect/dn42/wireguard.nix diff --git a/hosts/prefect/firewall.nix b/systems/x86_64-linux/prefect/firewall.nix similarity index 100% rename from hosts/prefect/firewall.nix rename to systems/x86_64-linux/prefect/firewall.nix diff --git a/hosts/prefect/hardware.nix b/systems/x86_64-linux/prefect/hardware.nix similarity index 100% rename from hosts/prefect/hardware.nix rename to systems/x86_64-linux/prefect/hardware.nix diff --git a/hosts/prefect/networking.nix b/systems/x86_64-linux/prefect/networking.nix similarity index 100% rename from hosts/prefect/networking.nix rename to systems/x86_64-linux/prefect/networking.nix diff --git a/hosts/prefect/packages.nix b/systems/x86_64-linux/prefect/packages.nix similarity index 100% rename from hosts/prefect/packages.nix rename to systems/x86_64-linux/prefect/packages.nix diff --git a/hosts/prefect/secrets/acme-creds.age b/systems/x86_64-linux/prefect/secrets/acme-creds.age similarity index 100% rename from hosts/prefect/secrets/acme-creds.age rename to systems/x86_64-linux/prefect/secrets/acme-creds.age diff --git a/hosts/prefect/secrets/dn42-peerfinder-uuid.age b/systems/x86_64-linux/prefect/secrets/dn42-peerfinder-uuid.age similarity index 100% rename from hosts/prefect/secrets/dn42-peerfinder-uuid.age rename to systems/x86_64-linux/prefect/secrets/dn42-peerfinder-uuid.age diff --git a/hosts/prefect/secrets/dn42-privkey.age b/systems/x86_64-linux/prefect/secrets/dn42-privkey.age similarity index 100% rename from hosts/prefect/secrets/dn42-privkey.age rename to systems/x86_64-linux/prefect/secrets/dn42-privkey.age diff --git a/hosts/prefect/secrets/headscale-oidc-secret.age b/systems/x86_64-linux/prefect/secrets/headscale-oidc-secret.age similarity index 100% rename from hosts/prefect/secrets/headscale-oidc-secret.age rename to systems/x86_64-linux/prefect/secrets/headscale-oidc-secret.age diff --git a/hosts/prefect/secrets/secrets.nix b/systems/x86_64-linux/prefect/secrets/secrets.nix similarity index 100% rename from hosts/prefect/secrets/secrets.nix rename to systems/x86_64-linux/prefect/secrets/secrets.nix diff --git a/hosts/prefect/secrets/wireguard-priv-key.age b/systems/x86_64-linux/prefect/secrets/wireguard-priv-key.age similarity index 100% rename from hosts/prefect/secrets/wireguard-priv-key.age rename to systems/x86_64-linux/prefect/secrets/wireguard-priv-key.age diff --git a/hosts/prefect/services/Caddyfile b/systems/x86_64-linux/prefect/services/Caddyfile similarity index 100% rename from hosts/prefect/services/Caddyfile rename to systems/x86_64-linux/prefect/services/Caddyfile diff --git a/hosts/prefect/services/acme.nix b/systems/x86_64-linux/prefect/services/acme.nix similarity index 100% rename from hosts/prefect/services/acme.nix rename to systems/x86_64-linux/prefect/services/acme.nix diff --git a/hosts/prefect/services/blog-update.nix b/systems/x86_64-linux/prefect/services/blog-update.nix similarity index 100% rename from hosts/prefect/services/blog-update.nix rename to systems/x86_64-linux/prefect/services/blog-update.nix diff --git a/hosts/prefect/services/blog-update.sh b/systems/x86_64-linux/prefect/services/blog-update.sh similarity index 100% rename from hosts/prefect/services/blog-update.sh rename to systems/x86_64-linux/prefect/services/blog-update.sh diff --git a/hosts/prefect/services/caddy.nix b/systems/x86_64-linux/prefect/services/caddy.nix similarity index 100% rename from hosts/prefect/services/caddy.nix rename to systems/x86_64-linux/prefect/services/caddy.nix diff --git a/hosts/prefect/services/dn42-peerfinder.nix b/systems/x86_64-linux/prefect/services/dn42-peerfinder.nix similarity index 100% rename from hosts/prefect/services/dn42-peerfinder.nix rename to systems/x86_64-linux/prefect/services/dn42-peerfinder.nix diff --git a/hosts/prefect/services/fail2ban.nix b/systems/x86_64-linux/prefect/services/fail2ban.nix similarity index 100% rename from hosts/prefect/services/fail2ban.nix rename to systems/x86_64-linux/prefect/services/fail2ban.nix diff --git a/hosts/prefect/services/headscale.nix b/systems/x86_64-linux/prefect/services/headscale.nix similarity index 100% rename from hosts/prefect/services/headscale.nix rename to systems/x86_64-linux/prefect/services/headscale.nix diff --git a/hosts/prefect/services/mailserver/default.nix b/systems/x86_64-linux/prefect/services/mailserver/default.nix similarity index 100% rename from hosts/prefect/services/mailserver/default.nix rename to systems/x86_64-linux/prefect/services/mailserver/default.nix diff --git a/hosts/prefect/services/mailserver/logins.nix b/systems/x86_64-linux/prefect/services/mailserver/logins.nix similarity index 100% rename from hosts/prefect/services/mailserver/logins.nix rename to systems/x86_64-linux/prefect/services/mailserver/logins.nix diff --git a/hosts/prefect/services/mailserver/monitoring.nix b/systems/x86_64-linux/prefect/services/mailserver/monitoring.nix similarity index 100% rename from hosts/prefect/services/mailserver/monitoring.nix rename to systems/x86_64-linux/prefect/services/mailserver/monitoring.nix diff --git a/hosts/prefect/services/mailserver/overrides.nix b/systems/x86_64-linux/prefect/services/mailserver/overrides.nix similarity index 100% rename from hosts/prefect/services/mailserver/overrides.nix rename to systems/x86_64-linux/prefect/services/mailserver/overrides.nix diff --git a/hosts/prefect/services/named.conf b/systems/x86_64-linux/prefect/services/named.conf similarity index 100% rename from hosts/prefect/services/named.conf rename to systems/x86_64-linux/prefect/services/named.conf diff --git a/hosts/prefect/services/netdata.nix b/systems/x86_64-linux/prefect/services/netdata.nix similarity index 100% rename from hosts/prefect/services/netdata.nix rename to systems/x86_64-linux/prefect/services/netdata.nix diff --git a/hosts/prefect/services/nginx/default.nix b/systems/x86_64-linux/prefect/services/nginx/default.nix similarity index 100% rename from hosts/prefect/services/nginx/default.nix rename to systems/x86_64-linux/prefect/services/nginx/default.nix diff --git a/hosts/prefect/services/nginx/pyrox.dev.nix b/systems/x86_64-linux/prefect/services/nginx/pyrox.dev.nix similarity index 100% rename from hosts/prefect/services/nginx/pyrox.dev.nix rename to systems/x86_64-linux/prefect/services/nginx/pyrox.dev.nix diff --git a/hosts/prefect/services/php.nix b/systems/x86_64-linux/prefect/services/php.nix similarity index 100% rename from hosts/prefect/services/php.nix rename to systems/x86_64-linux/prefect/services/php.nix diff --git a/hosts/prefect/services/prometheus.nix b/systems/x86_64-linux/prefect/services/prometheus.nix similarity index 100% rename from hosts/prefect/services/prometheus.nix rename to systems/x86_64-linux/prefect/services/prometheus.nix diff --git a/hosts/prefect/services/secrets.nix b/systems/x86_64-linux/prefect/services/secrets.nix similarity index 100% rename from hosts/prefect/services/secrets.nix rename to systems/x86_64-linux/prefect/services/secrets.nix diff --git a/hosts/prefect/services/tailscale.nix b/systems/x86_64-linux/prefect/services/tailscale.nix similarity index 100% rename from hosts/prefect/services/tailscale.nix rename to systems/x86_64-linux/prefect/services/tailscale.nix diff --git a/hosts/prefect/services/zerotier.nix b/systems/x86_64-linux/prefect/services/zerotier.nix similarity index 100% rename from hosts/prefect/services/zerotier.nix rename to systems/x86_64-linux/prefect/services/zerotier.nix diff --git a/hosts/thought/bootloader.nix b/systems/x86_64-linux/thought/bootloader.nix similarity index 100% rename from hosts/thought/bootloader.nix rename to systems/x86_64-linux/thought/bootloader.nix diff --git a/hosts/thought/configuration.nix b/systems/x86_64-linux/thought/configuration.nix similarity index 100% rename from hosts/thought/configuration.nix rename to systems/x86_64-linux/thought/configuration.nix diff --git a/hosts/thought/disks.nix b/systems/x86_64-linux/thought/disks.nix similarity index 100% rename from hosts/thought/disks.nix rename to systems/x86_64-linux/thought/disks.nix diff --git a/hosts/thought/firewall.nix b/systems/x86_64-linux/thought/firewall.nix similarity index 100% rename from hosts/thought/firewall.nix rename to systems/x86_64-linux/thought/firewall.nix diff --git a/hosts/thought/hardware.nix b/systems/x86_64-linux/thought/hardware.nix similarity index 100% rename from hosts/thought/hardware.nix rename to systems/x86_64-linux/thought/hardware.nix diff --git a/hosts/thought/networking.nix b/systems/x86_64-linux/thought/networking.nix similarity index 100% rename from hosts/thought/networking.nix rename to systems/x86_64-linux/thought/networking.nix diff --git a/hosts/thought/packages.nix b/systems/x86_64-linux/thought/packages.nix similarity index 100% rename from hosts/thought/packages.nix rename to systems/x86_64-linux/thought/packages.nix diff --git a/hosts/thought/secrets/secrets.nix b/systems/x86_64-linux/thought/secrets/secrets.nix similarity index 100% rename from hosts/thought/secrets/secrets.nix rename to systems/x86_64-linux/thought/secrets/secrets.nix diff --git a/hosts/thought/services/prometheus.nix b/systems/x86_64-linux/thought/services/prometheus.nix similarity index 100% rename from hosts/thought/services/prometheus.nix rename to systems/x86_64-linux/thought/services/prometheus.nix diff --git a/hosts/thought/services/tailscale.nix b/systems/x86_64-linux/thought/services/tailscale.nix similarity index 100% rename from hosts/thought/services/tailscale.nix rename to systems/x86_64-linux/thought/services/tailscale.nix diff --git a/hosts/zaphod/bootloader.nix b/systems/x86_64-linux/zaphod/bootloader.nix similarity index 100% rename from hosts/zaphod/bootloader.nix rename to systems/x86_64-linux/zaphod/bootloader.nix diff --git a/hosts/zaphod/configuration.nix b/systems/x86_64-linux/zaphod/configuration.nix similarity index 100% rename from hosts/zaphod/configuration.nix rename to systems/x86_64-linux/zaphod/configuration.nix diff --git a/hosts/zaphod/console.nix b/systems/x86_64-linux/zaphod/console.nix similarity index 100% rename from hosts/zaphod/console.nix rename to systems/x86_64-linux/zaphod/console.nix diff --git a/hosts/zaphod/fonts.nix b/systems/x86_64-linux/zaphod/fonts.nix similarity index 100% rename from hosts/zaphod/fonts.nix rename to systems/x86_64-linux/zaphod/fonts.nix diff --git a/hosts/zaphod/hardware.nix b/systems/x86_64-linux/zaphod/hardware.nix similarity index 97% rename from hosts/zaphod/hardware.nix rename to systems/x86_64-linux/zaphod/hardware.nix index 005a11e1..9dca721f 100644 --- a/hosts/zaphod/hardware.nix +++ b/systems/x86_64-linux/zaphod/hardware.nix @@ -18,6 +18,7 @@ driSupport = true; driSupport32Bit = true; extraPackages = [ + pkgs.amdvlk pkgs.gamescope pkgs.libva pkgs.libvdpau @@ -27,6 +28,7 @@ pkgs.vaapiVdpau ]; extraPackages32 = [ + pkgs.amdvlk pkgs.gamescope pkgs.mangohud pkgs.mesa diff --git a/hosts/zaphod/kde.nix b/systems/x86_64-linux/zaphod/kde.nix similarity index 100% rename from hosts/zaphod/kde.nix rename to systems/x86_64-linux/zaphod/kde.nix diff --git a/hosts/zaphod/misc.nix b/systems/x86_64-linux/zaphod/misc.nix similarity index 100% rename from hosts/zaphod/misc.nix rename to systems/x86_64-linux/zaphod/misc.nix diff --git a/hosts/zaphod/networking.nix b/systems/x86_64-linux/zaphod/networking.nix similarity index 100% rename from hosts/zaphod/networking.nix rename to systems/x86_64-linux/zaphod/networking.nix diff --git a/hosts/zaphod/packages.nix b/systems/x86_64-linux/zaphod/packages.nix similarity index 100% rename from hosts/zaphod/packages.nix rename to systems/x86_64-linux/zaphod/packages.nix diff --git a/hosts/zaphod/power.nix b/systems/x86_64-linux/zaphod/power.nix similarity index 100% rename from hosts/zaphod/power.nix rename to systems/x86_64-linux/zaphod/power.nix diff --git a/hosts/zaphod/programs/chromium.nix b/systems/x86_64-linux/zaphod/programs/chromium.nix similarity index 100% rename from hosts/zaphod/programs/chromium.nix rename to systems/x86_64-linux/zaphod/programs/chromium.nix diff --git a/hosts/zaphod/programs/dconf.nix b/systems/x86_64-linux/zaphod/programs/dconf.nix similarity index 100% rename from hosts/zaphod/programs/dconf.nix rename to systems/x86_64-linux/zaphod/programs/dconf.nix diff --git a/hosts/zaphod/programs/default.nix b/systems/x86_64-linux/zaphod/programs/default.nix similarity index 100% rename from hosts/zaphod/programs/default.nix rename to systems/x86_64-linux/zaphod/programs/default.nix diff --git a/hosts/zaphod/programs/gnupg.nix b/systems/x86_64-linux/zaphod/programs/gnupg.nix similarity index 100% rename from hosts/zaphod/programs/gnupg.nix rename to systems/x86_64-linux/zaphod/programs/gnupg.nix diff --git a/hosts/zaphod/programs/less.nix b/systems/x86_64-linux/zaphod/programs/less.nix similarity index 100% rename from hosts/zaphod/programs/less.nix rename to systems/x86_64-linux/zaphod/programs/less.nix diff --git a/hosts/zaphod/programs/misc.nix b/systems/x86_64-linux/zaphod/programs/misc.nix similarity index 100% rename from hosts/zaphod/programs/misc.nix rename to systems/x86_64-linux/zaphod/programs/misc.nix diff --git a/hosts/zaphod/programs/noisetorch.nix b/systems/x86_64-linux/zaphod/programs/noisetorch.nix similarity index 100% rename from hosts/zaphod/programs/noisetorch.nix rename to systems/x86_64-linux/zaphod/programs/noisetorch.nix diff --git a/hosts/zaphod/programs/proxychains.nix b/systems/x86_64-linux/zaphod/programs/proxychains.nix similarity index 100% rename from hosts/zaphod/programs/proxychains.nix rename to systems/x86_64-linux/zaphod/programs/proxychains.nix diff --git a/hosts/zaphod/programs/ssh.nix b/systems/x86_64-linux/zaphod/programs/ssh.nix similarity index 100% rename from hosts/zaphod/programs/ssh.nix rename to systems/x86_64-linux/zaphod/programs/ssh.nix diff --git a/hosts/zaphod/programs/sway.nix b/systems/x86_64-linux/zaphod/programs/sway.nix similarity index 100% rename from hosts/zaphod/programs/sway.nix rename to systems/x86_64-linux/zaphod/programs/sway.nix diff --git a/hosts/zaphod/programs/zsh.nix b/systems/x86_64-linux/zaphod/programs/zsh.nix similarity index 100% rename from hosts/zaphod/programs/zsh.nix rename to systems/x86_64-linux/zaphod/programs/zsh.nix diff --git a/hosts/zaphod/secret-files.nix b/systems/x86_64-linux/zaphod/secret-files.nix similarity index 100% rename from hosts/zaphod/secret-files.nix rename to systems/x86_64-linux/zaphod/secret-files.nix diff --git a/hosts/zaphod/secrets/secrets.nix b/systems/x86_64-linux/zaphod/secrets/secrets.nix similarity index 100% rename from hosts/zaphod/secrets/secrets.nix rename to systems/x86_64-linux/zaphod/secrets/secrets.nix diff --git a/hosts/zaphod/secrets/wg-privkey.age b/systems/x86_64-linux/zaphod/secrets/wg-privkey.age similarity index 100% rename from hosts/zaphod/secrets/wg-privkey.age rename to systems/x86_64-linux/zaphod/secrets/wg-privkey.age diff --git a/hosts/zaphod/security/modules.nix b/systems/x86_64-linux/zaphod/security/modules.nix similarity index 100% rename from hosts/zaphod/security/modules.nix rename to systems/x86_64-linux/zaphod/security/modules.nix diff --git a/hosts/zaphod/security/pam.nix b/systems/x86_64-linux/zaphod/security/pam.nix similarity index 100% rename from hosts/zaphod/security/pam.nix rename to systems/x86_64-linux/zaphod/security/pam.nix diff --git a/hosts/zaphod/services/avahi.nix b/systems/x86_64-linux/zaphod/services/avahi.nix similarity index 100% rename from hosts/zaphod/services/avahi.nix rename to systems/x86_64-linux/zaphod/services/avahi.nix diff --git a/hosts/zaphod/services/docker.nix b/systems/x86_64-linux/zaphod/services/docker.nix similarity index 100% rename from hosts/zaphod/services/docker.nix rename to systems/x86_64-linux/zaphod/services/docker.nix diff --git a/hosts/zaphod/services/flatpak.nix b/systems/x86_64-linux/zaphod/services/flatpak.nix similarity index 100% rename from hosts/zaphod/services/flatpak.nix rename to systems/x86_64-linux/zaphod/services/flatpak.nix diff --git a/hosts/zaphod/services/fprintd.nix b/systems/x86_64-linux/zaphod/services/fprintd.nix similarity index 100% rename from hosts/zaphod/services/fprintd.nix rename to systems/x86_64-linux/zaphod/services/fprintd.nix diff --git a/hosts/zaphod/services/fwupd.nix b/systems/x86_64-linux/zaphod/services/fwupd.nix similarity index 100% rename from hosts/zaphod/services/fwupd.nix rename to systems/x86_64-linux/zaphod/services/fwupd.nix diff --git a/hosts/zaphod/services/greetd.nix b/systems/x86_64-linux/zaphod/services/greetd.nix similarity index 100% rename from hosts/zaphod/services/greetd.nix rename to systems/x86_64-linux/zaphod/services/greetd.nix diff --git a/hosts/zaphod/services/kmscon.nix b/systems/x86_64-linux/zaphod/services/kmscon.nix similarity index 100% rename from hosts/zaphod/services/kmscon.nix rename to systems/x86_64-linux/zaphod/services/kmscon.nix diff --git a/hosts/zaphod/services/misc.nix b/systems/x86_64-linux/zaphod/services/misc.nix similarity index 100% rename from hosts/zaphod/services/misc.nix rename to systems/x86_64-linux/zaphod/services/misc.nix diff --git a/hosts/zaphod/services/modules.nix b/systems/x86_64-linux/zaphod/services/modules.nix similarity index 100% rename from hosts/zaphod/services/modules.nix rename to systems/x86_64-linux/zaphod/services/modules.nix diff --git a/hosts/zaphod/services/packagekit.nix b/systems/x86_64-linux/zaphod/services/packagekit.nix similarity index 100% rename from hosts/zaphod/services/packagekit.nix rename to systems/x86_64-linux/zaphod/services/packagekit.nix diff --git a/hosts/zaphod/services/pcscd.nix b/systems/x86_64-linux/zaphod/services/pcscd.nix similarity index 100% rename from hosts/zaphod/services/pcscd.nix rename to systems/x86_64-linux/zaphod/services/pcscd.nix diff --git a/hosts/zaphod/services/pipewire.nix b/systems/x86_64-linux/zaphod/services/pipewire.nix similarity index 100% rename from hosts/zaphod/services/pipewire.nix rename to systems/x86_64-linux/zaphod/services/pipewire.nix diff --git a/hosts/zaphod/services/ssh.nix b/systems/x86_64-linux/zaphod/services/ssh.nix similarity index 100% rename from hosts/zaphod/services/ssh.nix rename to systems/x86_64-linux/zaphod/services/ssh.nix diff --git a/hosts/zaphod/services/tailscale.nix b/systems/x86_64-linux/zaphod/services/tailscale.nix similarity index 100% rename from hosts/zaphod/services/tailscale.nix rename to systems/x86_64-linux/zaphod/services/tailscale.nix -- 2.51.2 From 58a1536d3b837aaa6bd5b3da26fa26610e8a98f0 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 18:04:46 -0400 Subject: [PATCH 002/105] [modules] Add defaultConfig module --- flake.nix | 6 +++--- hosts/default.nix | 18 ------------------ .../nixos/defaultConfig}/bootloader.nix | 0 modules/nixos/defaultConfig/default.nix | 18 ++++++++++++++++++ .../nixos/defaultConfig}/networking.nix | 0 .../nixos/defaultConfig}/nixConfig.nix | 0 .../nixos/defaultConfig}/nixpkgsConfig.nix | 0 .../nixos/defaultConfig}/packages.nix | 0 .../nixos/defaultConfig}/programs/default.nix | 0 .../nixos/defaultConfig}/programs/nh.nix | 0 .../nixos/defaultConfig}/programs/ssh.nix | 0 .../nixos/defaultConfig}/root.nix | 0 .../secrets/powerdns-secrets.age | Bin .../nixos/defaultConfig}/secrets/secrets.nix | 0 .../nixos/defaultConfig}/security.nix | 0 .../nixos/defaultConfig}/services/default.nix | 0 .../nixos/defaultConfig}/services/ntp.nix | 0 .../defaultConfig}/services/tailscale.nix | 0 .../nixos/defaultConfig}/ssh.nix | 0 .../nixos/defaultConfig}/users.nix | 0 .../default.nix | 0 .../default.nix | 0 22 files changed, 21 insertions(+), 21 deletions(-) delete mode 100644 hosts/default.nix rename {hosts/common => modules/nixos/defaultConfig}/bootloader.nix (100%) create mode 100644 modules/nixos/defaultConfig/default.nix rename {hosts/common => modules/nixos/defaultConfig}/networking.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/nixConfig.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/nixpkgsConfig.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/packages.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/programs/default.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/programs/nh.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/programs/ssh.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/root.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/secrets/powerdns-secrets.age (100%) rename {hosts/common => modules/nixos/defaultConfig}/secrets/secrets.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/security.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/services/default.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/services/ntp.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/services/tailscale.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/ssh.nix (100%) rename {hosts/common => modules/nixos/defaultConfig}/users.nix (100%) rename modules/nixos/{dn42-pingfinder => dn42Pingfinder}/default.nix (100%) rename modules/nixos/{forgejo-runner => forgejoRunner}/default.nix (100%) diff --git a/flake.nix b/flake.nix index 600586b5..5bf76ab3 100644 --- a/flake.nix +++ b/flake.nix @@ -242,18 +242,18 @@ # NixOS Configurations systems = { modules.nixos = with inputs; [ - self.nixosModules.default + self.nixosModules.defaultConfig ctp.nixosModules.catppuccin lix-module.nixosModules.default agenix.nixosModules.default ]; systems.hosts.prefect.modules = with inputs; [ - self.nixosModules.dn42-pingfinder + self.nixosModules.dn42Pingfinder ]; systems.hosts.marvin.modules = with inputs; [ - self.nixosModules.forgejo-runner + self.nixosModules.forgejoRunner iceshrimp.nixosModules.default golink.nixosModules.default buildbot-nix.nixosModules.buildbot-master diff --git a/hosts/default.nix b/hosts/default.nix deleted file mode 100644 index 27bb6e5d..00000000 --- a/hosts/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - imports = [ - ./common/bootloader.nix - ./common/networking.nix - ./common/nixConfig.nix - ./common/nixpkgsConfig.nix - ./common/packages.nix - ./common/programs - ./common/root.nix - ./common/security.nix - ./common/services - ./common/ssh.nix - ./common/users.nix - ]; - system.stateVersion = "24.05"; - catppuccin.flavor = "mocha"; - console.catppuccin.enable = true; -} diff --git a/hosts/common/bootloader.nix b/modules/nixos/defaultConfig/bootloader.nix similarity index 100% rename from hosts/common/bootloader.nix rename to modules/nixos/defaultConfig/bootloader.nix diff --git a/modules/nixos/defaultConfig/default.nix b/modules/nixos/defaultConfig/default.nix new file mode 100644 index 00000000..81398bc5 --- /dev/null +++ b/modules/nixos/defaultConfig/default.nix @@ -0,0 +1,18 @@ +{ + imports = [ + ./bootloader.nix + ./networking.nix + ./nixConfig.nix + ./nixpkgsConfig.nix + ./packages.nix + ./programs + ./root.nix + ./security.nix + ./services + ./ssh.nix + ./users.nix + ]; + system.stateVersion = "24.05"; + catppuccin.flavor = "mocha"; + console.catppuccin.enable = true; +} diff --git a/hosts/common/networking.nix b/modules/nixos/defaultConfig/networking.nix similarity index 100% rename from hosts/common/networking.nix rename to modules/nixos/defaultConfig/networking.nix diff --git a/hosts/common/nixConfig.nix b/modules/nixos/defaultConfig/nixConfig.nix similarity index 100% rename from hosts/common/nixConfig.nix rename to modules/nixos/defaultConfig/nixConfig.nix diff --git a/hosts/common/nixpkgsConfig.nix b/modules/nixos/defaultConfig/nixpkgsConfig.nix similarity index 100% rename from hosts/common/nixpkgsConfig.nix rename to modules/nixos/defaultConfig/nixpkgsConfig.nix diff --git a/hosts/common/packages.nix b/modules/nixos/defaultConfig/packages.nix similarity index 100% rename from hosts/common/packages.nix rename to modules/nixos/defaultConfig/packages.nix diff --git a/hosts/common/programs/default.nix b/modules/nixos/defaultConfig/programs/default.nix similarity index 100% rename from hosts/common/programs/default.nix rename to modules/nixos/defaultConfig/programs/default.nix diff --git a/hosts/common/programs/nh.nix b/modules/nixos/defaultConfig/programs/nh.nix similarity index 100% rename from hosts/common/programs/nh.nix rename to modules/nixos/defaultConfig/programs/nh.nix diff --git a/hosts/common/programs/ssh.nix b/modules/nixos/defaultConfig/programs/ssh.nix similarity index 100% rename from hosts/common/programs/ssh.nix rename to modules/nixos/defaultConfig/programs/ssh.nix diff --git a/hosts/common/root.nix b/modules/nixos/defaultConfig/root.nix similarity index 100% rename from hosts/common/root.nix rename to modules/nixos/defaultConfig/root.nix diff --git a/hosts/common/secrets/powerdns-secrets.age b/modules/nixos/defaultConfig/secrets/powerdns-secrets.age similarity index 100% rename from hosts/common/secrets/powerdns-secrets.age rename to modules/nixos/defaultConfig/secrets/powerdns-secrets.age diff --git a/hosts/common/secrets/secrets.nix b/modules/nixos/defaultConfig/secrets/secrets.nix similarity index 100% rename from hosts/common/secrets/secrets.nix rename to modules/nixos/defaultConfig/secrets/secrets.nix diff --git a/hosts/common/security.nix b/modules/nixos/defaultConfig/security.nix similarity index 100% rename from hosts/common/security.nix rename to modules/nixos/defaultConfig/security.nix diff --git a/hosts/common/services/default.nix b/modules/nixos/defaultConfig/services/default.nix similarity index 100% rename from hosts/common/services/default.nix rename to modules/nixos/defaultConfig/services/default.nix diff --git a/hosts/common/services/ntp.nix b/modules/nixos/defaultConfig/services/ntp.nix similarity index 100% rename from hosts/common/services/ntp.nix rename to modules/nixos/defaultConfig/services/ntp.nix diff --git a/hosts/common/services/tailscale.nix b/modules/nixos/defaultConfig/services/tailscale.nix similarity index 100% rename from hosts/common/services/tailscale.nix rename to modules/nixos/defaultConfig/services/tailscale.nix diff --git a/hosts/common/ssh.nix b/modules/nixos/defaultConfig/ssh.nix similarity index 100% rename from hosts/common/ssh.nix rename to modules/nixos/defaultConfig/ssh.nix diff --git a/hosts/common/users.nix b/modules/nixos/defaultConfig/users.nix similarity index 100% rename from hosts/common/users.nix rename to modules/nixos/defaultConfig/users.nix diff --git a/modules/nixos/dn42-pingfinder/default.nix b/modules/nixos/dn42Pingfinder/default.nix similarity index 100% rename from modules/nixos/dn42-pingfinder/default.nix rename to modules/nixos/dn42Pingfinder/default.nix diff --git a/modules/nixos/forgejo-runner/default.nix b/modules/nixos/forgejoRunner/default.nix similarity index 100% rename from modules/nixos/forgejo-runner/default.nix rename to modules/nixos/forgejoRunner/default.nix -- 2.51.2 From 56ea8cdea46d466d73c43d4ed71b05549b35c9a2 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 18:07:48 -0400 Subject: [PATCH 003/105] [flake] Add system documentation --- flake.nix | 61 ++++++++++++------------------------------------------- 1 file changed, 13 insertions(+), 48 deletions(-) diff --git a/flake.nix b/flake.nix index 5bf76ab3..f3b97095 100644 --- a/flake.nix +++ b/flake.nix @@ -248,10 +248,23 @@ agenix.nixosModules.default ]; + # Zaphod, my personal Framework 16 laptop + systems.hosts.zaphod.modules = with inputs; [ + hardware.nixosModules.framework-16-7040-amd + ]; + + # Prefect, my main VPS systems.hosts.prefect.modules = with inputs; [ self.nixosModules.dn42Pingfinder + inputs.mailserver.nixosModule + ]; + + # (Deep) Thought, a WIP VPS + systems.hosts.thought.modules = with inputs; [ + self.nixosModules.dn42Pingfinder ]; + # Marvin, my main homelab machine systems.hosts.marvin.modules = with inputs; [ self.nixosModules.forgejoRunner iceshrimp.nixosModules.default @@ -272,52 +285,4 @@ formatter = pkgs.nixfmt-rfc-style; }; }; - # in rec { - # nixosConfigurations.marvin = myLib.hosts.mkHost { - # hostname = "marvin"; - # coreCount = 12; - # extraModules = [ - # inputs.iceshrimp.nixosModules.default - # inputs.golink.nixosModules.default - # inputs.buildbot-nix.nixosModules.buildbot-master - # inputs.buildbot-nix.nixosModules.buildbot-worker - # nixosModules.default - # ]; - # }; - # - # nixosConfigurations.prefect = myLib.hosts.mkHost { - # hostname = "prefect"; - # coreCount = 4; - # extraModules = [ - # inputs.mailserver.nixosModule - # self.nixosModules.dn42-pingfinder - # ]; - # }; - # - # nixosConfigurations.thought = myLib.hosts.mkHost { - # hostname = "thought"; - # coreCount = 3; - # extraModules = [ - # self.nixosModules.dn42-pingfinder - # ]; - # users = ["pyrox"]; - # }; - # - # nixosConfigurations.zaphod = myLib.hosts.mkHost { - # hostname = "zaphod"; - # profile = "desktop"; - # coreCount = 8; - # extraModules = [ - # inputs.hardware.nixosModules.framework-16-7040-amd - # ]; - # users = ["thehedgehog"]; - # }; - # - # devShells.${pkgs.system}.default = mkShell { - # buildInputs = [ - # # inputs.deploy-rs.packages.${pkgs.system}.default - # # inputs.colmena.packages.${pkgs.system}.colmena - # ]; - # }; - # }; } -- 2.51.2 From 5649ca255a687b02a3bd95ee2663e3c51b9498df Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 18:23:51 -0400 Subject: [PATCH 004/105] [systems] Actually expose all systems --- systems/x86_64-linux/marvin/{configuration.nix => default.nix} | 0 systems/x86_64-linux/prefect/{configuration.nix => default.nix} | 0 systems/x86_64-linux/thought/{configuration.nix => default.nix} | 0 systems/x86_64-linux/zaphod/{configuration.nix => default.nix} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename systems/x86_64-linux/marvin/{configuration.nix => default.nix} (100%) rename systems/x86_64-linux/prefect/{configuration.nix => default.nix} (100%) rename systems/x86_64-linux/thought/{configuration.nix => default.nix} (100%) rename systems/x86_64-linux/zaphod/{configuration.nix => default.nix} (100%) diff --git a/systems/x86_64-linux/marvin/configuration.nix b/systems/x86_64-linux/marvin/default.nix similarity index 100% rename from systems/x86_64-linux/marvin/configuration.nix rename to systems/x86_64-linux/marvin/default.nix diff --git a/systems/x86_64-linux/prefect/configuration.nix b/systems/x86_64-linux/prefect/default.nix similarity index 100% rename from systems/x86_64-linux/prefect/configuration.nix rename to systems/x86_64-linux/prefect/default.nix diff --git a/systems/x86_64-linux/thought/configuration.nix b/systems/x86_64-linux/thought/default.nix similarity index 100% rename from systems/x86_64-linux/thought/configuration.nix rename to systems/x86_64-linux/thought/default.nix diff --git a/systems/x86_64-linux/zaphod/configuration.nix b/systems/x86_64-linux/zaphod/default.nix similarity index 100% rename from systems/x86_64-linux/zaphod/configuration.nix rename to systems/x86_64-linux/zaphod/default.nix -- 2.51.2 From 534afa8d82be04e73f3dca20f9290af9a2118684 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 18:23:59 -0400 Subject: [PATCH 005/105] [flake] Reformat and add nixos-generators --- flake.lock | 24 ++++++++++++++++ flake.nix | 80 ++++++++++++++++++++++++++++++++---------------------- 2 files changed, 72 insertions(+), 32 deletions(-) diff --git a/flake.lock b/flake.lock index 08b57e41..35a7dde1 100644 --- a/flake.lock +++ b/flake.lock @@ -982,6 +982,29 @@ "type": "github" } }, + "nixos-generators": { + "inputs": { + "nixlib": [ + "nixpkgs-lib" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716210724, + "narHash": "sha256-iqQa3omRcHGpWb1ds75jS9ruA5R39FTmAkeR3J+ve1w=", + "owner": "nix-community", + "repo": "nixos-generators", + "rev": "d14b286322c7f4f897ca4b1726ce38cb68596c94", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixos-generators", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1716358718, @@ -1169,6 +1192,7 @@ "nix-index": "nix-index", "nix-index-database": "nix-index-database", "nixd": "nixd", + "nixos-generators": "nixos-generators", "nixpkgs": "nixpkgs", "nixpkgs-lib": "nixpkgs-lib", "nixpkgs-mesa": "nixpkgs-mesa", diff --git a/flake.nix b/flake.nix index f3b97095..98937992 100644 --- a/flake.nix +++ b/flake.nix @@ -137,6 +137,11 @@ inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; + nixos-generators = { + url = "github:nix-community/nixos-generators"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixlib.follows = "nixpkgs-lib"; + }; nvim = { url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.follows = "nixpkgs-nvim"; @@ -186,23 +191,32 @@ }; }; - outputs = inputs @ {self, ...}: let - # Overlay alejandra - alejandra-overlay = final: prev: { - alejandra = inputs.alejandra.defaultPackage.${prev.system}; - }; - # Overlay custom mesa version - mesa-overlay = final: prev: { - inherit (inputs.nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; - }; - # Overlay my custom packages as pkgs.my-pkgs - my-pkgs2 = final: prev: {my-pkgs = self.packages."${prev.system}";}; - # Overlay nix-index package - nix-index-overlay = final: prev: { - inherit (inputs.nix-index.packages.${prev.system}) nix-index; - }; - - in inputs.snowfall.mkFlake { + outputs = + inputs@{ self, ... }: + let + lib = inputs.snowfall.mkLib { + inherit inputs; + src = ./.; + snowfall = { + meta = { + name = "pyronet"; + title = "PyroNet Config"; + }; + namespace = "py"; + }; + }; + # Overlay alejandra + alejandra-overlay = final: prev: { alejandra = inputs.alejandra.defaultPackage.${prev.system}; }; + # Overlay custom mesa version + mesa-overlay = final: prev: { + inherit (inputs.nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; + }; + # Overlay my custom packages as pkgs.my-pkgs + my-pkgs2 = final: prev: { my-pkgs = self.packages."${prev.system}"; }; + # Overlay nix-index package + nix-index-overlay = final: prev: { inherit (inputs.nix-index.packages.${prev.system}) nix-index; }; + in + lib.mkFlake { inherit inputs; src = ./.; namespace = "py"; @@ -249,9 +263,7 @@ ]; # Zaphod, my personal Framework 16 laptop - systems.hosts.zaphod.modules = with inputs; [ - hardware.nixosModules.framework-16-7040-amd - ]; + systems.hosts.zaphod.modules = with inputs; [ hardware.nixosModules.framework-16-7040-amd ]; # Prefect, my main VPS systems.hosts.prefect.modules = with inputs; [ @@ -260,9 +272,7 @@ ]; # (Deep) Thought, a WIP VPS - systems.hosts.thought.modules = with inputs; [ - self.nixosModules.dn42Pingfinder - ]; + systems.hosts.thought.modules = with inputs; [ self.nixosModules.dn42Pingfinder ]; # Marvin, my main homelab machine systems.hosts.marvin.modules = with inputs; [ @@ -274,15 +284,21 @@ ]; }; - outputs-builder = channels: let - pkgs = channels.nixpkgs; - in { - # Define default packages to use everywhere - packages = { - nvim = inputs.nvim.packages.${pkgs.system}.neovim; - customGit = pkgs.git.override { withLibsecret = true; withSsh = true; }; + outputs-builder = + channels: + let + pkgs = channels.nixpkgs; + in + { + # Define default packages to use everywhere + packages = { + nvim = inputs.nvim.packages.${pkgs.system}.neovim; + customGit = pkgs.git.override { + withLibsecret = true; + withSsh = true; + }; + }; + formatter = pkgs.nixfmt-rfc-style; }; - formatter = pkgs.nixfmt-rfc-style; - }; }; } -- 2.51.2 From 3bf2a0587ef64137b111abd6003f5d732a8095a7 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 18:35:17 -0400 Subject: [PATCH 006/105] [flake] Move overlays out of flake and into files --- flake.nix | 33 ++++--------------- overlays/alejandra/default.nix | 3 ++ overlays/mesa/default.nix | 3 ++ overlays/nix-index/default.nix | 1 + overlays/{sway.nix => sway/default.nix} | 0 .../default.nix} | 0 .../default.nix} | 0 7 files changed, 14 insertions(+), 26 deletions(-) create mode 100644 overlays/alejandra/default.nix create mode 100644 overlays/mesa/default.nix create mode 100644 overlays/nix-index/default.nix rename overlays/{sway.nix => sway/default.nix} (100%) rename overlays/{tdlib-purple.nix => tdlib-purple/default.nix} (100%) rename overlays/{treesitter.nix => treesitter/default.nix} (100%) diff --git a/flake.nix b/flake.nix index 98937992..e0d2784f 100644 --- a/flake.nix +++ b/flake.nix @@ -37,11 +37,11 @@ description = "PyroNet machines and services"; inputs = { + # Snowfall Lib snowfall = { url = "github:snowfallorg/lib"; inputs.nixpkgs.follows = "nixpkgs"; }; - nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs-mesa.url = "github:K900/nixpkgs/mesa-24.1"; nixpkgs-nvim.url = "github:nixos/nixpkgs?rev=d5786c1b5dd2d560724b78f3ce51f1f4ef52d053"; @@ -205,22 +205,8 @@ namespace = "py"; }; }; - # Overlay alejandra - alejandra-overlay = final: prev: { alejandra = inputs.alejandra.defaultPackage.${prev.system}; }; - # Overlay custom mesa version - mesa-overlay = final: prev: { - inherit (inputs.nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; - }; - # Overlay my custom packages as pkgs.my-pkgs - my-pkgs2 = final: prev: { my-pkgs = self.packages."${prev.system}"; }; - # Overlay nix-index package - nix-index-overlay = final: prev: { inherit (inputs.nix-index.packages.${prev.system}) nix-index; }; in lib.mkFlake { - inherit inputs; - src = ./.; - namespace = "py"; - # Nixpkgs configuration channels-config = { allowUnfree = true; @@ -228,11 +214,9 @@ # Overlays for Nixpkgs. overlays = [ - alejandra-overlay - mesa-overlay - my-pkgs2 - nix-index-overlay - (import ./overlays/sway.nix) + self.overlays.alejandra + self.overlays.mesa + self.overlays.nix-index inputs.my-pkgs.overlays.cinny inputs.golink.overlay # inputs.lanzaboote.overlays.default @@ -286,19 +270,16 @@ outputs-builder = channels: - let - pkgs = channels.nixpkgs; - in { # Define default packages to use everywhere packages = { - nvim = inputs.nvim.packages.${pkgs.system}.neovim; - customGit = pkgs.git.override { + nvim = inputs.nvim.packages.${channels.nixpkgs.system}.neovim; + customGit = channels.nixpkgs.git.override { withLibsecret = true; withSsh = true; }; }; - formatter = pkgs.nixfmt-rfc-style; + formatter = channels.nixpkgs.nixfmt-rfc-style; }; }; } diff --git a/overlays/alejandra/default.nix b/overlays/alejandra/default.nix new file mode 100644 index 00000000..90a07315 --- /dev/null +++ b/overlays/alejandra/default.nix @@ -0,0 +1,3 @@ +{ inputs, ...}: final: prev: { + alejandra = inputs.alejandra.defaultPackage.${prev.system}; +} diff --git a/overlays/mesa/default.nix b/overlays/mesa/default.nix new file mode 100644 index 00000000..afb20021 --- /dev/null +++ b/overlays/mesa/default.nix @@ -0,0 +1,3 @@ +{ inputs, ...}: final: prev: { + inherit (inputs.nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; +} diff --git a/overlays/nix-index/default.nix b/overlays/nix-index/default.nix new file mode 100644 index 00000000..857d1794 --- /dev/null +++ b/overlays/nix-index/default.nix @@ -0,0 +1 @@ +{inputs, ...}: final: prev: { inherit (inputs.nix-index.packages.${prev.system}) nix-index; } diff --git a/overlays/sway.nix b/overlays/sway/default.nix similarity index 100% rename from overlays/sway.nix rename to overlays/sway/default.nix diff --git a/overlays/tdlib-purple.nix b/overlays/tdlib-purple/default.nix similarity index 100% rename from overlays/tdlib-purple.nix rename to overlays/tdlib-purple/default.nix diff --git a/overlays/treesitter.nix b/overlays/treesitter/default.nix similarity index 100% rename from overlays/treesitter.nix rename to overlays/treesitter/default.nix -- 2.51.2 From 7078723158201fee12586de310ad83cb14c02662 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 18:37:26 -0400 Subject: [PATCH 007/105] [flake] Remove legacy home directory --- home/files/distrobox-config.nix | 7 - home/files/pamKeys.nix | 5 - home/files/rbw-gc.nix | 42 --- home/files/ssh-auth-signers.nix | 9 - home/files/tokyo-night.json | 28 -- home/profiles/base.nix | 13 - home/profiles/cli.nix | 53 ---- home/profiles/desktop.nix | 41 --- home/profiles/development.nix | 20 -- home/profiles/gui.nix | 74 ------ home/profiles/server.nix | 5 - home/programs/bat.nix | 6 - home/programs/chromium.nix | 6 - home/programs/direnv.nix | 34 --- home/programs/emacs/default.nix | 14 - home/programs/email.nix | 9 - home/programs/firefox/default.nix | 46 ---- home/programs/firefox/extraPrefs.nix | 171 ------------- home/programs/firefox/policies.nix | 47 ---- home/programs/fish.nix | 45 ---- home/programs/fzf.nix | 8 - home/programs/gh.nix | 12 - home/programs/git.nix | 73 ------ home/programs/gpg.nix | 39 --- home/programs/helix.nix | 32 --- home/programs/kitty.nix | 49 ---- home/programs/navi.nix | 9 - home/programs/ncmpcpp.nix | 12 - home/programs/neovim.nix | 25 -- home/programs/nix-index.nix | 8 - home/programs/nushell/config.nu | 369 --------------------------- home/programs/nushell/default.nix | 7 - home/programs/nushell/env.nu | 9 - home/programs/obs.nix | 14 - home/programs/pandoc.nix | 5 - home/programs/rofi.nix | 90 ------- home/programs/senpai.nix | 11 - home/programs/skim.nix | 8 - home/programs/ssh/backup.pub | 1 - home/programs/ssh/default.nix | 34 --- home/programs/ssh/yubikey-back.pub | 1 - home/programs/ssh/yubikey-main.pub | 1 - home/programs/ssh/yubikey-new.pub | 1 - home/programs/starship.nix | 100 -------- home/programs/taskwarrior.nix | 1 - home/programs/vscodium.nix | 37 --- home/programs/wlogout/default.nix | 44 ---- home/programs/wlogout/style.nix | 53 ---- home/programs/zoxide.nix | 8 - home/programs/zsh.nix | 16 -- home/scripts.nix | 18 -- home/services/emacs.nix | 8 - home/services/gpg-agent.nix | 19 -- home/services/kanshi.nix | 40 --- home/services/kdeconnect.nix | 6 - home/services/mako.nix | 11 - home/services/mpd.nix | 19 -- home/services/pantalaimon.nix | 16 -- home/services/swayidle.nix | 21 -- home/services/syncthing.nix | 6 - home/services/taskwarrior-sync.nix | 6 - home/theming.nix | 28 -- home/wayland/keybindings.nix | 47 ---- home/wayland/misc.nix | 0 home/wayland/sway.nix | 134 ---------- home/wayland/swaylock.nix | 24 -- home/wayland/waybar.nix | 111 -------- home/xdg.nix | 79 ------ 68 files changed, 2345 deletions(-) delete mode 100644 home/files/distrobox-config.nix delete mode 100644 home/files/pamKeys.nix delete mode 100644 home/files/rbw-gc.nix delete mode 100644 home/files/ssh-auth-signers.nix delete mode 100644 home/files/tokyo-night.json delete mode 100644 home/profiles/base.nix delete mode 100644 home/profiles/cli.nix delete mode 100644 home/profiles/desktop.nix delete mode 100644 home/profiles/development.nix delete mode 100644 home/profiles/gui.nix delete mode 100644 home/profiles/server.nix delete mode 100644 home/programs/bat.nix delete mode 100644 home/programs/chromium.nix delete mode 100644 home/programs/direnv.nix delete mode 100644 home/programs/emacs/default.nix delete mode 100644 home/programs/email.nix delete mode 100644 home/programs/firefox/default.nix delete mode 100644 home/programs/firefox/extraPrefs.nix delete mode 100644 home/programs/firefox/policies.nix delete mode 100644 home/programs/fish.nix delete mode 100644 home/programs/fzf.nix delete mode 100644 home/programs/gh.nix delete mode 100644 home/programs/git.nix delete mode 100644 home/programs/gpg.nix delete mode 100644 home/programs/helix.nix delete mode 100644 home/programs/kitty.nix delete mode 100644 home/programs/navi.nix delete mode 100644 home/programs/ncmpcpp.nix delete mode 100644 home/programs/neovim.nix delete mode 100644 home/programs/nix-index.nix delete mode 100644 home/programs/nushell/config.nu delete mode 100644 home/programs/nushell/default.nix delete mode 100644 home/programs/nushell/env.nu delete mode 100644 home/programs/obs.nix delete mode 100644 home/programs/pandoc.nix delete mode 100644 home/programs/rofi.nix delete mode 100644 home/programs/senpai.nix delete mode 100644 home/programs/skim.nix delete mode 100644 home/programs/ssh/backup.pub delete mode 100644 home/programs/ssh/default.nix delete mode 100644 home/programs/ssh/yubikey-back.pub delete mode 100644 home/programs/ssh/yubikey-main.pub delete mode 100644 home/programs/ssh/yubikey-new.pub delete mode 100644 home/programs/starship.nix delete mode 100644 home/programs/taskwarrior.nix delete mode 100644 home/programs/vscodium.nix delete mode 100644 home/programs/wlogout/default.nix delete mode 100644 home/programs/wlogout/style.nix delete mode 100644 home/programs/zoxide.nix delete mode 100644 home/programs/zsh.nix delete mode 100644 home/scripts.nix delete mode 100644 home/services/emacs.nix delete mode 100644 home/services/gpg-agent.nix delete mode 100644 home/services/kanshi.nix delete mode 100644 home/services/kdeconnect.nix delete mode 100644 home/services/mako.nix delete mode 100644 home/services/mpd.nix delete mode 100644 home/services/pantalaimon.nix delete mode 100644 home/services/swayidle.nix delete mode 100644 home/services/syncthing.nix delete mode 100644 home/services/taskwarrior-sync.nix delete mode 100644 home/theming.nix delete mode 100644 home/wayland/keybindings.nix delete mode 100644 home/wayland/misc.nix delete mode 100644 home/wayland/sway.nix delete mode 100644 home/wayland/swaylock.nix delete mode 100644 home/wayland/waybar.nix delete mode 100644 home/xdg.nix diff --git a/home/files/distrobox-config.nix b/home/files/distrobox-config.nix deleted file mode 100644 index 88169691..00000000 --- a/home/files/distrobox-config.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - xdg.configFile."distrobox/distrobox.conf" = { - text = '' - distrobox_sudo_program="doas" - ''; - }; -} diff --git a/home/files/pamKeys.nix b/home/files/pamKeys.nix deleted file mode 100644 index d886c83c..00000000 --- a/home/files/pamKeys.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - xdg.configFile."Yubico/u2f_keys".text = '' - thehedgehog:iC1dk7d+DYFX60wpkDlWdwNpkRLXmML7iDjxh4TRXe8OhsAb2pgKiY6tVLHeZIK3WOVA1DuWU8rWlHdma3eqJg==,NdBJTVCvOamU35ad3fJRv6A6YZQIYrojcVk9a8WYMVvTtKO+xyIeBvunlidHv4Zb0rYrOvK6u7Gb4N5x6T6FIQ==,es256,+presence:juWx2IphhNuHZHiv8nG3i2WWTyR5A+CWp5iHz2AmE7aj3b3rgj85Gl1PMpmZlvlwDgbCP+dlcP5PPzTFloB3Ow==,FEXBkP0PzZSURoIbLuGiRRHFIcSiqEz/ieNPRqRY/hqLJ4AsvGwJ1xdIX7F8qAQuMSp8m7usuBLS4u+4FGg3Ng==,es256,+presence - ''; -} diff --git a/home/files/rbw-gc.nix b/home/files/rbw-gc.nix deleted file mode 100644 index bde55eec..00000000 --- a/home/files/rbw-gc.nix +++ /dev/null @@ -1,42 +0,0 @@ -{pkgs, ...}: { - home.file."bin/git-credential-rbw".text = '' - #${pkgs.bash}/bin/bash - - declare -A params - - if [ "x$1" == "xget" ]; then - read line - while [ -n "$line" ]; do - key=''${line%%=*} - value=''${line#*=} - params[$key]=$value - read line - done - - if [ "''${params['protocol']}" != "xhttps" ]; then - exit - fi - - if [ -z "''${params["host"]}" ]; then - exit - fi - - rbw ls > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "Please login to rbw to use git credential helper" > /dev/stderr - exit - fi - - user=`rbw get --full ''${params["host"]} | grep "Username:" | cut -d' ' -f2-` - pass=`rbw get ''${params["host"]}` - - if [ "x$user" == "x" ] || [ "x$pass" == "x" ]; then - echo "Couldn't find host in rbw DB." > /dev/stderr - exit - fi - - echo username=$user - echo password=$pass - fi - ''; -} diff --git a/home/files/ssh-auth-signers.nix b/home/files/ssh-auth-signers.nix deleted file mode 100644 index bfc2336e..00000000 --- a/home/files/ssh-auth-signers.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - home.file.".ssh/authorized_signatures".text = '' - hedgehog@mrhedgehog.xyz ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== - hedgehog@mrhedgehog.xyz ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= - me@thehedgehog.me ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== - me@thehedgehog.me ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= - me@thehedgehog.me ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK97n2SgV/U1mLzxcaEDl85iF5D3jm7xboZ+S01+CbM/8zxVoWyjVHCqTwDcrLwP0c5Z51BNj7U0UkGIgR4zTSM= - ''; -} diff --git a/home/files/tokyo-night.json b/home/files/tokyo-night.json deleted file mode 100644 index 23135aff..00000000 --- a/home/files/tokyo-night.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "wallpaper": "~/.config/wpg/wallpapers/nix-snowflake.png", - "alpha": "100", - - "special": { - "background": "#1A1B26", - "foreground": "#A9B1D6", - "cursor": "#A9B1D6" - }, - "colors": { - "color0": "#1A1B26", - "color1": "#F7768E", - "color2": "#73DACA", - "color3": "#E0AF68", - "color4": "#7AA2F7", - "color5": "#BB9AF7", - "color6": "#7DCFFF", - "color7": "#A9B1D6", - "color8": "#414868", - "color9": "#F7768E", - "color10": "#73DACA", - "color11": "#E0AF68", - "color12": "#7AA2F7", - "color13": "#BB9AF7", - "color14": "#7DCFFF", - "color15": "#A9B1D6" - } -} diff --git a/home/profiles/base.nix b/home/profiles/base.nix deleted file mode 100644 index 941f6ddc..00000000 --- a/home/profiles/base.nix +++ /dev/null @@ -1,13 +0,0 @@ -{inputs, config, ...}: { - imports = [ - ../programs/gpg.nix - ../xdg.nix - ]; - programs.home-manager.enable = true; - home.stateVersion = "24.05"; - home.language = {base = "en_US.utf8";}; - manual.manpages.enable = false; - manual.html.enable = false; - manual.json.enable = false; - programs.man.enable = false; -} diff --git a/home/profiles/cli.nix b/home/profiles/cli.nix deleted file mode 100644 index 9255def2..00000000 --- a/home/profiles/cli.nix +++ /dev/null @@ -1,53 +0,0 @@ -{pkgs, ...}: let - customPythonPackages = python-packages: with python-packages; [textual]; - customPython = pkgs.python311.withPackages customPythonPackages; -in { - imports = [ - ../programs/bat.nix - ../programs/direnv.nix - ../programs/fish.nix - ../programs/fzf.nix - ../programs/git.nix - ../programs/gh.nix - ../programs/helix.nix - ../programs/neovim.nix - ../programs/nix-index.nix - ../programs/nushell - ../programs/pandoc.nix - ../programs/ssh - ../programs/starship.nix - ../programs/zoxide.nix - ../programs/zsh.nix - - ../files/distrobox-config.nix - ]; - programs.eza = { - enable = true; - icons = true; - git = true; - enableBashIntegration = false; - enableIonIntegration = false; - }; - programs.btop = { - enable = true; - catppuccin.enable = true; - }; - programs.glamour.catppuccin.enable = true; - xdg.configFile = { - "rbw".source = ../../oldconfig/rbw; - "rbw".recursive = true; - }; - home.packages = with pkgs; [ - btrfs-progs - fd - fzf - glow - gnupg - # neovim - pinentry - rbw - rsync - xdg-utils - yt-dlp - ]; -} diff --git a/home/profiles/desktop.nix b/home/profiles/desktop.nix deleted file mode 100644 index ad799946..00000000 --- a/home/profiles/desktop.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ pkgs -, inputs -, ... -}: { - imports = [ - ./base.nix - ./cli.nix - ./gui.nix - ./development.nix - # ../email.nix - # ../programs/email.nix - ]; - programs.mpv.enable = true; - home.packages = with pkgs; [ - appimage-run - brightnessctl - ciscoPacketTracer8 - dex - keepassxc - (mumble.override { pipewireSupport = true; }) - playerctl - pulseaudio-ctl - thunderbird - wlogout - wl-clipboard - zotero - # For nvim config - nodejs - ]; - xdg.configFile = { - "waybar/style.css" = { - source = ../../oldconfig/waybar/style.css; - recursive = false; - }; - "waybar/mocha.css" = { - source = ../../oldconfig/waybar/mocha.css; - recursive = false; - }; - }; - services.easyeffects.enable = true; -} diff --git a/home/profiles/development.nix b/home/profiles/development.nix deleted file mode 100644 index bd9cd711..00000000 --- a/home/profiles/development.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - inputs, - pkgs, - ... -}: let - customPython = pkgs.python311.withPackages (ps: [ps.pip]); -in { - home.packages = with pkgs; [ - alejandra - any-nix-shell - cargo - colmena - customPython - editorconfig-core-c - my-pkgs.customGit - nil - nixd - # python311 - ]; -} diff --git a/home/profiles/gui.nix b/home/profiles/gui.nix deleted file mode 100644 index 690b16a1..00000000 --- a/home/profiles/gui.nix +++ /dev/null @@ -1,74 +0,0 @@ -{ - pkgs, - inputs, - lib, # games ? true, - # social ? true, - ... -}: let -pidPkgs = pkgs.pidginPackages; -pidginWithPlugins = pkgs.pidgin.override { - plugins = [ - # Signal - pidPkgs.purple-signald - # XMPP - pidPkgs.pidgin-carbons - pidPkgs.pidgin-xmpp-receipts - pidPkgs.purple-lurch - pidPkgs.purple-xmpp-http-upload - # Misc - pidPkgs.pidgin-indicator - ]; -}; -in { - imports = [ - ../wayland/sway.nix - - ../programs/chromium.nix - ../programs/firefox - ../programs/kitty.nix - ../programs/obs.nix - ../programs/vscodium.nix - ../programs/wlogout - - ../services/gpg-agent.nix - ../services/kanshi.nix - ../services/mako.nix - ../services/mpd.nix - ../services/syncthing.nix - - ../theming.nix - - ../files/ssh-auth-signers.nix - ../files/rbw-gc.nix - ../files/pamKeys.nix - ]; - home.sessionVariables = { - XDG_CURRENT_DESKTOP = "sway"; - }; - home.packages = with pkgs; [ - jetbrains-toolbox - libappindicator - libappindicator-gtk3 - pavucontrol - grim - slurp - satty - sway-launcher-desktop - ueberzug - vscode - # ] ++ lib.optionals games [ - # factorio-experimental - lutris - # my-pkgs.olympus - prismlauncher - protontricks - proton-caller - # ] ++ lib.optionals social [ - gajim - tauon - (vesktop.override {withSystemVencord=false;}) - # pidginWithPlugins - # ] ++ lib.optionals drawing [ - krita - ]; -} diff --git a/home/profiles/server.nix b/home/profiles/server.nix deleted file mode 100644 index 52828e0f..00000000 --- a/home/profiles/server.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - pkgs, - inputs, - ... -}: {imports = [./base.nix ./cli.nix];} diff --git a/home/programs/bat.nix b/home/programs/bat.nix deleted file mode 100644 index e7728493..00000000 --- a/home/programs/bat.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.bat = { - enable = true; - catppuccin.enable = true; - }; -} diff --git a/home/programs/chromium.nix b/home/programs/chromium.nix deleted file mode 100644 index c36e889b..00000000 --- a/home/programs/chromium.nix +++ /dev/null @@ -1,6 +0,0 @@ -{pkgs, ...}: { - programs.chromium = { - enable = true; - package = pkgs.ungoogled-chromium; - }; -} diff --git a/home/programs/direnv.nix b/home/programs/direnv.nix deleted file mode 100644 index 89fe4b43..00000000 --- a/home/programs/direnv.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - programs.direnv = { - enable = true; - enableBashIntegration = true; - enableNushellIntegration = true; - enableZshIntegration = true; - nix-direnv.enable = true; - stdlib = '' - layout_poetry() { - PYPROJECT_TOML="\$\{PYPROJECT_TOML:-pyproject.toml}" - if [[ ! -f "$PYPROJECT_TOML" ]]; then - log_status "No pyproject.toml found. Executing \`poetry init\` to create a \`$PYPROJECT_TOML\` first." - poetry init - fi - - if [[ -d ".venv" ]]; then - VIRTUAL_ENV="$(pwd)/.venv" - else - VIRTUAL_ENV=$(poetry env info --path 2>/dev/null ; true) - fi - - if [[ -z $VIRTUAL_ENV || ! -d $VIRTUAL_ENV ]]; then - log_status "No virtual environment exists. Executing \`poetry install\` to create one." - poetry install - VIRTUAL_ENV=$(poetry env info --path) - fi - - PATH_add "$VIRTUAL_ENV/bin" - export POETRY_ACTIVE=1 - export VIRTUAL_ENV - } - ''; - }; -} diff --git a/home/programs/emacs/default.nix b/home/programs/emacs/default.nix deleted file mode 100644 index f77f325f..00000000 --- a/home/programs/emacs/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{pkgs, ...}: { - programs.emacs = { - enable = true; - package = - (pkgs.emacsPackagesFor pkgs.emacs-pgtk).emacsWithPackages - (epkgs: [epkgs.vterm]); - }; - services.emacs = { - enable = true; - package = - (pkgs.emacsPackagesFor pkgs.emacs-pgtk).emacsWithPackages - (epkgs: [epkgs.vterm]); - }; -} diff --git a/home/programs/email.nix b/home/programs/email.nix deleted file mode 100644 index 000a46d2..00000000 --- a/home/programs/email.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - pkgs, - lib, - ... -}: { - programs.msmtp.enable = true; - programs.mbsync.enable = true; - programs.mu.enable = true; -} diff --git a/home/programs/firefox/default.nix b/home/programs/firefox/default.nix deleted file mode 100644 index dfe20830..00000000 --- a/home/programs/firefox/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{pkgs, ...}: { - imports = [./extraPrefs.nix ./policies.nix]; - programs.firefox = { - enable = true; - package = pkgs.firefox.override { - cfg = { - smartcardSupport = true; - pipewireSupport = true; - ffmpegSupport = true; - }; - }; - profiles = { - default = { - id = 0; - isDefault = true; - name = "Default"; - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ - augmented-steam - bitwarden - clearurls - consent-o-matic - cookie-autodelete - darkreader - don-t-fuck-with-paste - enhanced-github - facebook-container - header-editor - istilldontcareaboutcookies - kagi-search - libredirect - lovely-forks - multi-account-containers - privacy-pass - protondb-for-steam - pywalfox - reddit-moderator-toolbox - refined-github - sourcegraph - steam-database - stylus - ublock-origin - ]; - }; - }; - }; -} diff --git a/home/programs/firefox/extraPrefs.nix b/home/programs/firefox/extraPrefs.nix deleted file mode 100644 index 87eb1c36..00000000 --- a/home/programs/firefox/extraPrefs.nix +++ /dev/null @@ -1,171 +0,0 @@ -{ - programs.firefox.profiles.default.extraConfig = '' - user_pref("accessibility.typeaheadfind.flashBar", 0); - user_pref("app.normandy.api_url", ""); - user_pref("app.normandy.enabled", false); - user_pref("app.normandy.first_run", false); - user_pref("app.shield.optoutstudies.enabled", false); - user_pref("app.update.auto", false); - user_pref("app.update.backgroundErrors", 1); - user_pref("app.update.disable_button.showUpdateHistory", false); - user_pref("beacon.enabled", false); - user_pref("browser.aboutConfig.showWarning", false); - user_pref("browser.bookmarks.addedImportButton", true); - user_pref("browser.contentblocking.report.hide_vpn_banner", true); - user_pref("browser.contentblocking.report.lockwise.enabled", false); - user_pref("browser.contentblocking.report.show_mobile_app", false); - user_pref("browser.contentblocking.report.social.url", ""); - user_pref("browser.formfill.enable", false); - user_pref("browser.laterrun.bookkeeping.profileCreationTime", 0); - user_pref("browser.laterrun.bookkeeping.sessionCount", 0); - user_pref("browser.newtabpage.activity-stream.discoverystream.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.endpointSpocsClear", ""); - user_pref("browser.newtabpage.activity-stream.discoverystream.endpoints", ""); - user_pref("browser.newtabpage.activity-stream.discoverystream.personalization.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.readTime.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.rec.impressions", "{}"); - user_pref("browser.newtabpage.activity-stream.discoverystream.recentSaves.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.saveToPocketCard.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.sendToPocket.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.spoc.impressions", "{}"); - user_pref("browser.newtabpage.activity-stream.feeds.recommendationprovider", false); - user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); - user_pref("browser.newtabpage.activity-stream.impressionId", "{}"); - user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); - user_pref("browser.newtabpage.activity-stream.telemetry", false); - user_pref("browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint", ""); - user_pref("browser.newtabpage.activity-stream.telemetry.ut.events", false); - user_pref("browser.partnerlink.attributionURL", ""); - user_pref("browser.partnerlink.campaign.topsites", ""); - user_pref("browser.ping-centre.telemetry", false); - user_pref("browser.places.importBookmarksHTML", false); - user_pref("browser.pocket.enabled", false); - user_pref("browser.safebrowsing.downloads.enabled", false); - user_pref("browser.safebrowsing.downloads.remote.block_dangerous", false); - user_pref("browser.safebrowsing.downloads.remote.block_dangerous_host", false); - user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); - user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false); - user_pref("browser.safebrowsing.downloads.remote.enabled", false); - user_pref("browser.safebrowsing.downloads.remote.url", ""); - user_pref("browser.safebrowsing.malware.enabled", false); - user_pref("browser.safebrowsing.phishing.enabled", false); - user_pref("browser.safebrowsing.provider.google.advisoryURL", ""); - user_pref("browser.safebrowsing.provider.google.gethashURL", ""); - user_pref("browser.safebrowsing.provider.google.gethashURL", ""); - user_pref("browser.safebrowsing.provider.google.reportURL", ""); - user_pref("browser.safebrowsing.provider.google.updateURL", ""); - user_pref("browser.safebrowsing.provider.google4.advisoryURL", ""); - user_pref("browser.safebrowsing.provider.google4.dataSharingURL", ""); - user_pref("browser.safebrowsing.provider.google4.gethashURL", ""); - user_pref("browser.safebrowsing.provider.google4.lists", ""); - user_pref("browser.safebrowsing.provider.google4.reportURL", ""); - user_pref("browser.safebrowsing.provider.google4.updateURL", ""); - user_pref("browser.safebrowsing.provider.mozilla.gethashURL", ""); - user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", ""); - user_pref("browser.safebrowsing.provider.mozilla.lists", ""); - user_pref("browser.safebrowsing.provider.mozilla.lists.base", ""); - user_pref("browser.safebrowsing.provider.mozilla.lists.content", ""); - user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", ""); - user_pref("browser.safebrowsing.provider.mozilla.updateURL", ""); - user_pref("browser.search.serpEventTelemetry.enabled", false); - user_pref("browser.send_pings", false); - user_pref("browser.tabs.warnOnClose", true); - user_pref("browser.urlbar.eventTelemetry.enabled", false); - user_pref("browser.urlbar.quicksuggest.dataCollection.enabled", false); - user_pref("browser.urlbar.suggest.addons", false); - user_pref("browser.urlbar.suggest.bookmark", true); - user_pref("browser.urlbar.suggest.calculator", true); - user_pref("browser.urlbar.suggest.clipboard", false); - user_pref("browser.urlbar.suggest.engines", false); - user_pref("browser.urlbar.suggest.history", true); - user_pref("browser.urlbar.suggest.mdn", false); - user_pref("browser.urlbar.suggest.openpage", true); - user_pref("browser.urlbar.suggest.pocket", false); - user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); - user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false); - user_pref("browser.urlbar.suggest.topsites", false); - user_pref("browser.urlbar.suggest.trending", false); - user_pref("browser.urlbar.suggest.weather", false); - user_pref("datareporting.healthreport.infoURL", ""); - user_pref("datareporting.policy.firstRunURL", ""); - user_pref("device.sensors.ambientLight.enabled", false); - user_pref("device.sensors.enabled", false); - user_pref("device.sensors.motion.enabled", false); - user_pref("device.sensors.orientation.enabled", false); - user_pref("device.sensors.proximity.enabled", false); - user_pref("device.sensors.test.events", false); - user_pref("devtools.chrome.enabled", true); - user_pref("doh-rollout.uri", ""); - user_pref("dom.battery.enabled", false); - user_pref("dom.event.clipboardevents.enabled", false); - user_pref("dom.security.unexpected_system_load_telemetry_enabled", false); - user_pref("dom.webgpu.enabled", true); - user_pref("extensions.formautofill.addresses.enabled", false); - user_pref("extensions.formautofill.creditCards.enabled", false); - user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); - user_pref("extensions.pocket.enabled", false); - user_pref("extensions.pocket.showHome", false); - user_pref("extensions.pocket.site", ""); - user_pref("extensions.recommendations.privacyPolicyUrl", ""); - user_pref("extensions.recommendations.themeRecommendationUrl", ""); - user_pref("extensions.ui.dictionary.hidden", true); - user_pref("extensions.update.autoUpdateDefault", false); - user_pref("extensions.webextensions.restrictedDomains", ""); - user_pref("layers.acceleration.disabled", false); - user_pref("network.predictor.enabled", false); - user_pref("network.prefetch-next", false); - user_pref("network.trr.confirmation_telemetry_enabled", false); - user_pref("privacy.clearOnShutdown.downloads", true); - user_pref("privacy.donottrackheader.enabled", false); - user_pref("privacy.resistFingerprinting.block_mozAddonManager", true); - user_pref("privacy.trackingprotection.origin_telemetry.enabled", false); - user_pref("remote.prefs.recommended", false); - user_pref("security.app_menu.recordEventTelemetry", false); - user_pref("security.certerrors.recordEventTelemetry", false); - user_pref("security.identitypopup.recordEventTelemetry", false); - user_pref("security.protectionspopup.recordEventTelemetry", false); - user_pref("services.settings.server", ""); - user_pref("signon.autofillForms", false); - user_pref("signon.generation.enabled", false); - user_pref("signon.management.page.breach-alerts.enabled", false); - user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); - user_pref("toolkit.telemetry.bhrPing.enabled", false); - user_pref("toolkit.telemetry.cachedClientID", ""); - user_pref("toolkit.telemetry.dap_enabled", false); - user_pref("toolkit.telemetry.dap_helper", ""); - user_pref("toolkit.telemetry.dap_leader", ""); - user_pref("toolkit.telemetry.dap_task1_enabled", false); - user_pref("toolkit.telemetry.debugSlowSql", false); - user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); - user_pref("toolkit.telemetry.geckoview.streaming", false); - user_pref("toolkit.telemetry.newProfilePing.enabled", false); - user_pref("toolkit.telemetry.pioneer-new-studies-available", false); - user_pref("toolkit.telemetry.previousBuildID", ""); - user_pref("toolkit.telemetry.reportingpolicy.firstRun", ""); - user_pref("toolkit.telemetry.server", ""); - user_pref("toolkit.telemetry.server_owner", ""); - user_pref("toolkit.telemetry.shutdownPingSender.backgroundtask.enabled", false); - user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); - user_pref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false); - user_pref("toolkit.telemetry.testing.overrideProductsCheck", false); - user_pref("toolkit.telemetry.unified", false); - user_pref("toolkit.telemetry.updatePing.enabled", ""); - user_pref("ui.systemUsesDarkTheme", 1); - user_pref("webgl.force-enabled", true); - user_pref("xpinstall.signatures.required", false); - '' + - # Fastfox tweaks - '' - user_pref("media.memory_cache_max_size", 65536); - user_pref("browser.cache.jsbc_compression_level", 3); - user_pref("image.mem.decode_bytes_at_a_time", 32768); - user_pref("network.http.max-connections", 1800); - user_pref("network.http.max-persistent-connections-per-server", 10); - user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5); - user_pref("network.dns.max_high_priority_threads", 8); - user_pref("network.ssl_tokens_cache_capacity", 10240); - user_pref("network.dns.disablePrefetch", true); - user_pref("browser.places.speculativeConnect.enabled", false); - user_pref("browser.urlbar.speculativeConnect.enabled", false); - ''; -} diff --git a/home/programs/firefox/policies.nix b/home/programs/firefox/policies.nix deleted file mode 100644 index c81d379a..00000000 --- a/home/programs/firefox/policies.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - programs.firefox.policies = { - AppAutoUpdate = false; - DisableAppUpdate = true; - DisableFirefoxAccounts = true; - DisableFirefoxStudies = true; - DisableMasterPasswordCreation = true; - DisablePocket = true; - DisableTelemetry = true; - DNSOverHTTPS = { - Enabled = false; - ProviderURL = "https://dns.nextdns.io/36e7f7"; - Locked = true; - }; - ExtensionUpdate = false; - FirefoxHome = { - Search = true; - TopSites = false; - SponsoredTopSites = false; - Highlights = false; - Pocket = false; - SponsoredPocket = false; - Snippets = false; - Locked = true; - }; - Homepage = { - URL = "https://dash.pyrox.dev"; - Locked = true; - StartPage = "homepage-locked"; - }; - ManualAppUpdateOnly = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - OverrideFirstRunPage = ""; - OverridePostUpdatePage = ""; - PasswordManagerEnabled = false; - SearchBar = "unified"; - ShowHomeButton = false; - UserMessaging = { - WhatsNew = false; - ExtensionRecommendations = false; - FeatureRecommendations = false; - UrlbarInterventions = false; - SkipOnboarding = false; - }; - }; -} diff --git a/home/programs/fish.nix b/home/programs/fish.nix deleted file mode 100644 index 6dd2cd5d..00000000 --- a/home/programs/fish.nix +++ /dev/null @@ -1,45 +0,0 @@ -{pkgs, lib, ...}: let - inherit (lib) getExe; -in { - programs.fish = { - enable = true; - catppuccin.enable = true; - shellAliases = { - "lg" = getExe pkgs.lazygit; - "cat" = getExe pkgs.bat; - "gls" = "${getExe pkgs.eza} -lah@ --icons --git --git-ignore --no-user"; - "ls" = "${getExe pkgs.eza} --icons -a"; - "ll" = "${getExe pkgs.eza} --icons -lah@"; - "lt" = "${getExe pkgs.eza} --icons --tree -a"; - "tt" = getExe pkgs.taskwarrior-tui; - "dig" = getExe pkgs.doggo; - }; - shellInit = '' - set -x GPG_TTY (tty) - set -x SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket) - gpgconf --launch gpg-agent - ''; - - interactiveShellInit = '' - fzf_configure_bindings --directory=\cf --git_log=\cl --git_status=\cg \ - --history=\cr --variables=\cv --processes=\cp - any-nix-shell fish --info-right | source - ''; - - plugins = [ - { - name = "nix-env"; - src = pkgs.fetchFromGitHub { - owner = "lilyball"; - repo = "nix-env.fish"; - rev = "7b65bd228429e852c8fdfa07601159130a818cfa"; - sha256 = "sha256-RG/0rfhgq6aEKNZ0XwIqOaZ6K5S4+/Y5EEMnIdtfPhk="; - }; - } - { - inherit (pkgs.fishPlugins.fzf-fish) src; - name = "fzf-fish"; - } - ]; - }; -} diff --git a/home/programs/fzf.nix b/home/programs/fzf.nix deleted file mode 100644 index ea22aeca..00000000 --- a/home/programs/fzf.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - programs.fzf = { - enable = true; - enableBashIntegration = true; - enableZshIntegration = true; - catppuccin.enable = true; - }; -} diff --git a/home/programs/gh.nix b/home/programs/gh.nix deleted file mode 100644 index 591316f9..00000000 --- a/home/programs/gh.nix +++ /dev/null @@ -1,12 +0,0 @@ -{pkgs, data, lib, ...}: { - programs.gh = { - enable = true; - gitCredentialHelper.enable = true; - settings = { - editor = lib.getExe data.packages.nvim; - git_protocol = "https"; - browser = "${pkgs.firefox-wayland}/bin/firefox"; - prompt = "enabled"; - }; - }; -} diff --git a/home/programs/git.nix b/home/programs/git.nix deleted file mode 100644 index 5d9e3ba0..00000000 --- a/home/programs/git.nix +++ /dev/null @@ -1,73 +0,0 @@ -{pkgs, lib, data, ...}: -{ - programs.git = { - enable = true; - package = pkgs.my-pkgs.customGit; - aliases = { - a = "add -p"; - co = "checkout"; - cob = "checkout -b"; - f = "fetch -p"; - c = "commit"; - p = "push"; - ba = "branch -a"; - bd = "branch -d"; - bD = "branch -D"; - d = "diff"; - dc = "diff --cached"; - ds = "diff --staged"; - r = "restore"; - rs = "restore --staged"; - st = "status -sb"; - # reset - soft = "reset --soft"; - hard = "reset --hard"; - s1ft = "soft HEAD~1"; - h1rd = "hard HEAD~1"; - # logging - lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; - plog = "log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'"; - tlog = "log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative"; - rank = "shortlog -sn --no-merges"; - # delete merged branches - bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"; - wt = "worktree"; - }; - delta = { - enable = true; - options.line-numbers = true; - }; - extraConfig = { - core.editor = lib.getExe data.packages.nvim; - init.defaultBranch = "main"; - pull.rebase = false; - # gpg.format = "ssh"; - gpg."ssh".allowedSignersFile = "~/.ssh/authorized_signatures"; - "credential \"https://git.pyrox.dev\"".username = "pyrox"; - credential.helper = "rbw"; - }; - lfs = { - enable = true; - skipSmudge = false; - }; - signing = { - key = "0xFE1D8A7D620C611F"; - signByDefault = true; - }; - userEmail = "pyrox@pyrox.dev"; - userName = "Pyrox"; - }; - programs.lazygit = { - enable = true; - catppuccin.enable = true; - settings = { - gui.nerdFontsVersion = "3"; - gui.showRandomTip = false; - gui.theme.selectedLineBgColor = ["default"]; - git.paging = { - pager = "${lib.getExe pkgs.delta} --dark --paging=never"; - colorArg = "always"; - }; - }; - }; -} diff --git a/home/programs/gpg.nix b/home/programs/gpg.nix deleted file mode 100644 index f6d75c6e..00000000 --- a/home/programs/gpg.nix +++ /dev/null @@ -1,39 +0,0 @@ -{pkgs, ...}: { - programs.gpg = { - enable = true; - settings = { - personal-cipher-preferences = "AES256 AES192 AES"; - personal-digest-preferences = "SHA512 SHA384 SHA256"; - personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed"; - default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed"; - cert-digest-algo = "SHA512"; - s2k-digest-algo = "SHA512"; - s2k-cipher-algo = "AES256"; - charset = "utf-8"; - fixed-list-mode = true; - no-comments = true; - no-emit-version = true; - no-greeting = true; - keyid-format = "0xlong"; - list-options = "show-uid-validity"; - verify-options = "show-uid-validity"; - with-fingerprint = true; - with-key-origin = true; - require-cross-certification = true; - no-symkey-cache = true; - use-agent = true; - throw-keyids = true; - default-key = "0x7D5107866B1C6752"; - trusted-key = "0x7D5107866B1C6752"; - keyserver = "hkps://keys.openpgp.org"; - }; - scdaemonSettings = { - card-timeout = "60"; - pcsc-shared = true; - # shared-access = true; - disable-ccid = true; - pcsc-driver = "${pkgs.pcsclite.out}/lib/libpcsclite.so"; - reader-port = "Yubico Yubi"; - }; - }; -} diff --git a/home/programs/helix.nix b/home/programs/helix.nix deleted file mode 100644 index 3c883be6..00000000 --- a/home/programs/helix.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - programs.helix = { - enable = true; - catppuccin.enable = true; - catppuccin.useItalics = true; - settings = { - editor = { - line-number = "absolute"; - mouse = false; - auto-save = true; - true-color = true; - bufferline = "multiple"; - cursor-shape = { - normal = "block"; - insert = "bar"; - select = "underline"; - }; - lsp = { - display-messages = true; - auto-signature-help = true; - display-signature-help-docs = true; - }; - whitespace.render = { - space = "none"; - tab = "all"; - newline = "all"; - }; - indent-guides.render = true; - }; - }; - }; -} diff --git a/home/programs/kitty.nix b/home/programs/kitty.nix deleted file mode 100644 index 2a44ebd4..00000000 --- a/home/programs/kitty.nix +++ /dev/null @@ -1,49 +0,0 @@ -{pkgs, lib, data, ...}: { - programs.kitty = { - enable = true; - catppuccin.enable = true; - font.name = "BlexMono Nerd Font"; - font.size = 14; - settings = { - # Font settings - bold_font = "BlexMono Nerd Font Bold"; - italic_font = "BlexMono Nerd Font Italic"; - bold_italic_font = "BlexMono Nerd Font Bold Italic"; - # Cursor Settings - scrollback_lines = 10000; - wheel_scroll_multiplier = 3; - touch_scroll_multiplier = 2; - scrollback_pager = "${lib.getExe pkgs.page}"; - cursor_shape = "block"; - # Mouse settings - mouse_hide_wait = "0.5"; - open_url_with = "default"; - strip_trailing_spaces = "smart"; - focus_follows_mouse = true; - # Perf settings - repaint_delay = 16; - sync_to_monitor = true; - # Terminal Bell settings - enable_audio_bell = false; - # Window settings - hide_window_decorations = true; - # Tab Bar settings - tab_bar_edge = "bottom"; - tab_bar_margin_width = 0; - tab_bar_margin_height = "0 0"; - tab_bar_style = "powerline"; - tab_bar_min_tabs = 2; - - shell = "fish"; - editor = "${lib.getExe data.packages.nvim}"; - allow_remote_control = "socket-only"; - listen_on = "unix:/tmp/mykitty"; - update_check_interval = 0; - allow_hyperlinks = true; - shell_integration = "no-cursor"; - term = "xterm-kitty"; - remember_window_size = "no"; - linux_display_server = "wayland"; - }; - }; -} diff --git a/home/programs/navi.nix b/home/programs/navi.nix deleted file mode 100644 index c1712257..00000000 --- a/home/programs/navi.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - programs.navi = { - enable = true; - enableBashIntegration = true; - enableFishIntegration = true; - enableZshIntegration = true; - settings = {finder = {command = "fzf";};}; - }; -} diff --git a/home/programs/ncmpcpp.nix b/home/programs/ncmpcpp.nix deleted file mode 100644 index 171ab5fa..00000000 --- a/home/programs/ncmpcpp.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - programs.ncmpcpp = { - enable = true; - settings = { - visualizer_data_source = "/tmp/mpd.fifo"; - visualizer_output_name = "viz"; - visualizer_in_stereo = "yes"; - visualizer_type = "ellipse"; - visualizer_look = "+."; - }; - }; -} diff --git a/home/programs/neovim.nix b/home/programs/neovim.nix deleted file mode 100644 index e9f1e1af..00000000 --- a/home/programs/neovim.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - pkgs, - lib, - data, - ... -}: { - programs.neovim = { - enable = true; - package = data.packages.nvim; - viAlias = true; - vimAlias = true; - vimdiffAlias = true; - withNodeJs = false; - withPython3 = false; - withRuby = false; - extraPackages = [ - pkgs.fd - pkgs.ffmpegthumbnailer - pkgs.fontpreview - pkgs.gcc - pkgs.poppler - pkgs.ueberzug - ]; - }; -} diff --git a/home/programs/nix-index.nix b/home/programs/nix-index.nix deleted file mode 100644 index afa8a5a6..00000000 --- a/home/programs/nix-index.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - programs.nix-index = { - enable = true; - enableBashIntegration = true; - enableFishIntegration = true; - enableZshIntegration = true; - }; -} diff --git a/home/programs/nushell/config.nu b/home/programs/nushell/config.nu deleted file mode 100644 index d156bc85..00000000 --- a/home/programs/nushell/config.nu +++ /dev/null @@ -1,369 +0,0 @@ -source ~/.zoxide.nu -source ~/.cache/starship/init.nu - -source /home/thehedgehog/.cache/starship/init.nu - -let-env config = ($env | default {} config).config -let-env config = ($env.config | default {} hooks) -let-env config = ($env.config | update hooks ($env.config.hooks | default [] pre_prompt)) -let-env config = ($env.config | update hooks.pre_prompt ($env.config.hooks.pre_prompt | append { - code: " - let direnv = (direnv export json | from json) - let direnv = if ($direnv | length) == 1 { $direnv } else { {} } - $direnv | load-env - " -})) - -let-env config = { - ls: { - use_ls_colors: true # use the LS_COLORS environment variable to colorize output - clickable_links: true # enable or disable clickable links. Your terminal has to support links. - } - rm: { - always_trash: false # always act as if -t was given. Can be overridden with -p - } - cd: { - abbreviations: false # allows `cd s/o/f` to expand to `cd some/other/folder` - } - table: { - mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other - index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column - trim: { - methodology: wrapping # wrapping or truncating - wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology - truncating_suffix: "..." # A suffix used by the 'truncating' methodology - } - } - - explore: { - help_banner: true - exit_esc: true - - command_bar_text: '#C4C9C6' - # command_bar: {fg: '#C4C9C6' bg: '#223311' } - - status_bar_background: {fg: '#1D1F21' bg: '#C4C9C6' } - # status_bar_text: {fg: '#C4C9C6' bg: '#223311' } - - highlight: {bg: 'yellow' fg: 'black' } - - status: { - # warn: {bg: 'yellow', fg: 'blue'} - # error: {bg: 'yellow', fg: 'blue'} - # info: {bg: 'yellow', fg: 'blue'} - } - - try: { - # border_color: 'red' - # highlighted_color: 'blue' - - # reactive: false - } - - table: { - split_line: '#404040' - - cursor: true - - line_index: true - line_shift: true - line_head_top: true - line_head_bottom: true - - show_head: true - show_index: true - - # selected_cell: {fg: 'white', bg: '#777777'} - # selected_row: {fg: 'yellow', bg: '#C1C2A3'} - # selected_column: blue - - # padding_column_right: 2 - # padding_column_left: 2 - - # padding_index_left: 2 - # padding_index_right: 1 - } - - config: { - cursor_color: {bg: 'yellow' fg: 'black' } - - # border_color: white - # list_color: green - } - } - - history: { - max_size: 10000 # Session has to be reloaded for this to take effect - sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file - file_format: "plaintext" # "sqlite" or "plaintext" - } - completions: { - case_sensitive: false # set to true to enable case-sensitive completions - quick: true # set this to false to prevent auto-selecting completions when only one remains - partial: true # set this to false to prevent partial filling of the prompt - algorithm: "prefix" # prefix or fuzzy - external: { - enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up my be very slow - max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options - completer: null # check 'carapace_completer' above as an example - } - } - filesize: { - metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) - format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto - } - cursor_shape: { - emacs: line # block, underscore, line (line is the default) - vi_insert: block # block, underscore, line (block is the default) - vi_normal: underscore # block, underscore, line (underscore is the default) - } - color_config: $dark_theme # if you want a light theme, replace `$dark_theme` to `$light_theme` - use_grid_icons: true - footer_mode: "25" # always, never, number_of_rows, auto - float_precision: 2 # the precision for displaying floats in tables - # buffer_editor: "emacs" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL - use_ansi_coloring: true - edit_mode: emacs # emacs, vi - shell_integration: true # enables terminal markers and a workaround to arrow keys stop working issue - # true or false to enable or disable the welcome banner at startup - show_banner: true - render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt. - - hooks: { - pre_prompt: [{ - null # replace with source code to run before the prompt is shown - }] - pre_execution: [{ - null # replace with source code to run before the repl input is run - }] - env_change: { - PWD: [{|before, after| - null # replace with source code to run if the PWD environment is different since the last repl input - }] - } - display_output: { - if (term size).columns >= 100 { table -e } else { table } - } - } - menus: [ - # Configuration for default nushell menus - # Note the lack of source parameter - { - name: completion_menu - only_buffer_difference: false - marker: "| " - type: { - layout: columnar - columns: 4 - col_width: 20 # Optional value. If missing all the screen width is used to calculate column width - col_padding: 2 - } - style: { - text: green - selected_text: green_reverse - description_text: yellow - } - } - { - name: history_menu - only_buffer_difference: true - marker: "? " - type: { - layout: list - page_size: 10 - } - style: { - text: green - selected_text: green_reverse - description_text: yellow - } - } - { - name: help_menu - only_buffer_difference: true - marker: "? " - type: { - layout: description - columns: 4 - col_width: 20 # Optional value. If missing all the screen width is used to calculate column width - col_padding: 2 - selection_rows: 4 - description_rows: 10 - } - style: { - text: green - selected_text: green_reverse - description_text: yellow - } - } - # Example of extra menus created using a nushell source - # Use the source field to create a list of records that populates - # the menu - { - name: commands_menu - only_buffer_difference: false - marker: "# " - type: { - layout: columnar - columns: 4 - col_width: 20 - col_padding: 2 - } - style: { - text: green - selected_text: green_reverse - description_text: yellow - } - source: { |buffer, position| - $nu.scope.commands - | where name =~ $buffer - | each { |it| {value: $it.name description: $it.usage} } - } - } - { - name: vars_menu - only_buffer_difference: true - marker: "# " - type: { - layout: list - page_size: 10 - } - style: { - text: green - selected_text: green_reverse - description_text: yellow - } - source: { |buffer, position| - $nu.scope.vars - | where name =~ $buffer - | sort-by name - | each { |it| {value: $it.name description: $it.type} } - } - } - { - name: commands_with_description - only_buffer_difference: true - marker: "# " - type: { - layout: description - columns: 4 - col_width: 20 - col_padding: 2 - selection_rows: 4 - description_rows: 10 - } - style: { - text: green - selected_text: green_reverse - description_text: yellow - } - source: { |buffer, position| - $nu.scope.commands - | where name =~ $buffer - | each { |it| {value: $it.name description: $it.usage} } - } - } - ] - keybindings: [ - { - name: completion_menu - modifier: none - keycode: tab - mode: [emacs vi_normal vi_insert] - event: { - until: [ - { send: menu name: completion_menu } - { send: menunext } - ] - } - } - { - name: completion_previous - modifier: shift - keycode: backtab - mode: [emacs, vi_normal, vi_insert] # Note: You can add the same keybinding to all modes by using a list - event: { send: menuprevious } - } - { - name: history_menu - modifier: control - keycode: char_r - mode: emacs - event: { send: menu name: history_menu } - } - { - name: next_page - modifier: control - keycode: char_x - mode: emacs - event: { send: menupagenext } - } - { - name: undo_or_previous_page - modifier: control - keycode: char_z - mode: emacs - event: { - until: [ - { send: menupageprevious } - { edit: undo } - ] - } - } - { - name: yank - modifier: control - keycode: char_y - mode: emacs - event: { - until: [ - {edit: pastecutbufferafter} - ] - } - } - { - name: unix-line-discard - modifier: control - keycode: char_u - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - {edit: cutfromlinestart} - ] - } - } - { - name: kill-line - modifier: control - keycode: char_k - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - {edit: cuttolineend} - ] - } - } - # Keybindings used to trigger the user defined menus - { - name: commands_menu - modifier: control - keycode: char_t - mode: [emacs, vi_normal, vi_insert] - event: { send: menu name: commands_menu } - } - { - name: vars_menu - modifier: alt - keycode: char_o - mode: [emacs, vi_normal, vi_insert] - event: { send: menu name: vars_menu } - } - { - name: commands_with_description - modifier: control - keycode: char_s - mode: [emacs, vi_normal, vi_insert] - event: { send: menu name: commands_with_description } - } - ] -} diff --git a/home/programs/nushell/default.nix b/home/programs/nushell/default.nix deleted file mode 100644 index 2799c327..00000000 --- a/home/programs/nushell/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{pkgs, ...}: { - programs.nushell = { - enable = true; - configFile.source = ./config.nu; - envFile.source = ./env.nu; - }; -} diff --git a/home/programs/nushell/env.nu b/home/programs/nushell/env.nu deleted file mode 100644 index cdea6260..00000000 --- a/home/programs/nushell/env.nu +++ /dev/null @@ -1,9 +0,0 @@ -zoxide init nushell --hook prompt | save ~/.zoxide.nu -mkdir ~/.cache/starship -starship init nu | save ~/.cache/starship/init.nu - -let starship_cache = "/home/thehedgehog/.cache/starship" -if not ($starship_cache | path exists) { - mkdir $starship_cache -} -/etc/profiles/per-user/thehedgehog/bin/starship init nu | save --force /home/thehedgehog/.cache/starship/init.nu diff --git a/home/programs/obs.nix b/home/programs/obs.nix deleted file mode 100644 index 38b95d91..00000000 --- a/home/programs/obs.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - config, - pkgs, - ... -}: { - programs.obs-studio = { - enable = true; - plugins = with pkgs.obs-studio-plugins; [ - obs-pipewire-audio-capture - obs-vkcapture - wlrobs - ]; - }; -} diff --git a/home/programs/pandoc.nix b/home/programs/pandoc.nix deleted file mode 100644 index 21d32097..00000000 --- a/home/programs/pandoc.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - lib, - pkgs, - ... -}: {programs.pandoc.enable = true;} diff --git a/home/programs/rofi.nix b/home/programs/rofi.nix deleted file mode 100644 index a862769f..00000000 --- a/home/programs/rofi.nix +++ /dev/null @@ -1,90 +0,0 @@ -{ - pkgs, - config, - ... -}: { - programs.rofi = { - enable = true; - package = pkgs.rofi-wayland; - cycle = true; - font = "IBM Plex Sans 13"; - location = "center"; - extraConfig = {modi = "run,ssh,drun,filebrowser";}; - terminal = "${pkgs.kitty}/bin/kitty"; - theme = let - inherit (config.lib.formats.rasi) mkLiteral; - in { - "*" = { - accent-color = mkLiteral "#bb9af7ff"; - background-color = mkLiteral "#1a1b26ff"; - blue = mkLiteral "#7aa2f7ff"; - border-color = mkLiteral "#cfc9c2ff"; - font = "IBM Plex Sans 13"; - foreground-color = mkLiteral "#a9b1d6ff"; - green = mkLiteral "#73dacaff"; - height = 752; - lightfg = mkLiteral "#414868ff"; - red = mkLiteral "#f7768eff"; - show-icons = true; - width = 500; - display-drun = ""; - }; - "#button selected" = { - background-color = mkLiteral "@background-color"; - text-color = mkLiteral "@accent-color"; - }; - "#entry" = { - text-color = mkLiteral "@foreground-color"; - spacing = mkLiteral "2"; - border-radius = mkLiteral "8"; - }; - "#entry selected" = { - text-color = mkLiteral "@blue"; - spacing = mkLiteral "1"; - border-radius = mkLiteral "8"; - }; - "#element-icon" = { - background-color = mkLiteral "@background-color"; - text-color = mkLiteral "@foreground-color"; - }; - "#element-text" = { - background-color = mkLiteral "@background-color"; - text-color = mkLiteral "@foreground-color"; - }; - "#element-text selected" = { - background-color = mkLiteral "@blue"; - text-color = mkLiteral "@background-color"; - border-radius = mkLiteral "8px"; - }; - "#element alternate" = { - background-color = mkLiteral "@background-color"; - text-color = mkLiteral "@accent-color"; - }; - "#element normal" = { - background-color = mkLiteral "@blue"; - text-color = mkLiteral "@accent-color"; - }; - "#element selected" = { - background-color = mkLiteral "@blue"; - text-color = mkLiteral "@accent-color"; - border-radius = mkLiteral "8"; - }; - "#inputbar" = {children = map mkLiteral ["prompt" "entry"];}; - "#prompt" = {text-color = mkLiteral "@accent-color";}; - "#textbox" = {text-color = mkLiteral "@foreground-color";}; - "#textbox-prompt-colon" = { - expand = true; - str = ":"; - margin = mkLiteral "0px 0.3em 0em 0em"; - text-color = mkLiteral "@lightfg"; - }; - "#window" = { - border = mkLiteral "2px"; - border-color = mkLiteral "@border-color"; - padding = 25; - width = 500; - height = 752; - }; - }; - }; -} diff --git a/home/programs/senpai.nix b/home/programs/senpai.nix deleted file mode 100644 index 01430d5f..00000000 --- a/home/programs/senpai.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - programs.senpai = { - enable = true; - config = { - addr = "chat.sr.ht"; - nick = "thehedgeh0g"; - password-cmd = "bw get password 'Bouncer API Token'"; - # pane-widths - }; - }; -} diff --git a/home/programs/skim.nix b/home/programs/skim.nix deleted file mode 100644 index 7cdab5f3..00000000 --- a/home/programs/skim.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - programs.skim = { - enable = true; - enableBashIntegration = true; - enableZshIntegration = true; - enableFishIntegration = true; - }; -} diff --git a/home/programs/ssh/backup.pub b/home/programs/ssh/backup.pub deleted file mode 100644 index c7ba5de9..00000000 --- a/home/programs/ssh/backup.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= 993390@993390-student-FVFD26HVJ1WK diff --git a/home/programs/ssh/default.nix b/home/programs/ssh/default.nix deleted file mode 100644 index 7ef1e5d5..00000000 --- a/home/programs/ssh/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - programs.ssh = { - enable = true; - compression = true; - matchBlocks = { - "marvin" = { - hostname = "100.123.15.72"; - user = "thehedgehog"; - port = 22; - extraOptions = { - "IdentitiesOnly" = "no"; - "PreferredAuthentications" = "publickey"; - }; - }; - "prefect" = { - hostname = "100.93.63.54"; - user = "thehedgehog"; - port = 22; - extraOptions = { - "IdentitiesOnly" = "no"; - "PreferredAuthentications" = "publickey"; - }; - }; - "botw" = { - hostname = "bandit.labs.overthewire.org"; - port = 2220; - sendEnv = ["WECHALLUSER" "WECHALLTOKEN"]; - }; - }; - extraOptionOverrides = { - "Match" = ''host * exec "gpg-connect-agent UPDATESTARTUPTTY /bye"''; - }; - }; -} diff --git a/home/programs/ssh/yubikey-back.pub b/home/programs/ssh/yubikey-back.pub deleted file mode 100644 index bf4aa7f1..00000000 --- a/home/programs/ssh/yubikey-back.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== cardno:15 567 372 diff --git a/home/programs/ssh/yubikey-main.pub b/home/programs/ssh/yubikey-main.pub deleted file mode 100644 index 0d915f73..00000000 --- a/home/programs/ssh/yubikey-main.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBBsOIMMZVmleClXfqUMrnmyh8PFuyiJqHKEZ51Xy746 diff --git a/home/programs/ssh/yubikey-new.pub b/home/programs/ssh/yubikey-new.pub deleted file mode 100644 index 4b8144c5..00000000 --- a/home/programs/ssh/yubikey-new.pub +++ /dev/null @@ -1 +0,0 @@ -ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK97n2SgV/U1mLzxcaEDl85iF5D3jm7xboZ+S01+CbM/8zxVoWyjVHCqTwDcrLwP0c5Z51BNj7U0UkGIgR4zTSM= diff --git a/home/programs/starship.nix b/home/programs/starship.nix deleted file mode 100644 index f715c9d8..00000000 --- a/home/programs/starship.nix +++ /dev/null @@ -1,100 +0,0 @@ -{lib, ...}: { - programs.starship = { - enable = true; - catppuccin.enable = true; - enableFishIntegration = true; - enableBashIntegration = true; - enableZshIntegration = true; - settings = { - format = lib.concatStrings [ - "$hostname" - "$directory" - "$rust" - "$python" - "$golang" - "$nodejs" - "$lua" - "$git_branch" - "$git_status" - "$battery" - "$shlvl" - " " - "$character" - ]; - right_format = lib.concatStrings ["$nix_shell"]; - - directory = {read_only = " ";}; - git_branch = { - symbol = " "; - format = "\\[[$symbol$branch]($style)\\]"; - }; - git_status = {format = "([\\[$all_status$ahead_behind\\]]($style))";}; - golang = { - symbol = " "; - format = "\\[[$symbol($version)]($style)\\]"; - }; - nodejs = {format = "\\[[$symbol($version)]($style)\\]";}; - lua = { - symbol = " "; - format = "\\[[\${symbol}\${version}]($style)\\]"; - }; - package = { - symbol = " "; - format = "\\[[$symbol$version]($style)\\]"; - }; - python = { - symbol = " "; - format = "\\[[\${symbol}\${pyenv_prefix}(\${version})(\\($virtualenv\\))]($style)\\]"; - }; - rust = { - symbol = " "; - format = "\\[[$symbol($version)]($style)\\]"; - }; - shlvl = {symbol = " ";}; - nix_shell = { - symbol = " "; - format = "\\[[$symbol($name)]($style)\\]"; - }; - aws.disabled = true; - conda.disabled = true; - crystal.disabled = true; - dart.disabled = true; - deno.disabled = true; - docker_context.disabled = true; - dotnet.disabled = true; - elixir.disabled = true; - elm.disabled = true; - env_var.disabled = true; - erlang.disabled = true; - gcloud.disabled = true; - helm.disabled = true; - hostname.disabled = true; - java.disabled = true; - jobs.disabled = true; - julia.disabled = true; - kotlin.disabled = true; - kubernetes.disabled = true; - memory_usage.disabled = true; - hg_branch.disabled = true; - nim.disabled = true; - ocaml.disabled = true; - openstack.disabled = true; - perl.disabled = true; - php.disabled = true; - purescript.disabled = true; - rlang.disabled = true; - red.disabled = true; - ruby.disabled = true; - scala.disabled = true; - singularity.disabled = true; - swift.disabled = true; - terraform.disabled = true; - time.disabled = true; - username.disabled = true; - vagrant.disabled = true; - vlang.disabled = true; - vcsh.disabled = true; - zig.disabled = true; - }; - }; -} diff --git a/home/programs/taskwarrior.nix b/home/programs/taskwarrior.nix deleted file mode 100644 index f8d6b647..00000000 --- a/home/programs/taskwarrior.nix +++ /dev/null @@ -1 +0,0 @@ -{programs.taskwarrior = {enable = true;};} diff --git a/home/programs/vscodium.nix b/home/programs/vscodium.nix deleted file mode 100644 index 24ec33e3..00000000 --- a/home/programs/vscodium.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - pkgs, - data, - lib, - ... -}: { - programs.vscode = { - enable = false; - package = pkgs.vscodium; - userSettings = { - "breadcrumbs.enabled" = false; - "editor.formatOnPaste" = true; - "editor.formatOnSave" = true; - "editor.formatOnSaveMode" = "file"; - "editor.formatOnType" = true; - "editor.minimap.enabled" = false; - "explorer.confirmDelete" = false; - "extensions.autoCheckUpdates" = false; - "extensions.autoUpdate" = false; - "extensions.closeExtensionDetailsOnViewChange" = true; - "extensions.ignoreRecommendations" = true; - "python.analysis.autoImportCompletions" = true; - "python.analysis.autoSearchPaths" = true; - "python.analysis.completeFunctionParens" = true; - "python.experiments.enabled" = false; - "python.languageServer" = "Pylance"; - "telemetry.telemetryLevel" = "off"; - "terminal.external.linuxExec" = "kitty"; - "update.mode" = "none"; - "update.showReleaseNotes" = false; - "workbench.colorTheme" = "Catppuccin Mocha"; - "workbench.iconTheme" = "catppuccin-mocha"; - "vscode-neovim.neovimExecutablePaths.linux" = lib.getExe data.packages.neovim; - "python.formatting.provider" = "black"; - }; - }; -} diff --git a/home/programs/wlogout/default.nix b/home/programs/wlogout/default.nix deleted file mode 100644 index 952761c3..00000000 --- a/home/programs/wlogout/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ pkgs, config, ...}: { - imports = [./style.nix]; - programs.wlogout = { - enable = true; - layout = [ - { - label = "hibernate"; - action = "systemctl hibernate"; - text = "Hibernate"; - keybind = "h"; - } - { - label = "reboot"; - action = "systemctl reboot"; - text = "Reboot"; - keybind = "r"; - } - { - label = "suspend"; - action = "systemctl suspend"; - text = "Suspend"; - keybind = "u"; - } - { - label = "suspend-then-hibernate"; - action = "systemctl suspend-then-hibernate"; - text = "Supend then Hibernate"; - keybind = "p"; - } - { - label = "lock"; - action = "${pkgs.swaylock-effects}/bin/swaylock"; - text = "Lock"; - keybind = "l"; - } - { - label = "shutdown"; - action = "systemctl poweroff"; - text = "Shutdown"; - keybind = "s"; - } - ]; - }; -} diff --git a/home/programs/wlogout/style.nix b/home/programs/wlogout/style.nix deleted file mode 100644 index 2bf991f6..00000000 --- a/home/programs/wlogout/style.nix +++ /dev/null @@ -1,53 +0,0 @@ -{pkgs, config, ...}: let - pkg = config.programs.wlogout.package; - icon-path = "${pkg}/share/wlogout/icons"; -in { - programs.wlogout.style = '' - * { - background-image: none; - } - window { - background-image: image(url("/home/thehedgehog/bgs/ctp-waves.png"), url("/home/thehedgehog/bgs/ctp-waves.png")); - background-size: cover; - } - button { - color: #cdd6f4; - background-color: #11111b; - border: none; - border-color: #6c7086; - background-repeat: no-repeat; - background-position: center; - background-size: 25%; - } - - button:focus, button:active, button:hover { - background-color: #1e1e2e; - outline-style: none; - border:none; - } - - #lock { - background-image: image(url("${icon-path}/lock.png"), url("${icon-path}/lock.png")); - } - - #suspend-then-hibernate { - background-image: image(url("${icon-path}/suspend.png"), url("${icon-path}/suspend.png")); - } - - #suspend { - background-image: image(url("${icon-path}/suspend.png"), url("${icon-path}/suspend.png")); - } - - #hibernate { - background-image: image(url("${icon-path}/hibernate.png"), url("${icon-path}/hibernate.png")); - } - - #shutdown { - background-image: image(url("${icon-path}/shutdown.png"), url("${icon-path}/shutdown.png")); - } - - #reboot { - background-image: image(url("${icon-path}/reboot.png"), url("${icon-path}/reboot.png")); - } - ''; -} diff --git a/home/programs/zoxide.nix b/home/programs/zoxide.nix deleted file mode 100644 index 11740ce9..00000000 --- a/home/programs/zoxide.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - programs.zoxide = { - enable = true; - enableBashIntegration = true; - enableFishIntegration = true; - enableZshIntegration = true; - }; -} diff --git a/home/programs/zsh.nix b/home/programs/zsh.nix deleted file mode 100644 index 04ad21a9..00000000 --- a/home/programs/zsh.nix +++ /dev/null @@ -1,16 +0,0 @@ -{pkgs, ...}: { - programs.zsh = { - enable = true; - autosuggestion.enable = true; - enableCompletion = true; - enableVteIntegration = true; - syntaxHighlighting = {enable = true;}; - history = { - extended = true; - ignoreDups = false; - share = true; - save = 50000; - size = 10000; - }; - }; -} diff --git a/home/scripts.nix b/home/scripts.nix deleted file mode 100644 index 4c1f89a8..00000000 --- a/home/scripts.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - lib, - pkgs, - config, - ... -}: { - home.activation = { - cloneDoom = lib.hm.dag.entryAfter ["writeBoundary"] '' - if [ ! -d "${config.home.homeDirectory}/.config/emacs" ]; then - $DRY_RUN_CMD ${pkgs.git}/bin/git clone --depth=1 --single-branch "https://github.com/doomemacs/doomemacs" "${config.home.homeDirectory}/.config/emacs" - $DRY_RUN_CMD ${config.home.homeDirectory}/.config/emacs/bin/doom sync -u - fi - ''; - removeLocalFonts = lib.hm.dag.entryAfter ["writeBoundary"] '' - unlink ${config.home.homeDirectory}/.local/share/fonts - ''; - }; -} diff --git a/home/services/emacs.nix b/home/services/emacs.nix deleted file mode 100644 index eeaad5ef..00000000 --- a/home/services/emacs.nix +++ /dev/null @@ -1,8 +0,0 @@ -{programs, ...}: { - services.emacs = { - inherit (programs.emacs) package; - enable = true; - # package = programs.emacs.package; - socketActivation.enable = true; - }; -} diff --git a/home/services/gpg-agent.nix b/home/services/gpg-agent.nix deleted file mode 100644 index 87e6529d..00000000 --- a/home/services/gpg-agent.nix +++ /dev/null @@ -1,19 +0,0 @@ -{pkgs, ...}: { - services.gpg-agent = { - enable = true; - enableExtraSocket = true; - enableScDaemon = true; - enableSshSupport = true; - defaultCacheTtl = 600; - maxCacheTtl = 600; - sshKeys = [ - # My Normal GPG Key(Authentication Subkey) - "485329FEF73C42C6C42879F66C8B971F3FD4A132" - "CFEFCD08CFE6F0849F32ABC9C5CF3158A2FE1392" - ]; - extraConfig = '' - ttyname $GPG_TTY - max-cache-ttl-ssh 600 - ''; - }; -} diff --git a/home/services/kanshi.nix b/home/services/kanshi.nix deleted file mode 100644 index 5ecbe323..00000000 --- a/home/services/kanshi.nix +++ /dev/null @@ -1,40 +0,0 @@ -{pkgs, ...}: { - services.kanshi = { - enable = true; - settings = [ - { - profile = { - name = "default"; - outputs = [ - { - criteria = "eDP-1"; - status = "enable"; - scale = 1.2; - position = "0,0"; - } - ]; - }; - } - { - profile = { - name = "home"; - outputs = [ - { - criteria = "DP-4"; - status = "enable"; - scale = 1.0; - position = "0,0"; - } - { - criteria = "eDP-1"; - # status = "enable"; - status = "disable"; - # scale = 1.0; - # position = "1920,0"; - } - ]; - }; - } - ]; - }; -} diff --git a/home/services/kdeconnect.nix b/home/services/kdeconnect.nix deleted file mode 100644 index e51a3e64..00000000 --- a/home/services/kdeconnect.nix +++ /dev/null @@ -1,6 +0,0 @@ -{pkgs, ...}: { - services.kdeconnect = { - enable = false; - indicator = true; - }; -} diff --git a/home/services/mako.nix b/home/services/mako.nix deleted file mode 100644 index 55eb9eaa..00000000 --- a/home/services/mako.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - services.mako = { - enable = true; - catppuccin.enable = true; - actions = true; - defaultTimeout = 10000; - font = "IBM Plex Sans 14pt"; - icons = true; - layer = "overlay"; - }; -} diff --git a/home/services/mpd.nix b/home/services/mpd.nix deleted file mode 100644 index 035df28c..00000000 --- a/home/services/mpd.nix +++ /dev/null @@ -1,19 +0,0 @@ -{config, ...}: { - services.mpd = { - enable = true; - musicDirectory = "${config.home.homeDirectory}/Music"; - extraConfig = '' - audio_output { - type "fifo" - name "viz" - path "/tmp/mpd.fifo" - format "44100:16:2" - buffer_time "100000" - } - audio_output { - type "pipewire" - name "PipeWire Sound Server" - } - ''; - }; -} diff --git a/home/services/pantalaimon.nix b/home/services/pantalaimon.nix deleted file mode 100644 index 69554f7b..00000000 --- a/home/services/pantalaimon.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - services.pantalaimon = { - enable = true; - settings = { - Default = { - LogLevel = "Debug"; - SSL = true; - }; - thehedgeh0g = { - Homeserver = "https://colony.jupiterbroadcasting.com"; - ListenAddress = "127.0.0.1"; - ListenPort = 8008; - }; - }; - }; -} diff --git a/home/services/swayidle.nix b/home/services/swayidle.nix deleted file mode 100644 index 5818ecfd..00000000 --- a/home/services/swayidle.nix +++ /dev/null @@ -1,21 +0,0 @@ -{pkgs, ...}: { - services.swayidle = { - enable = true; - events = [ - { - event = "lock"; - command = "${pkgs.swaylock}/bin/swaylock -C ~/.config/swaylock/config"; - } - { - event = "after-resume"; - command = ''swaymsg "output * dpms on"''; - } - ]; - timeouts = [ - { - timeout = 180; - command = "${pkgs.swaylock}/bin/swaylock -C ~/.config/swaylock/config"; - } - ]; - }; -} diff --git a/home/services/syncthing.nix b/home/services/syncthing.nix deleted file mode 100644 index bb32d69f..00000000 --- a/home/services/syncthing.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.syncthing = { - enable = true; - tray.enable = true; - }; -} diff --git a/home/services/taskwarrior-sync.nix b/home/services/taskwarrior-sync.nix deleted file mode 100644 index a5aac0a2..00000000 --- a/home/services/taskwarrior-sync.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.taskwarrior-sync = { - enable = false; - frequency = "*:00:00"; - }; -} diff --git a/home/theming.nix b/home/theming.nix deleted file mode 100644 index eb2e44b3..00000000 --- a/home/theming.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - pkgs, - config, - ... -}: { - catppuccin = { - flavor = "mocha"; - accent = "blue"; - }; - gtk = { - enable = true; - catppuccin = { - enable = true; - size = "compact"; - tweaks = ["rimless"]; - cursor.enable = true; - }; - font = { - name = "IBM Plex Mono"; - size = 14; - }; - gtk3.bookmarks = ["file:///${config.home.homeDirectory}/Downloads"]; - iconTheme = { - package = pkgs.papirus-icon-theme; - name = "Papirus-Dark"; - }; - }; -} diff --git a/home/wayland/keybindings.nix b/home/wayland/keybindings.nix deleted file mode 100644 index 970e3845..00000000 --- a/home/wayland/keybindings.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: let - mod = config.wayland.windowManager.sway.config.modifier; - homeDir = config.home.homeDirectory; - menu = config.wayland.windowManager.sway.config.menu; - term = config.wayland.windowManager.sway.config.terminal; - grim = "grim -g"; - slurp-screen = "\"$(slurp -c -b '#1e1e2e80' -o -r)\" -"; - slurp-box = "\"$(slurp -c '#f38ba8ff' -b '#1e1e2e80' -w 1 -d -F 'IBM Plex Mono')\" -"; - satty = "satty -f -"; -in { - wayland.windowManager.sway.config.keybindings = lib.mkOptionDefault { - "${mod}+d" = "${menu}"; - "${mod}+Shift+F" = "exec MOZ_DISABLE_RDD_SANDBOX=1 firefox"; - "${mod}+Return" = "exec ${term}"; - # "${mod}+Shift+Return" = "exec ${pkgs.wezterm}/bin/wezterm"; - "${mod}+x" = "exec wlogout"; - "${mod}+s" = null; - "${mod}+w" = null; - "XF86MonBrightnessDown" = "exec brightnessctl set 5%-"; - "XF86MonBrightnessUp" = "exec brightnessctl set +5%"; - "XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +5%"; - "XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -5%"; - "XF86AudioMute" = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle"; - "XF86AudioMicMute" = "exec pactl set-source-mute @DEFAULT_SOURCE@ toggle"; - "XF86AudioPlay" = "exec playerctl play-pause"; - "XF86AudioNext" = "exec playerctl next"; - "XF86AudioPrev" = "exec playerctl previous"; - "Shift+F3" = "exec ${grim} ${slurp-screen} | ${satty}"; - "Shift+F4" = "exec ${grim} ${slurp-box} | ${satty}"; - "${mod}+Shift+1" = "move container to workspace number 1"; - "${mod}+Shift+2" = "move container to workspace number 2"; - "${mod}+Shift+3" = "move container to workspace number 3"; - "${mod}+Shift+4" = "move container to workspace number 4"; - "${mod}+Shift+5" = "move container to workspace number 5"; - "${mod}+Shift+6" = "move container to workspace number 6"; - "${mod}+Shift+7" = "move container to workspace number 7"; - "${mod}+Shift+8" = "move container to workspace number 8"; - "${mod}+Shift+9" = "move container to workspace number 9"; - "${mod}+Shift+0" = "move container to workspace number 10"; - "${mod}+0" = "workspace number 10"; - }; -} diff --git a/home/wayland/misc.nix b/home/wayland/misc.nix deleted file mode 100644 index e69de29b..00000000 diff --git a/home/wayland/sway.nix b/home/wayland/sway.nix deleted file mode 100644 index a87c4697..00000000 --- a/home/wayland/sway.nix +++ /dev/null @@ -1,134 +0,0 @@ -{ - pkgs, - config, - ... -}: let - term = config.wayland.windowManager.sway.config.terminal; - homeDir = config.home.homeDirectory; -in { - imports = [./keybindings.nix ./swaylock.nix ./waybar.nix]; - wayland.windowManager.sway = { - enable = true; - package = null; - catppuccin.enable = true; - # nix-community/home-manager/issues/5311 - checkConfig = false; - wrapperFeatures.base = true; - wrapperFeatures.gtk = true; - extraConfig = '' - default_border pixel - focus_on_window_activation smart - ''; - systemd = { - enable = true; - xdgAutostart = true; - }; - config = { - terminal = "${pkgs.kitty}/bin/kitty"; - menu = "exec ${term} --detach --class=launcher -o initial_window_height=500 -o initial_window_width=500 -o font_size=16 ${pkgs.sway-launcher-desktop}/bin/sway-launcher-desktop"; - modifier = "Mod4"; - bars = [{command = "true";}]; - focus = { - followMouse = true; - mouseWarping = true; - newWindow = "smart"; - }; - fonts = { - names = ["IBM Plex Sans"]; - style = "Regular"; - size = 12.0; - }; - gaps = { - inner = 4; - outer = 4; - smartBorders = "off"; - smartGaps = false; - }; - input = { - "type:keyboard" = {xkb_options = "caps:escape";}; - "type:mouse" = {accel_profile = "flat";}; - "type:touchpad" = { - accel_profile = "adaptive"; - scroll_factor = "1.5"; - tap = "enabled"; - }; - }; - modes = { - resize = { - Escape = "mode default"; - Return = "mode default"; - Up = "resize shrink height 10 px"; - Down = "resize grow height 10 px"; - Left = "resize shrink width 10 px"; - Right = "resize grow width 10 px"; - h = "resize shrink width 10 px"; - j = "resize grow height 10 px"; - k = "resize shrink height 10 px"; - l = "resize grow width 10 px"; - }; - }; - output = { - eDP-1 = {scale = "1.2";}; - "*" = {bg = "${homeDir}/bgs/xenia-hangout-mocha.png fill";}; - }; - startup = [ - {command = "${pkgs.dex}/bin/dex -a";} - {command = "${homeDir}/scripts/unfuck-xdg-portals.fish";} - ]; - window = { - commands = [ - { - command = "inhibit_idle fullscreen"; - criteria = {class = "Chromium|zoom|Firefox";}; - } - { - command = "floating enable, sticky enable, resize set 30 ppt 50 ppt, border pixel 4"; - criteria = {app_id = "^launcher$";}; - } - { - command = "resize set 20 ppt"; - criteria = {title = "Mumble PTT";}; - } - ]; - }; - colors = { - background = "$base"; - focused = { - border = "$pink"; - background = "$base"; - text = "$text"; - indicator = "$rosewater"; - childBorder = "$pink"; - }; - focusedInactive = { - border = "$mauve"; - background = "$base"; - text = "$text"; - indicator = "$rosewater"; - childBorder = "$mauve"; - }; - unfocused = { - border = "$mauve"; - background = "$base"; - text = "$text"; - indicator = "$rosewater"; - childBorder = "$mauve"; - }; - urgent = { - border = "$peach"; - background = "$base"; - text = "$peach"; - indicator = "$overlay0"; - childBorder = "$peach"; - }; - placeholder = { - border = "$overlay0"; - background = "$base"; - text = "$text"; - indicator = "$overlay0"; - childBorder = "$overlay0"; - }; - }; - }; - }; -} diff --git a/home/wayland/swaylock.nix b/home/wayland/swaylock.nix deleted file mode 100644 index 393aec93..00000000 --- a/home/wayland/swaylock.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - programs.swaylock = { - enable = true; - catppuccin.enable = true; - settings = { - daemonize = true; - image = "/home/thehedgehog/bgs/ctp-waves.png"; - scaling = "fill"; - indicator-idle-visible = true; - line-uses-ring = true; - ignore-empty-password = true; - clock = true; - indicator = true; - timestr = "%T"; - effect-blur = "5x5"; - - font = "IBM Plex Sans"; - font-size = 20; - - indicator-radius = 100; - indicator-thickness = 5; - }; - }; -} diff --git a/home/wayland/waybar.nix b/home/wayland/waybar.nix deleted file mode 100644 index 5f50ea0c..00000000 --- a/home/wayland/waybar.nix +++ /dev/null @@ -1,111 +0,0 @@ -{ - pkgs, - lib, - ... -}: { - programs.waybar = { - enable = true; - catppuccin.enable = false; - systemd.enable = true; - systemd.target = "sway-session.target"; - # style = "/home/thehedgehog/.config/waybar/style.css" - settings = { - mainBar = { - layer = "top"; - position = "top"; - height = 32; - modules-left = ["sway/workspaces" "sway/mode"]; - modules-center = ["custom/media"]; - modules-right = [ - "idle_inhibitor" - "wireplumber" - "network" - "temperature" - "backlight" - "battery" - "clock" - "tray" - ]; - "sway/workspaces" = { - disable-scroll = true; - enable-bar-scroll = false; - active-only = false; - all-outputs = false; - format = "{icon}"; - }; - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - "activated" = ""; - "deactivated" = ""; - }; - }; - "tray" = { - icon-size = 25; - spacing = 12; - }; - "clock" = { - tooltip-format = "{calendar}"; - format = "{:%H:%M:%S}  "; - format-alt = "{%d %b %Y}"; - interval = 1; - }; - "cpu" = { - format = "{usage}% "; - interval = 5; - tooltip = false; - }; - "memory" = {format = "{}% ";}; - "temperature" = { - critical-threshold = 80; - format = "{temperatureC}°C {icon}"; - format-icons = ["" "" "" "" ""]; - }; - "backlight" = { - format = "{percent}% {icon}"; - format-icons = ["󰃚" "󰃛" "󰃜" "󰃝" "󰃞" "󰃟" "󰃠"]; - }; - "battery" = { - states = { - good = 80; - warning = 30; - critical = 15; - }; - format = "{capacity}% {icon}"; - format-charging = "{capacity}% 󰂄"; - format-plugged = "{capacity}% "; - format-alt = "{time} {icon}"; - format-icons = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; - }; - "network" = { - format-wifi = "{essid} "; - format-ethernet = "{ifname}: {ipaddr}/{cidr} 󰈀"; - format-linked = "{ifname} (No IP) 󰄡"; - format-disconnected = "Disconnected! ⚠"; - format-alt = "{ifname}: {ipaddr}/{cidr}"; - on-click = lib.getExe pkgs.networkmanagerapplet; - }; - "wireplumber" = { - format = "{volume}% {icon}"; - format-muted = "󰝟"; - format-icons = ["" "" ""]; - on-click = lib.getExe pkgs.helvum; - }; - "custom/media" = { - format = "{icon}{}"; - return-type = "json"; - format-icons = { - Paused = " "; - Playing = " "; - }; - max-length = 70; - exec = '' - ${ - lib.getExe pkgs.playerctl - } -a metadata --format '{"text": "{{playerName}}: {{artist}} - {{markup_escape(title)}}", "tooltip": "{{playerName}} : {{markup_escape(title)}}", "alt": "{{status}}", "class": "{{status}}"}' -F''; - on-click = "${lib.getExe pkgs.playerctl} play-pause"; - }; - }; - }; - }; -} diff --git a/home/xdg.nix b/home/xdg.nix deleted file mode 100644 index 1889a568..00000000 --- a/home/xdg.nix +++ /dev/null @@ -1,79 +0,0 @@ -{config, lib, pkgs, ...}: let -homeDir = config.home.homeDirectory; -in { - xdg = { - enable = true; - mime.enable = true; - configHome = lib.mkForce "${homeDir}/.config"; - dataHome = lib.mkForce "${homeDir}/.local/share"; - portal = { - enable = true; - xdgOpenUsePortal = true; - extraPortals = [ - pkgs.xdg-desktop-portal-gtk - pkgs.xdg-desktop-portal-wlr - ]; - config = { - common = { - default = [ - "gtk" - ]; - "org.freedesktop.impl.portal.Screenshot" = ["wlr"]; - "org.freedesktop.impl.portal.ScreenCast" = ["wlr"]; - }; - }; - }; - mimeApps = { - enable = true; - associations.added = { - "application/pdf" = ["firefox.desktop"]; - "application/rdf+xml" = ["firefox.desktop"]; - "application/rss+xml" = ["firefox.desktop"]; - "application/xhtml+xml" = ["firefox.desktop"]; - "application/xhtml_xml" = ["firefox.desktop"]; - "application/xml" = ["firefox.desktop"]; - "image/gif" = ["viewnior.desktop" "firefox.desktop"]; - "image/jpeg" = ["viewnior.desktop" "firefox.desktop"]; - "image/png" = ["viewnior.desktop" "firefox.desktop"]; - "image/webp" = ["viewnior.desktop" "firefox.desktop"]; - "text/html" = ["firefox.desktop"]; - "text/xml" = ["firefox.desktop"]; - "x-scheme-handler/http" = ["firefox.desktop"]; - "x-scheme-handler/https" = ["firefox.desktop"]; - "x-scheme-handler/about" = ["firefox.desktop"]; - "x-scheme-handler/unknown" = ["firefox.desktop"]; - "x-scheme-handler/mailto" = ["thunderbird.desktop" "firefox.desktop"]; - "x-scheme-handler/webcal" = ["firefox.desktop" "thunderbird.desktop"]; - }; - defaultApplications = { - "application/pdf" = ["firefox.desktop"]; - "application/rdf+xml" = ["firefox.desktop"]; - "application/rss+xml" = ["firefox.desktop"]; - "application/xhtml+xml" = ["firefox.desktop"]; - "application/xhtml_xml" = ["firefox.desktop"]; - "application/xml" = ["firefox.desktop"]; - "image/gif" = ["viewnior.desktop" "firefox.desktop"]; - "image/jpeg" = ["viewnior.desktop" "firefox.desktop"]; - "image/png" = ["viewnior.desktop" "firefox.desktop"]; - "image/webp" = ["viewnior.desktop" "firefox.desktop"]; - "text/html" = ["firefox.desktop"]; - "text/xml" = ["firefox.desktop"]; - "x-scheme-handler/http" = ["firefox.desktop"]; - "x-scheme-handler/https" = ["firefox.desktop"]; - "x-scheme-handler/about" = ["firefox.desktop"]; - "x-scheme-handler/unknown" = ["firefox.desktop"]; - "x-scheme-handler/mailto" = ["thunderbird.desktop" "firefox.desktop"]; - "x-scheme-handler/webcal" = ["firefox.desktop" "thunderbird.desktop"]; - "x-scheme-handler/steam" = ["steam-native.desktop" "steam.desktop"]; - "x-scheme-handler/steamlink" = ["steam-native.desktop" "steam.desktop"]; - }; - }; - userDirs = { - enable = true; - createDirectories = true; - music = "$HOME/music"; - publicShare = "$HOME/.xdg/share"; - templates = "$HOME/.xdg/templates"; - }; - }; -} -- 2.51.2 From d06987c6b4e813b6b8e0207dab72cd008ef28787 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 18:38:35 -0400 Subject: [PATCH 008/105] [lib] Remove some legacy lib stuff --- lib/data/packages/default.nix.bak | 9 ------ lib/hosts/default.nix.bak | 48 ------------------------------- 2 files changed, 57 deletions(-) delete mode 100644 lib/data/packages/default.nix.bak delete mode 100644 lib/hosts/default.nix.bak diff --git a/lib/data/packages/default.nix.bak b/lib/data/packages/default.nix.bak deleted file mode 100644 index 55a6f713..00000000 --- a/lib/data/packages/default.nix.bak +++ /dev/null @@ -1,9 +0,0 @@ -{ - inputs, - pkgs, - ... -}: { - data.packages = { - nvim = inputs.nvim.packages.${pkgs.system}.neovim; - }; -} diff --git a/lib/hosts/default.nix.bak b/lib/hosts/default.nix.bak deleted file mode 100644 index 36cc5efa..00000000 --- a/lib/hosts/default.nix.bak +++ /dev/null @@ -1,48 +0,0 @@ -{ lib, inputs, namespace, snowfall-inputs, ...}: { - hosts = { - # Create a user - mkUser = { - user, - profile, - }: { - home-manager.users.${user} = import ../home/profiles/${profile}.nix; - users.users.${user}.isNormalUser = true; - }; - mkHost = { - hostname, - # System architecture - system ? "x86_64-linux", - # The profile to apply - profile ? "server", - # above, but for Home Manager - hmProfile ? profile, - # The list of users to deploy profiles for - users ? [ - "thehedgehog" - "pyrox" - ], - # The core count, useful for setting some nix settings - coreCount, - # Any extra modules to load aside from the default set - extraModules ? [], - # Above, but for Home Manager - extraHMModules ? [], - }: let - userProfiles = - lib.forEach users (user: mkUser {inherit profile user;}); - in (lib.nixosSystem { - inherit system; - modules = builtins.concatLists [ - [ - inputs.self.nixosModules.default - # This host's config files - ../hosts/${hostname}/configuration.nix - ../hosts/${hostname}/bootloader.nix - ] - extraModules - userProfiles - ]; - specialArgs = {inherit self inputs pkgs data;}; - }); - } -} -- 2.51.2 From 0cee9e47b5dcb0b8a2998338381246a3d24fdad9 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 18:44:36 -0400 Subject: [PATCH 009/105] [meta] Move from `data` to `lib.py.data` --- homes/x86_64-linux/pyrox/programs/gh.nix | 4 ++-- homes/x86_64-linux/pyrox/programs/git.nix | 6 +++--- homes/x86_64-linux/pyrox/programs/kitty.nix | 4 ++-- homes/x86_64-linux/pyrox/programs/neovim.nix | 4 +--- homes/x86_64-linux/pyrox/programs/vscodium.nix | 3 +-- modules/home/profiles/development/default.nix | 4 +--- modules/home/profiles/gui/default.nix | 2 +- modules/nixos/defaultConfig/packages.nix | 2 +- modules/nixos/defaultConfig/users.nix | 3 +-- systems/x86_64-linux/marvin/services/authentik.nix | 4 ++-- systems/x86_64-linux/marvin/services/buildbot.nix | 6 +++--- systems/x86_64-linux/marvin/services/deemix.nix | 2 +- systems/x86_64-linux/marvin/services/git.nix | 4 ++-- systems/x86_64-linux/marvin/services/grafana.nix | 6 +++--- systems/x86_64-linux/marvin/services/iceshrimp.nix | 4 ++-- systems/x86_64-linux/marvin/services/matrix.nix | 4 ++-- systems/x86_64-linux/marvin/services/nextcloud/default.nix | 6 +++--- .../x86_64-linux/marvin/services/nextcloud/imaginary.nix | 4 ++-- systems/x86_64-linux/marvin/services/nextcloud/office.nix | 4 ++-- systems/x86_64-linux/marvin/services/nginx.nix | 4 ++-- systems/x86_64-linux/marvin/services/planka.nix | 4 ++-- systems/x86_64-linux/marvin/services/radicale.nix | 4 ++-- systems/x86_64-linux/marvin/services/redlib.nix | 4 ++-- systems/x86_64-linux/marvin/services/vaultwarden.nix | 4 ++-- systems/x86_64-linux/marvin/services/webmentiond.nix | 5 ++--- systems/x86_64-linux/zaphod/programs/misc.nix | 2 +- 26 files changed, 48 insertions(+), 55 deletions(-) diff --git a/homes/x86_64-linux/pyrox/programs/gh.nix b/homes/x86_64-linux/pyrox/programs/gh.nix index 591316f9..17d6dad4 100644 --- a/homes/x86_64-linux/pyrox/programs/gh.nix +++ b/homes/x86_64-linux/pyrox/programs/gh.nix @@ -1,9 +1,9 @@ -{pkgs, data, lib, ...}: { +{pkgs, lib, ...}: { programs.gh = { enable = true; gitCredentialHelper.enable = true; settings = { - editor = lib.getExe data.packages.nvim; + editor = lib.getExe pkgs.py.nvim; git_protocol = "https"; browser = "${pkgs.firefox-wayland}/bin/firefox"; prompt = "enabled"; diff --git a/homes/x86_64-linux/pyrox/programs/git.nix b/homes/x86_64-linux/pyrox/programs/git.nix index 5d9e3ba0..abe3b090 100644 --- a/homes/x86_64-linux/pyrox/programs/git.nix +++ b/homes/x86_64-linux/pyrox/programs/git.nix @@ -1,8 +1,8 @@ -{pkgs, lib, data, ...}: +{pkgs, lib, ...}: { programs.git = { enable = true; - package = pkgs.my-pkgs.customGit; + package = pkgs.py.customGit; aliases = { a = "add -p"; co = "checkout"; @@ -38,7 +38,7 @@ options.line-numbers = true; }; extraConfig = { - core.editor = lib.getExe data.packages.nvim; + core.editor = lib.getExe pkgs.py.nvim; init.defaultBranch = "main"; pull.rebase = false; # gpg.format = "ssh"; diff --git a/homes/x86_64-linux/pyrox/programs/kitty.nix b/homes/x86_64-linux/pyrox/programs/kitty.nix index 2a44ebd4..0b1ca9a2 100644 --- a/homes/x86_64-linux/pyrox/programs/kitty.nix +++ b/homes/x86_64-linux/pyrox/programs/kitty.nix @@ -1,4 +1,4 @@ -{pkgs, lib, data, ...}: { +{pkgs, lib, ...}: { programs.kitty = { enable = true; catppuccin.enable = true; @@ -35,7 +35,7 @@ tab_bar_min_tabs = 2; shell = "fish"; - editor = "${lib.getExe data.packages.nvim}"; + editor = "${lib.getExe pkgs.py.nvim}"; allow_remote_control = "socket-only"; listen_on = "unix:/tmp/mykitty"; update_check_interval = 0; diff --git a/homes/x86_64-linux/pyrox/programs/neovim.nix b/homes/x86_64-linux/pyrox/programs/neovim.nix index e9f1e1af..05b803f1 100644 --- a/homes/x86_64-linux/pyrox/programs/neovim.nix +++ b/homes/x86_64-linux/pyrox/programs/neovim.nix @@ -1,12 +1,10 @@ { pkgs, - lib, - data, ... }: { programs.neovim = { enable = true; - package = data.packages.nvim; + package = pkgs.py.nvim; viAlias = true; vimAlias = true; vimdiffAlias = true; diff --git a/homes/x86_64-linux/pyrox/programs/vscodium.nix b/homes/x86_64-linux/pyrox/programs/vscodium.nix index 24ec33e3..4b7e7dd6 100644 --- a/homes/x86_64-linux/pyrox/programs/vscodium.nix +++ b/homes/x86_64-linux/pyrox/programs/vscodium.nix @@ -1,6 +1,5 @@ { pkgs, - data, lib, ... }: { @@ -30,7 +29,7 @@ "update.showReleaseNotes" = false; "workbench.colorTheme" = "Catppuccin Mocha"; "workbench.iconTheme" = "catppuccin-mocha"; - "vscode-neovim.neovimExecutablePaths.linux" = lib.getExe data.packages.neovim; + "vscode-neovim.neovimExecutablePaths.linux" = lib.getExe pkgs.py.neovim; "python.formatting.provider" = "black"; }; }; diff --git a/modules/home/profiles/development/default.nix b/modules/home/profiles/development/default.nix index bd9cd711..3b035677 100644 --- a/modules/home/profiles/development/default.nix +++ b/modules/home/profiles/development/default.nix @@ -1,5 +1,4 @@ { - inputs, pkgs, ... }: let @@ -12,9 +11,8 @@ in { colmena customPython editorconfig-core-c - my-pkgs.customGit + py.customGit nil nixd - # python311 ]; } diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix index 8cf7dd99..cc0db502 100644 --- a/modules/home/profiles/gui/default.nix +++ b/modules/home/profiles/gui/default.nix @@ -44,7 +44,7 @@ # ] ++ lib.optionals games [ # factorio-experimental lutris - # my-pkgs.olympus + # py.olympus prismlauncher protontricks proton-caller diff --git a/modules/nixos/defaultConfig/packages.nix b/modules/nixos/defaultConfig/packages.nix index 78cfd60e..aa9fbe25 100644 --- a/modules/nixos/defaultConfig/packages.nix +++ b/modules/nixos/defaultConfig/packages.nix @@ -3,7 +3,7 @@ direnv doggo fzf - my-pkgs.customGit + py.customGit kitty.terminfo lazygit nix-output-monitor diff --git a/modules/nixos/defaultConfig/users.nix b/modules/nixos/defaultConfig/users.nix index 99b2ea3b..29c9678e 100644 --- a/modules/nixos/defaultConfig/users.nix +++ b/modules/nixos/defaultConfig/users.nix @@ -1,7 +1,6 @@ { lib, pkgs, - data, ... }: { users.users = { @@ -20,6 +19,6 @@ withNodeJs = true; withPython3 = true; withRuby = false; - package = data.packages.nvim; + package = pkgs.py.nvim; }; } diff --git a/systems/x86_64-linux/marvin/services/authentik.nix b/systems/x86_64-linux/marvin/services/authentik.nix index ab858b4a..9108536b 100644 --- a/systems/x86_64-linux/marvin/services/authentik.nix +++ b/systems/x86_64-linux/marvin/services/authentik.nix @@ -1,5 +1,5 @@ -{config, data, lib, ...}: let - d = data.services.authentik; +{config, lib, ...}: let + d = lib.py.data.services.authentik; in { virtualisation.oci-containers.containers = let authentikVersion = "2024.2"; diff --git a/systems/x86_64-linux/marvin/services/buildbot.nix b/systems/x86_64-linux/marvin/services/buildbot.nix index fcc16673..93306a28 100644 --- a/systems/x86_64-linux/marvin/services/buildbot.nix +++ b/systems/x86_64-linux/marvin/services/buildbot.nix @@ -1,7 +1,7 @@ -{config, data, ...}: let +{config, lib, ...}: let as = config.age.secrets; - d = data.services.buildbot; - g = data.services.git; + d = lib.py.data.services.buildbot; + g = lib.py.data.services.git; bbSecret = { owner = "buildbot"; group = "buildbot"; diff --git a/systems/x86_64-linux/marvin/services/deemix.nix b/systems/x86_64-linux/marvin/services/deemix.nix index 56ed4414..1490c9e0 100644 --- a/systems/x86_64-linux/marvin/services/deemix.nix +++ b/systems/x86_64-linux/marvin/services/deemix.nix @@ -1,5 +1,5 @@ {data, lib, ...}: let - d = data.services.deemix; + d = lib.py.data.services.deemix; in { virtualisation.oci-containers.containers.deemix = { image = "registry.gitlab.com/bockiii/deemix-docker"; diff --git a/systems/x86_64-linux/marvin/services/git.nix b/systems/x86_64-linux/marvin/services/git.nix index 2e60eed6..badff4db 100644 --- a/systems/x86_64-linux/marvin/services/git.nix +++ b/systems/x86_64-linux/marvin/services/git.nix @@ -1,6 +1,6 @@ { config, - data, + lib, ... }: let cfg = config.services.forgejo.settings; @@ -14,7 +14,7 @@ group = "forgejo"; }; - d = data.services.git; + d = lib.data.services.git; in { pyrox.services.forgejo-runner = { enable = true; diff --git a/systems/x86_64-linux/marvin/services/grafana.nix b/systems/x86_64-linux/marvin/services/grafana.nix index 92eb3864..1829859d 100644 --- a/systems/x86_64-linux/marvin/services/grafana.nix +++ b/systems/x86_64-linux/marvin/services/grafana.nix @@ -1,6 +1,6 @@ -{config, data, ...}: let - d = data.services.grafana; - a = data.services.authentik; +{config, lib, ...}: let + d = lib.py.data.services.grafana; + a = lib.py.data.services.authentik; in { services.grafana = { enable = true; diff --git a/systems/x86_64-linux/marvin/services/iceshrimp.nix b/systems/x86_64-linux/marvin/services/iceshrimp.nix index 998a17d5..83a2c5ca 100644 --- a/systems/x86_64-linux/marvin/services/iceshrimp.nix +++ b/systems/x86_64-linux/marvin/services/iceshrimp.nix @@ -2,11 +2,11 @@ config, inputs, pkgs, - data, + lib, ... }: let - d = data.services.iceshrimp; + d = lib.data.services.iceshrimp; package = inputs.iceshrimp.packages.x86_64-linux.iceshrimp-pre.overrideAttrs (old: rec { diff --git a/systems/x86_64-linux/marvin/services/matrix.nix b/systems/x86_64-linux/marvin/services/matrix.nix index 5de4e667..8be2ee1a 100644 --- a/systems/x86_64-linux/marvin/services/matrix.nix +++ b/systems/x86_64-linux/marvin/services/matrix.nix @@ -2,10 +2,10 @@ config, pkgs, inputs, - data, + lib, ... }: let - d = data.services.matrix-server; + d = lib.py.data.services.matrix-server; in { services.matrix-conduit = { enable = true; diff --git a/systems/x86_64-linux/marvin/services/nextcloud/default.nix b/systems/x86_64-linux/marvin/services/nextcloud/default.nix index 2dac9763..815f2e40 100644 --- a/systems/x86_64-linux/marvin/services/nextcloud/default.nix +++ b/systems/x86_64-linux/marvin/services/nextcloud/default.nix @@ -1,6 +1,6 @@ -{config, pkgs, lib, data, ...}: let - d = data.services.nextcloud; - i = data.services.nextcloud-imaginary; +{config, pkgs, lib, ...}: let + d = lib.py.data.services.nextcloud; + i = lib.py.data.services.nextcloud-imaginary; in { imports = [ ./office.nix diff --git a/systems/x86_64-linux/marvin/services/nextcloud/imaginary.nix b/systems/x86_64-linux/marvin/services/nextcloud/imaginary.nix index 98cb242e..cfaf81d1 100644 --- a/systems/x86_64-linux/marvin/services/nextcloud/imaginary.nix +++ b/systems/x86_64-linux/marvin/services/nextcloud/imaginary.nix @@ -1,5 +1,5 @@ -{ data, ...}: let - d = data.services.nextcloud-imaginary; +{ lib, ...}: let + d = lib.py.data.services.nextcloud-imaginary; in{ services.imaginary = { enable = true; diff --git a/systems/x86_64-linux/marvin/services/nextcloud/office.nix b/systems/x86_64-linux/marvin/services/nextcloud/office.nix index 6e701e84..d073e4dc 100644 --- a/systems/x86_64-linux/marvin/services/nextcloud/office.nix +++ b/systems/x86_64-linux/marvin/services/nextcloud/office.nix @@ -1,5 +1,5 @@ -{ data, ...}: let - d = data.services.nextcloud-office; +{ lib, ...}: let + d = lib.py.data.services.nextcloud-office; in { virtualisation.oci-containers.containers.collabora-office = { image = "collabora/code"; diff --git a/systems/x86_64-linux/marvin/services/nginx.nix b/systems/x86_64-linux/marvin/services/nginx.nix index fec2fc8d..91171dee 100644 --- a/systems/x86_64-linux/marvin/services/nginx.nix +++ b/systems/x86_64-linux/marvin/services/nginx.nix @@ -1,5 +1,5 @@ -{pkgs, data, ...}: let - n = data.services.nextcloud; +{lib, ...}: let + n = lib.py.data.services.nextcloud; in { services.nginx = { virtualHosts = { diff --git a/systems/x86_64-linux/marvin/services/planka.nix b/systems/x86_64-linux/marvin/services/planka.nix index 70349c00..2590aa64 100644 --- a/systems/x86_64-linux/marvin/services/planka.nix +++ b/systems/x86_64-linux/marvin/services/planka.nix @@ -1,6 +1,6 @@ -{ config, data, ... }: let +{ config, lib, ... }: let dataDir = "/var/lib/planka"; - d = data.services.planka; + d = lib.py.data.services.planka; in { virtualisation.oci-containers.containers = { planka-server = { diff --git a/systems/x86_64-linux/marvin/services/radicale.nix b/systems/x86_64-linux/marvin/services/radicale.nix index 662df1cf..94a81459 100644 --- a/systems/x86_64-linux/marvin/services/radicale.nix +++ b/systems/x86_64-linux/marvin/services/radicale.nix @@ -1,5 +1,5 @@ -{pkgs, data, config, ...}: let - d = data.services.radicale; +{pkgs, lib, config, ...}: let + d = lib.py.data.services.radicale; p = toString d.port; in { services.radicale = { diff --git a/systems/x86_64-linux/marvin/services/redlib.nix b/systems/x86_64-linux/marvin/services/redlib.nix index 8b8bf524..cf2bdd84 100644 --- a/systems/x86_64-linux/marvin/services/redlib.nix +++ b/systems/x86_64-linux/marvin/services/redlib.nix @@ -1,5 +1,5 @@ -{ pkgs, data, ...}: let - d = data.services.redlib; +{ pkgs, lib, ...}: let + d = lib.py.data.services.redlib; in { services.libreddit = { enable = true; diff --git a/systems/x86_64-linux/marvin/services/vaultwarden.nix b/systems/x86_64-linux/marvin/services/vaultwarden.nix index 3d477960..d6163983 100644 --- a/systems/x86_64-linux/marvin/services/vaultwarden.nix +++ b/systems/x86_64-linux/marvin/services/vaultwarden.nix @@ -1,6 +1,6 @@ -{pkgs, config, data, ...}: let +{pkgs, config, lib, ...}: let -d = data.services.vaultwarden; +d = lib.py.data.services.vaultwarden; vaultwardenSecret = { owner = "vaultwarden"; diff --git a/systems/x86_64-linux/marvin/services/webmentiond.nix b/systems/x86_64-linux/marvin/services/webmentiond.nix index 77dd446c..a00bb8ec 100644 --- a/systems/x86_64-linux/marvin/services/webmentiond.nix +++ b/systems/x86_64-linux/marvin/services/webmentiond.nix @@ -1,10 +1,9 @@ { config, - pkgs, - data, + lib, ... }: let - d = data.services.webmentiond; + d = lib.py.data.services.webmentiond; p = toString d.port; in { virtualisation.oci-containers.containers.webmentiond = { diff --git a/systems/x86_64-linux/zaphod/programs/misc.nix b/systems/x86_64-linux/zaphod/programs/misc.nix index f7a1fab2..51af6a9d 100644 --- a/systems/x86_64-linux/zaphod/programs/misc.nix +++ b/systems/x86_64-linux/zaphod/programs/misc.nix @@ -5,7 +5,7 @@ programs.fish.enable = true; # Git programs.git.enable = true; - programs.git.package = pkgs.my-pkgs.customGit; + programs.git.package = pkgs.py.customGit; programs.git.lfs.enable = true; # KDEConnect programs.kdeconnect.enable = true; -- 2.51.2 From bf16926ba528d750002b2456d0b2b49cf5aaeb83 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 21:31:36 -0400 Subject: [PATCH 010/105] [meta] Linting Manually clean all deadnix and statix lints. --- flake.nix | 93 +++++++++++-------- homes/x86_64-linux/pyrox/programs/email.nix | 9 -- homes/x86_64-linux/pyrox/programs/git.nix | 8 +- .../pyrox/programs/nushell/default.nix | 2 +- homes/x86_64-linux/pyrox/programs/obs.nix | 1 - homes/x86_64-linux/pyrox/programs/pandoc.nix | 6 +- .../pyrox/programs/wlogout/default.nix | 2 +- .../pyrox/programs/wlogout/style.nix | 2 +- homes/x86_64-linux/pyrox/programs/zsh.nix | 2 +- .../x86_64-linux/pyrox/services/gpg-agent.nix | 2 +- homes/x86_64-linux/pyrox/services/kanshi.nix | 2 +- .../pyrox/services/kdeconnect.nix | 2 +- lib/default.nix | 2 - modules/home/profiles/base/default.nix | 10 +- modules/home/profiles/cli/default.nix | 30 +++--- modules/home/profiles/desktop/default.nix | 1 - modules/home/profiles/gui/default.nix | 3 +- modules/home/profiles/server/default.nix | 2 - modules/home/wayland/default.nix | 1 - modules/home/wayland/keybindings.nix | 5 +- modules/home/wayland/misc.nix | 0 modules/nixos/defaultConfig/nixpkgsConfig.nix | 2 +- modules/nixos/defaultConfig/security.nix | 10 +- overlays/alejandra/default.nix | 1 + overlays/mesa/default.nix | 1 + overlays/nix-index/default.nix | 1 + overlays/{sway => sway-unwrapped}/default.nix | 7 +- overlays/tdlib-purple/default.nix | 30 ------ overlays/treesitter/default.nix | 21 ----- packages/caddy/default.nix | 2 - packages/go-jamming/default.nix | 1 - packages/olympus/default.nix | 4 +- shells/default/default.nix | 8 +- systems/x86_64-linux/marvin/firewall.nix | 10 +- systems/x86_64-linux/marvin/services/bots.nix | 10 +- .../x86_64-linux/marvin/services/buildbot.nix | 20 ++-- systems/x86_64-linux/marvin/services/git.nix | 8 +- .../x86_64-linux/marvin/services/golink.nix | 5 - .../marvin/services/iceshrimp.nix | 8 +- .../x86_64-linux/marvin/services/matrix.nix | 3 +- .../marvin/services/nextcloud/imaginary.nix | 2 +- .../x86_64-linux/marvin/services/nginx.nix | 2 +- .../x86_64-linux/marvin/services/podman.nix | 25 ++--- .../x86_64-linux/marvin/services/prosody.nix | 3 + .../x86_64-linux/marvin/services/radicale.nix | 2 +- .../x86_64-linux/marvin/services/redlib.nix | 2 +- systems/x86_64-linux/prefect/bootloader.nix | 26 +++--- systems/x86_64-linux/prefect/dn42/bgp.nix | 2 +- .../x86_64-linux/prefect/dn42/services.nix | 11 ++- systems/x86_64-linux/prefect/dn42/tunnels.nix | 2 +- .../x86_64-linux/prefect/dn42/wireguard.nix | 8 +- systems/x86_64-linux/prefect/networking.nix | 2 - .../x86_64-linux/prefect/secrets/secrets.nix | 1 + .../prefect/services/mailserver/default.nix | 9 +- .../prefect/services/nginx/default.nix | 12 +-- .../prefect/services/tailscale.nix | 8 +- systems/x86_64-linux/thought/bootloader.nix | 26 +++--- systems/x86_64-linux/thought/firewall.nix | 8 +- systems/x86_64-linux/thought/networking.nix | 2 - .../x86_64-linux/thought/secrets/secrets.nix | 4 + .../thought/services/tailscale.nix | 8 +- systems/x86_64-linux/zaphod/bootloader.nix | 1 - systems/x86_64-linux/zaphod/default.nix | 7 +- systems/x86_64-linux/zaphod/kde.nix | 13 ++- systems/x86_64-linux/zaphod/misc.nix | 27 +++--- systems/x86_64-linux/zaphod/programs/misc.nix | 28 +++--- .../x86_64-linux/zaphod/services/docker.nix | 8 +- systems/x86_64-linux/zaphod/services/misc.nix | 1 - 68 files changed, 277 insertions(+), 310 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/email.nix delete mode 100644 lib/default.nix delete mode 100644 modules/home/wayland/misc.nix rename overlays/{sway => sway-unwrapped}/default.nix (62%) delete mode 100644 overlays/tdlib-purple/default.nix delete mode 100644 overlays/treesitter/default.nix diff --git a/flake.nix b/flake.nix index e0d2784f..198e6233 100644 --- a/flake.nix +++ b/flake.nix @@ -60,9 +60,11 @@ # Actual inputs agenix = { url = "github:ryantm/agenix"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.systems.follows = "systems"; - inputs.home-manager.follows = "home-manager"; + inputs = { + nixpkgs.follows = "nixpkgs"; + systems.follows = "systems"; + home-manager.follows = "home-manager"; + }; }; alejandra = { url = "github:kamadorueda/alejandra"; @@ -76,13 +78,17 @@ }; conduit = { url = "gitlab:famedly/conduit"; - inputs.flake-utils.follows = "flake-utils"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-compat.follows = "flake-compat"; - inputs.attic.inputs.flake-utils.follows = "flake-utils"; - inputs.attic.inputs.flake-compat.follows = "flake-compat"; - inputs.attic.inputs.nixpkgs.follows = "nixpkgs"; - inputs.attic.inputs.nixpkgs-stable.follows = "nixpkgs"; + inputs = { + flake-utils.follows = "flake-utils"; + nixpkgs.follows = "nixpkgs"; + flake-compat.follows = "flake-compat"; + attic.inputs = { + flake-utils.follows = "flake-utils"; + flake-compat.follows = "flake-compat"; + nixpkgs.follows = "nixpkgs"; + nixpkgs-stable.follows = "nixpkgs"; + }; + }; }; ctp = { url = "github:catppuccin/nix"; @@ -119,15 +125,19 @@ }; lix-module = { url = "git+https://git.lix.systems/lix-project/nixos-module"; - inputs.lix.follows = "lix"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-utils.follows = "flake-utils"; + inputs = { + lix.follows = "lix"; + nixpkgs.follows = "nixpkgs"; + flake-utils.follows = "flake-utils"; + }; }; mailserver = { url = "gitlab:simple-nixos-mailserver/nixos-mailserver/master"; - inputs.flake-compat.follows = "flake-compat"; - inputs.utils.follows = "flake-utils"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs = { + flake-compat.follows = "flake-compat"; + utils.follows = "flake-utils"; + nixpkgs.follows = "nixpkgs"; + }; }; mkshell-minimal = { url = "github:viperML/mkshell-minimal"; @@ -144,9 +154,11 @@ }; nvim = { url = "github:nix-community/neovim-nightly-overlay"; - inputs.nixpkgs.follows = "nixpkgs-nvim"; - inputs.flake-parts.follows = "flake-parts"; - inputs.flake-compat.follows = "flake-compat"; + inputs = { + nixpkgs.follows = "nixpkgs-nvim"; + flake-parts.follows = "flake-parts"; + flake-compat.follows = "flake-compat"; + }; }; nh = { url = "github:viperML/nh"; @@ -169,12 +181,16 @@ nur.url = "github:nix-community/nur"; prismlauncher = { url = "github:PrismLauncher/PrismLauncher"; - inputs.flake-compat.follows = "flake-compat"; - inputs.flake-parts.follows = "flake-parts"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.pre-commit-hooks.inputs.flake-compat.follows = "flake-compat"; - inputs.pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs"; - inputs.pre-commit-hooks.inputs.nixpkgs-stable.follows = "nixpkgs"; + inputs = { + flake-compat.follows = "flake-compat"; + flake-parts.follows = "flake-parts"; + nixpkgs.follows = "nixpkgs"; + pre-commit-hooks.inputs = { + flake-compat.follows = "flake-compat"; + nixpkgs.follows = "nixpkgs"; + nixpkgs-stable.follows = "nixpkgs"; + }; + }; }; my-pkgs = { url = "git+https://git.pyrox.dev/pyrox/pkgs"; @@ -182,12 +198,14 @@ }; wayland = { url = "github:nix-community/nixpkgs-wayland"; - inputs.flake-compat.follows = "flake-compat"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.nix-eval-jobs.inputs.flake-parts.follows = "flake-parts"; - inputs.nix-eval-jobs.inputs.nixpkgs.follows = "nixpkgs"; - inputs.lib-aggregate.inputs.flake-utils.follows = "flake-utils"; - inputs.lib-aggregate.inputs.nixpkgs-lib.follows = "nixpkgs-lib"; + inputs = { + flake-compat.follows = "flake-compat"; + nixpkgs.follows = "nixpkgs"; + nix-eval-jobs.inputs.flake-parts.follows = "flake-parts"; + nix-eval-jobs.inputs.nixpkgs.follows = "nixpkgs"; + lib-aggregate.inputs.flake-utils.follows = "flake-utils"; + lib-aggregate.inputs.nixpkgs-lib.follows = "nixpkgs-lib"; + }; }; }; @@ -245,27 +263,28 @@ lix-module.nixosModules.default agenix.nixosModules.default ]; - + hosts = { # Zaphod, my personal Framework 16 laptop - systems.hosts.zaphod.modules = with inputs; [ hardware.nixosModules.framework-16-7040-amd ]; + zaphod.modules = with inputs; [ hardware.nixosModules.framework-16-7040-amd ]; # Prefect, my main VPS - systems.hosts.prefect.modules = with inputs; [ + prefect.modules = with inputs; [ self.nixosModules.dn42Pingfinder - inputs.mailserver.nixosModule + mailserver.nixosModule ]; # (Deep) Thought, a WIP VPS - systems.hosts.thought.modules = with inputs; [ self.nixosModules.dn42Pingfinder ]; + thought.modules = with inputs; [ self.nixosModules.dn42Pingfinder ]; # Marvin, my main homelab machine - systems.hosts.marvin.modules = with inputs; [ + marvin.modules = with inputs; [ self.nixosModules.forgejoRunner iceshrimp.nixosModules.default golink.nixosModules.default buildbot-nix.nixosModules.buildbot-master buildbot-nix.nixosModules.buildbot-worker ]; + }; }; outputs-builder = diff --git a/homes/x86_64-linux/pyrox/programs/email.nix b/homes/x86_64-linux/pyrox/programs/email.nix deleted file mode 100644 index 000a46d2..00000000 --- a/homes/x86_64-linux/pyrox/programs/email.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - pkgs, - lib, - ... -}: { - programs.msmtp.enable = true; - programs.mbsync.enable = true; - programs.mu.enable = true; -} diff --git a/homes/x86_64-linux/pyrox/programs/git.nix b/homes/x86_64-linux/pyrox/programs/git.nix index abe3b090..e708ed60 100644 --- a/homes/x86_64-linux/pyrox/programs/git.nix +++ b/homes/x86_64-linux/pyrox/programs/git.nix @@ -61,9 +61,11 @@ enable = true; catppuccin.enable = true; settings = { - gui.nerdFontsVersion = "3"; - gui.showRandomTip = false; - gui.theme.selectedLineBgColor = ["default"]; + gui = { + nerdFontsVersion = "3"; + showRandomTip = false; + theme.selectedLineBgColor = ["default"]; + }; git.paging = { pager = "${lib.getExe pkgs.delta} --dark --paging=never"; colorArg = "always"; diff --git a/homes/x86_64-linux/pyrox/programs/nushell/default.nix b/homes/x86_64-linux/pyrox/programs/nushell/default.nix index 2799c327..91654268 100644 --- a/homes/x86_64-linux/pyrox/programs/nushell/default.nix +++ b/homes/x86_64-linux/pyrox/programs/nushell/default.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{ programs.nushell = { enable = true; configFile.source = ./config.nu; diff --git a/homes/x86_64-linux/pyrox/programs/obs.nix b/homes/x86_64-linux/pyrox/programs/obs.nix index 38b95d91..7c384154 100644 --- a/homes/x86_64-linux/pyrox/programs/obs.nix +++ b/homes/x86_64-linux/pyrox/programs/obs.nix @@ -1,5 +1,4 @@ { - config, pkgs, ... }: { diff --git a/homes/x86_64-linux/pyrox/programs/pandoc.nix b/homes/x86_64-linux/pyrox/programs/pandoc.nix index 21d32097..88dd54a6 100644 --- a/homes/x86_64-linux/pyrox/programs/pandoc.nix +++ b/homes/x86_64-linux/pyrox/programs/pandoc.nix @@ -1,5 +1 @@ -{ - lib, - pkgs, - ... -}: {programs.pandoc.enable = true;} +{programs.pandoc.enable = true;} diff --git a/homes/x86_64-linux/pyrox/programs/wlogout/default.nix b/homes/x86_64-linux/pyrox/programs/wlogout/default.nix index 952761c3..e8aea5e3 100644 --- a/homes/x86_64-linux/pyrox/programs/wlogout/default.nix +++ b/homes/x86_64-linux/pyrox/programs/wlogout/default.nix @@ -1,4 +1,4 @@ -{ pkgs, config, ...}: { +{ pkgs, ...}: { imports = [./style.nix]; programs.wlogout = { enable = true; diff --git a/homes/x86_64-linux/pyrox/programs/wlogout/style.nix b/homes/x86_64-linux/pyrox/programs/wlogout/style.nix index 2bf991f6..bf4c614c 100644 --- a/homes/x86_64-linux/pyrox/programs/wlogout/style.nix +++ b/homes/x86_64-linux/pyrox/programs/wlogout/style.nix @@ -1,4 +1,4 @@ -{pkgs, config, ...}: let +{config, ...}: let pkg = config.programs.wlogout.package; icon-path = "${pkg}/share/wlogout/icons"; in { diff --git a/homes/x86_64-linux/pyrox/programs/zsh.nix b/homes/x86_64-linux/pyrox/programs/zsh.nix index 04ad21a9..cc9c4d84 100644 --- a/homes/x86_64-linux/pyrox/programs/zsh.nix +++ b/homes/x86_64-linux/pyrox/programs/zsh.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{ programs.zsh = { enable = true; autosuggestion.enable = true; diff --git a/homes/x86_64-linux/pyrox/services/gpg-agent.nix b/homes/x86_64-linux/pyrox/services/gpg-agent.nix index 87e6529d..59cf2bad 100644 --- a/homes/x86_64-linux/pyrox/services/gpg-agent.nix +++ b/homes/x86_64-linux/pyrox/services/gpg-agent.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{ services.gpg-agent = { enable = true; enableExtraSocket = true; diff --git a/homes/x86_64-linux/pyrox/services/kanshi.nix b/homes/x86_64-linux/pyrox/services/kanshi.nix index 5ecbe323..a2317566 100644 --- a/homes/x86_64-linux/pyrox/services/kanshi.nix +++ b/homes/x86_64-linux/pyrox/services/kanshi.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{ services.kanshi = { enable = true; settings = [ diff --git a/homes/x86_64-linux/pyrox/services/kdeconnect.nix b/homes/x86_64-linux/pyrox/services/kdeconnect.nix index e51a3e64..388d1a50 100644 --- a/homes/x86_64-linux/pyrox/services/kdeconnect.nix +++ b/homes/x86_64-linux/pyrox/services/kdeconnect.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{ services.kdeconnect = { enable = false; indicator = true; diff --git a/lib/default.nix b/lib/default.nix deleted file mode 100644 index c9124a14..00000000 --- a/lib/default.nix +++ /dev/null @@ -1,2 +0,0 @@ -{lib, inputs, namespace, snowfall-inputs, ...}: { -} diff --git a/modules/home/profiles/base/default.nix b/modules/home/profiles/base/default.nix index 941f6ddc..75ff521b 100644 --- a/modules/home/profiles/base/default.nix +++ b/modules/home/profiles/base/default.nix @@ -1,4 +1,4 @@ -{inputs, config, ...}: { +{...}: { imports = [ ../programs/gpg.nix ../xdg.nix @@ -6,8 +6,10 @@ programs.home-manager.enable = true; home.stateVersion = "24.05"; home.language = {base = "en_US.utf8";}; - manual.manpages.enable = false; - manual.html.enable = false; - manual.json.enable = false; + manual = { + manpages.enable = false; + html.enable = false; + json.enable = false; + }; programs.man.enable = false; } diff --git a/modules/home/profiles/cli/default.nix b/modules/home/profiles/cli/default.nix index 9255def2..509b1dae 100644 --- a/modules/home/profiles/cli/default.nix +++ b/modules/home/profiles/cli/default.nix @@ -1,7 +1,4 @@ -{pkgs, ...}: let - customPythonPackages = python-packages: with python-packages; [textual]; - customPython = pkgs.python311.withPackages customPythonPackages; -in { +{pkgs, ...}: { imports = [ ../programs/bat.nix ../programs/direnv.nix @@ -21,18 +18,20 @@ in { ../files/distrobox-config.nix ]; - programs.eza = { - enable = true; - icons = true; - git = true; - enableBashIntegration = false; - enableIonIntegration = false; + programs = { + eza = { + enable = true; + icons = true; + git = true; + enableBashIntegration = false; + enableIonIntegration = false; + }; + btop = { + enable = true; + catppuccin.enable = true; + }; + glamour.catppuccin.enable = true; }; - programs.btop = { - enable = true; - catppuccin.enable = true; - }; - programs.glamour.catppuccin.enable = true; xdg.configFile = { "rbw".source = ../../oldconfig/rbw; "rbw".recursive = true; @@ -43,7 +42,6 @@ in { fzf glow gnupg - # neovim pinentry rbw rsync diff --git a/modules/home/profiles/desktop/default.nix b/modules/home/profiles/desktop/default.nix index ad799946..ea395fd8 100644 --- a/modules/home/profiles/desktop/default.nix +++ b/modules/home/profiles/desktop/default.nix @@ -1,5 +1,4 @@ { pkgs -, inputs , ... }: { imports = [ diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix index cc0db502..ba080d93 100644 --- a/modules/home/profiles/gui/default.nix +++ b/modules/home/profiles/gui/default.nix @@ -1,7 +1,6 @@ { pkgs, - inputs, - lib, # games ? true, + # games ? true, # social ? true, ... }: { diff --git a/modules/home/profiles/server/default.nix b/modules/home/profiles/server/default.nix index 52828e0f..3c201bb4 100644 --- a/modules/home/profiles/server/default.nix +++ b/modules/home/profiles/server/default.nix @@ -1,5 +1,3 @@ { - pkgs, - inputs, ... }: {imports = [./base.nix ./cli.nix];} diff --git a/modules/home/wayland/default.nix b/modules/home/wayland/default.nix index bede7b15..5e339584 100644 --- a/modules/home/wayland/default.nix +++ b/modules/home/wayland/default.nix @@ -1,7 +1,6 @@ {imports = [ ./sway.nix ./keybindings.nix - ./misc.nix ./waybar.nix ./swaylock.nix ];} diff --git a/modules/home/wayland/keybindings.nix b/modules/home/wayland/keybindings.nix index 970e3845..fb70ec9b 100644 --- a/modules/home/wayland/keybindings.nix +++ b/modules/home/wayland/keybindings.nix @@ -1,12 +1,9 @@ { - pkgs, - lib, config, ... }: let + inherit (config.wayland.windowManager.sway.config) menu; mod = config.wayland.windowManager.sway.config.modifier; - homeDir = config.home.homeDirectory; - menu = config.wayland.windowManager.sway.config.menu; term = config.wayland.windowManager.sway.config.terminal; grim = "grim -g"; slurp-screen = "\"$(slurp -c -b '#1e1e2e80' -o -r)\" -"; diff --git a/modules/home/wayland/misc.nix b/modules/home/wayland/misc.nix deleted file mode 100644 index e69de29b..00000000 diff --git a/modules/nixos/defaultConfig/nixpkgsConfig.nix b/modules/nixos/defaultConfig/nixpkgsConfig.nix index b0635b43..7d240225 100644 --- a/modules/nixos/defaultConfig/nixpkgsConfig.nix +++ b/modules/nixos/defaultConfig/nixpkgsConfig.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{ nixpkgs = { config = { allowUnfree = true; diff --git a/modules/nixos/defaultConfig/security.nix b/modules/nixos/defaultConfig/security.nix index ae56cece..1a221ff7 100644 --- a/modules/nixos/defaultConfig/security.nix +++ b/modules/nixos/defaultConfig/security.nix @@ -1,15 +1,16 @@ {pkgs, ...}: { # Everything should use doas instead of sudo # Sudo is kept enabled for tools that ~can't~ won't use doas. - security.doas = { + security = { + doas = { enable = true; wheelNeedsPassword = false; }; # Needed for nixos-rebuild to work properly - security.sudo.enable = true; + sudo.enable = true; # TPM configuration - security.tpm2 = { + tpm2 = { enable = true; abrmd.enable = true; applyUdevRules = true; @@ -17,7 +18,7 @@ }; # Set up extra certificates for DN42 specifically - security.pki.certificateFiles = [ + pki.certificateFiles = [ (pkgs.fetchurl { url = "https://dn42.burble.com/burble-dn42-ca.pem"; name = "burble-dn42-ca.pem"; @@ -29,4 +30,5 @@ sha256 = "sha256-wsMeC9/tlppSNZGrqfZFLAjv3AMj1KwIAWeh2XBpiYs="; }) ]; + }; } diff --git a/overlays/alejandra/default.nix b/overlays/alejandra/default.nix index 90a07315..eeef780b 100644 --- a/overlays/alejandra/default.nix +++ b/overlays/alejandra/default.nix @@ -1,3 +1,4 @@ +# deadnix: skip { inputs, ...}: final: prev: { alejandra = inputs.alejandra.defaultPackage.${prev.system}; } diff --git a/overlays/mesa/default.nix b/overlays/mesa/default.nix index afb20021..0e16373b 100644 --- a/overlays/mesa/default.nix +++ b/overlays/mesa/default.nix @@ -1,3 +1,4 @@ +# deadnix: skip { inputs, ...}: final: prev: { inherit (inputs.nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; } diff --git a/overlays/nix-index/default.nix b/overlays/nix-index/default.nix index 857d1794..a4177de7 100644 --- a/overlays/nix-index/default.nix +++ b/overlays/nix-index/default.nix @@ -1 +1,2 @@ +# deadnix: skip {inputs, ...}: final: prev: { inherit (inputs.nix-index.packages.${prev.system}) nix-index; } diff --git a/overlays/sway/default.nix b/overlays/sway-unwrapped/default.nix similarity index 62% rename from overlays/sway/default.nix rename to overlays/sway-unwrapped/default.nix index 5eb118af..45954a3a 100644 --- a/overlays/sway/default.nix +++ b/overlays/sway-unwrapped/default.nix @@ -1,10 +1,11 @@ -final: prev: let +# deadnix: skip +{ ... }: final: prev: let inherit (prev.lib.strings) mesonOption mesonEnable; in { - sway-unwrapped = prev.sway-unwrapped.overrideAttrs (old: { + sway-unwrapped = prev.sway-unwrapped.overrideAttrs { mesonFlags = [ (mesonOption "sd-bus-provider" "libsystemd") (mesonEnable "tray" true) ]; - }); + }; } diff --git a/overlays/tdlib-purple/default.nix b/overlays/tdlib-purple/default.nix deleted file mode 100644 index eec516a4..00000000 --- a/overlays/tdlib-purple/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -final: prev: rec { - tdlib-pidgin = prev.tdlib.overrideAttrs (old: { - version = "1.8.0"; - src = prev.fetchFromGitHub { - owner = "tdlib"; - repo = "td"; - rev = "b3ab664a18f8611f4dfcd3054717504271eeaa7a"; - sha256 = "19psqpyh9a2kzfdhgqkirpif4x8pzy89phvi59dq155y30a3661q"; - }; - }); - pidginPackages = prev.pidginPackages // { - tdlib-purple = prev.pidginPackages.tdlib-purple.overrideAttrs (old: { - version = "0.9.0"; - meta.broken = false; - src = prev.fetchFromGitHub { - owner = "BenWiederhake"; - repo = "tdlib-purple"; - rev = "fce1b50c15a55c300553019b5f6756dd856485e7"; - sha256 = "177fax1w440ch00vdda178bgwbbqp3y6zk38krld8kblj9p0ppyd"; - }; - buildInputs = (prev.lib.lists.remove prev.tdlib old.buildInputs) ++ [tdlib-pidgin]; - patches = [( - prev.fetchpatch { - url = "https://github.com/BenWiederhake/tdlib-purple/commit/db2a900a6d999e9df120a63d27c2bb3312aeddd5.patch"; - sha256 = "04p24zviqp0hvvfa2khrh0n5wwfjyrmc6wzrm06mg1k6li5d73jr"; - } - )]; - }); - }; -} diff --git a/overlays/treesitter/default.nix b/overlays/treesitter/default.nix deleted file mode 100644 index 543fa6e0..00000000 --- a/overlays/treesitter/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -self: super: { -tree-sitter = super.tree-sitter.overrideAttrs (old: rec { - name = "tree-sitter"; - version = "0.20.9"; - src = super.fetchFromGitHub { - owner = "tree-sitter"; - repo = "tree-sitter"; - rev = "v${version}"; - sha256 = "sha256-NxWqpMNwu5Ajffw1E2q9KS4TgkCH6M+ctFyi9Jp0tqQ="; - fetchSubmodules = true; - }; - cargoDeps = super.rustPlatform.importCargoLock { - lockFile = super.fetchurl { - url = - "https://raw.githubusercontent.com/tree-sitter/tree-sitter/v${version}/Cargo.lock"; - sha256 = "sha256-CVxS6AAHkySSYI9vY9k1DLrffZC39nM7Bc01vfjMxWk="; - }; - allowBuiltinFetchGit = true; - }; - }); -} diff --git a/packages/caddy/default.nix b/packages/caddy/default.nix index 23179c28..e03c2f20 100644 --- a/packages/caddy/default.nix +++ b/packages/caddy/default.nix @@ -1,8 +1,6 @@ { fetchurl, - lib, stdenv, - pkgs, }: stdenv.mkDerivation { pname = "caddy-bin"; diff --git a/packages/go-jamming/default.nix b/packages/go-jamming/default.nix index 5769dd75..7ebe290e 100644 --- a/packages/go-jamming/default.nix +++ b/packages/go-jamming/default.nix @@ -1,6 +1,5 @@ { lib, - stdenv, fetchFromGitea, buildGoModule, }: diff --git a/packages/olympus/default.nix b/packages/olympus/default.nix index 60f19a4c..9795cca1 100644 --- a/packages/olympus/default.nix +++ b/packages/olympus/default.nix @@ -1,7 +1,5 @@ { - pkgs, - lib, - makeDesktopItem, + pkgs }: let olympus = pkgs.stdenv.mkDerivation rec { pname = "olympus"; diff --git a/shells/default/default.nix b/shells/default/default.nix index 5600ec09..54af2825 100644 --- a/shells/default/default.nix +++ b/shells/default/default.nix @@ -1,3 +1,9 @@ { inputs, pkgs, ...}: let mkShell = inputs.mkshell-minimal pkgs; -in mkShell {} +in mkShell { + packages = [ + pkgs.deadnix + pkgs.nixfmt-rfc-style + pkgs.statix + ]; +} diff --git a/systems/x86_64-linux/marvin/firewall.nix b/systems/x86_64-linux/marvin/firewall.nix index 04fac02b..cd065838 100644 --- a/systems/x86_64-linux/marvin/firewall.nix +++ b/systems/x86_64-linux/marvin/firewall.nix @@ -1,5 +1,5 @@ -{ - networking.firewall.allowedTCPPorts = [80 443 6912 34197]; - networking.firewall.allowedUDPPorts = [4367 34197]; - networking.firewall.trustedInterfaces = ["tailscale0" "wg0"]; -} +{networking.firewall = { + allowedTCPPorts = [80 443 6912 34197]; + allowedUDPPorts = [4367 34197]; + trustedInterfaces = ["tailscale0" "wg0"]; +};} diff --git a/systems/x86_64-linux/marvin/services/bots.nix b/systems/x86_64-linux/marvin/services/bots.nix index bb4f3763..5d3bafb8 100644 --- a/systems/x86_64-linux/marvin/services/bots.nix +++ b/systems/x86_64-linux/marvin/services/bots.nix @@ -1,10 +1,9 @@ { - config, pkgs, - lib, ... }: { - systemd.services.io-bot = { + systemd.services = { + io-bot = { enable = false; wantedBy = ["multi-user.target"]; after = ["network.target" "io-bot-lavalink.service"]; @@ -17,7 +16,7 @@ WorkingDirectory = "/home/thehedgehog/io-py"; }; }; - systemd.services.io-bot-lavalink = { + io-bot-lavalink = { enable = false; wantedBy = ["multi-user.target"]; after = ["network.target"]; @@ -29,7 +28,7 @@ WorkingDirectory = "/home/thehedgehog/io-py/config"; }; }; - systemd.services.misc-bot = { + misc-bot = { enable = false; wantedBy = ["multi-user.target"]; after = ["network.target"]; @@ -42,4 +41,5 @@ WorkingDirectory = "/home/thehedgehog/bots/bot1"; }; }; + }; } diff --git a/systems/x86_64-linux/marvin/services/buildbot.nix b/systems/x86_64-linux/marvin/services/buildbot.nix index 93306a28..a325c96a 100644 --- a/systems/x86_64-linux/marvin/services/buildbot.nix +++ b/systems/x86_64-linux/marvin/services/buildbot.nix @@ -7,7 +7,8 @@ group = "buildbot"; }; in { - services.buildbot-nix.master = { + services = { + buildbot-nix.master = { enable = true; dbUrl = "postgresql://buildbot@localhost/buildbot"; workersFile = as.buildbot-workers.path; @@ -26,13 +27,16 @@ in { domain = d.extUrl; useHttps = true; }; - services.postgresql.ensureUsers = [{ - name = "buildbot"; - ensureDBOwnership = true; - ensureClauses.login = true; - }]; - services.postgresql.ensureDatabases = [ "buildbot" ]; - services.buildbot-master.port = 6915; + postgresql = { + ensureUsers = [{ + name = "buildbot"; + ensureDBOwnership = true; + ensureClauses.login = true; + }]; + ensureDatabases = [ "buildbot" ]; + }; + buildbot-master.port = 6915; + }; age.secrets = { buildbot-gitea-token = bbSecret // { file = ../secrets/buildbot-gitea-token.age; diff --git a/systems/x86_64-linux/marvin/services/git.nix b/systems/x86_64-linux/marvin/services/git.nix index badff4db..ea05b9f4 100644 --- a/systems/x86_64-linux/marvin/services/git.nix +++ b/systems/x86_64-linux/marvin/services/git.nix @@ -23,9 +23,11 @@ in { services.forgejo = { enable = true; lfs.enable = true; - database.type = "postgres"; - database.createDatabase = true; - database.passwordFile = age.forgejo-db-pw.path; + database = { + type = "postgres"; + createDatabase = true; + passwordFile = age.forgejo-db-pw.path; + }; mailerPasswordFile = age.forgejo-mail-pw.path; settings = { DEFAULT = { diff --git a/systems/x86_64-linux/marvin/services/golink.nix b/systems/x86_64-linux/marvin/services/golink.nix index fda599de..dad2da21 100644 --- a/systems/x86_64-linux/marvin/services/golink.nix +++ b/systems/x86_64-linux/marvin/services/golink.nix @@ -1,9 +1,4 @@ { - config, - lib, - pkgs, - ... -}: { services.golink = { enable = true; tailscaleAuthKeyFile = /run/agenix/golink-authkey; diff --git a/systems/x86_64-linux/marvin/services/iceshrimp.nix b/systems/x86_64-linux/marvin/services/iceshrimp.nix index 83a2c5ca..7872a4c2 100644 --- a/systems/x86_64-linux/marvin/services/iceshrimp.nix +++ b/systems/x86_64-linux/marvin/services/iceshrimp.nix @@ -9,7 +9,7 @@ d = lib.data.services.iceshrimp; package = inputs.iceshrimp.packages.x86_64-linux.iceshrimp-pre.overrideAttrs - (old: rec { + rec { version = "2023.12.7-pyrox1"; src = pkgs.fetchgit { url = "https://iceshrimp.dev/pyrox/iceshrimp"; @@ -18,7 +18,7 @@ fetchLFS = true; }; patches = []; - }); + }; in { services.iceshrimp = { inherit package; @@ -28,9 +28,9 @@ in { createDb = true; configureNginx.enable = false; settings = { + inherit (d) port; url = "https://${d.extUrl}"; accountDomain = "pyrox.dev"; - port = d.port; redis.port = 6997; maxNoteLength = 16384; maxCaptionLength = 8192; @@ -81,9 +81,9 @@ in { }; age.secrets = { iceshrimp-secret-config = { + inherit (config.services.iceshrimp) group; file = ../secrets/iceshrimp-secret-config.age; owner = config.services.iceshrimp.user; - group = config.services.iceshrimp.group; }; iceshrimp-db-password = { file = ../secrets/iceshrimp-db-password.age; diff --git a/systems/x86_64-linux/marvin/services/matrix.nix b/systems/x86_64-linux/marvin/services/matrix.nix index 8be2ee1a..472cf11e 100644 --- a/systems/x86_64-linux/marvin/services/matrix.nix +++ b/systems/x86_64-linux/marvin/services/matrix.nix @@ -1,5 +1,4 @@ { - config, pkgs, inputs, lib, @@ -12,8 +11,8 @@ in { package = inputs.conduit.packages.${pkgs.system}.default; settings.global = { + inherit (d) port; server_name = "pyrox.dev"; - port = d.port; max_request_size = 1024 * 1024 * 50; allow_registration = false; allow_federation = true; diff --git a/systems/x86_64-linux/marvin/services/nextcloud/imaginary.nix b/systems/x86_64-linux/marvin/services/nextcloud/imaginary.nix index cfaf81d1..d966747b 100644 --- a/systems/x86_64-linux/marvin/services/nextcloud/imaginary.nix +++ b/systems/x86_64-linux/marvin/services/nextcloud/imaginary.nix @@ -2,9 +2,9 @@ d = lib.py.data.services.nextcloud-imaginary; in{ services.imaginary = { + inherit (d) port; enable = true; address = "localhost"; - port = d.port; settings.return-size = true; settings.disable-endpoints = "form"; }; diff --git a/systems/x86_64-linux/marvin/services/nginx.nix b/systems/x86_64-linux/marvin/services/nginx.nix index 91171dee..f60a3d39 100644 --- a/systems/x86_64-linux/marvin/services/nginx.nix +++ b/systems/x86_64-linux/marvin/services/nginx.nix @@ -4,7 +4,7 @@ in { services.nginx = { virtualHosts = { "${n.extUrl}" = { - listen = [ { addr = "0.0.0.0"; port = n.port; } ]; + listen = [ { inherit (n) port; addr = "0.0.0.0"; } ]; }; }; }; diff --git a/systems/x86_64-linux/marvin/services/podman.nix b/systems/x86_64-linux/marvin/services/podman.nix index 4d4984f4..9cfe5871 100644 --- a/systems/x86_64-linux/marvin/services/podman.nix +++ b/systems/x86_64-linux/marvin/services/podman.nix @@ -1,13 +1,14 @@ -{ - virtualisation.docker.enable = true; - virtualisation.oci-containers.backend = "docker"; - virtualisation.docker.storageDriver = "zfs"; - virtualisation.docker.autoPrune.enable = true; - virtualisation.docker.liveRestore = true; - virtualisation.docker.daemon.settings = { - ipv6 = true; - experimental = true; - ip6tables = true; - fixed-cidr-v6 = "2001:db8:1::/64"; +{virtualisation = { + oci-containers.backend = "docker"; + docker = { + enable = true; + storageDriver = "zfs"; + autoPrune.enable = true; + liveRestore = true; + daemon.settings = { + experimental = true; + ip6tables = true; + fixed-cidr-v6 = "2001:db8:1::/64"; + }; }; -} +};} diff --git a/systems/x86_64-linux/marvin/services/prosody.nix b/systems/x86_64-linux/marvin/services/prosody.nix index c6216ebd..5b4ebf71 100644 --- a/systems/x86_64-linux/marvin/services/prosody.nix +++ b/systems/x86_64-linux/marvin/services/prosody.nix @@ -1,6 +1,9 @@ { + # deadnix: skip config, + # deadnix: skip pkgs, + # deadnix: skip lib, ... }: {services.prosody = {enable = true;};} diff --git a/systems/x86_64-linux/marvin/services/radicale.nix b/systems/x86_64-linux/marvin/services/radicale.nix index 94a81459..ddc354bc 100644 --- a/systems/x86_64-linux/marvin/services/radicale.nix +++ b/systems/x86_64-linux/marvin/services/radicale.nix @@ -1,4 +1,4 @@ -{pkgs, lib, config, ...}: let +{lib, config, ...}: let d = lib.py.data.services.radicale; p = toString d.port; in { diff --git a/systems/x86_64-linux/marvin/services/redlib.nix b/systems/x86_64-linux/marvin/services/redlib.nix index cf2bdd84..558f5264 100644 --- a/systems/x86_64-linux/marvin/services/redlib.nix +++ b/systems/x86_64-linux/marvin/services/redlib.nix @@ -2,9 +2,9 @@ d = lib.py.data.services.redlib; in { services.libreddit = { + inherit (d) port; enable = true; package = pkgs.redlib; - port = d.port; openFirewall = false; }; } diff --git a/systems/x86_64-linux/prefect/bootloader.nix b/systems/x86_64-linux/prefect/bootloader.nix index 9a15b945..10e461a0 100644 --- a/systems/x86_64-linux/prefect/bootloader.nix +++ b/systems/x86_64-linux/prefect/bootloader.nix @@ -11,18 +11,20 @@ grub.device = "/dev/sda"; grub.enable = true; }; - initrd.availableKernelModules = [ - "ata_piix" - "uhci_hcd" - "xen_blkfront" - "ahci" - "xhci_pci" - "virtio_pci" - "sd_mod" - "sr_mod" - ]; - initrd.kernelModules = ["nvme"]; - initrd.supportedFilesystems = ["btrfs" "vfat" "f2fs" "zfs"]; + initrd = { + availableKernelModules = [ + "ata_piix" + "uhci_hcd" + "xen_blkfront" + "ahci" + "xhci_pci" + "virtio_pci" + "sd_mod" + "sr_mod" + ]; + kernelModules = ["nvme"]; + supportedFilesystems = ["btrfs" "vfat" "f2fs" "zfs"]; + }; supportedFilesystems = lib.mkForce ["btrfs" "vfat" "f2fs" "zfs"]; kernelPackages = pkgs.linuxPackages_6_1; kernel.sysctl = { diff --git a/systems/x86_64-linux/prefect/dn42/bgp.nix b/systems/x86_64-linux/prefect/dn42/bgp.nix index e7cc5c7a..9d9f79ef 100644 --- a/systems/x86_64-linux/prefect/dn42/bgp.nix +++ b/systems/x86_64-linux/prefect/dn42/bgp.nix @@ -1,4 +1,4 @@ -{...}: { +{ sessions = [ # Lutoma # { diff --git a/systems/x86_64-linux/prefect/dn42/services.nix b/systems/x86_64-linux/prefect/dn42/services.nix index 976ed6cf..e748f930 100644 --- a/systems/x86_64-linux/prefect/dn42/services.nix +++ b/systems/x86_64-linux/prefect/dn42/services.nix @@ -12,7 +12,8 @@ ''; bgp = import ./bgp.nix {}; in { - systemd.timers.dn42-roa = { + systemd = { + timers.dn42-roa = { description = "Trigger a ROA table update"; timerConfig = { @@ -24,7 +25,7 @@ in { wantedBy = ["timers.target"]; before = ["bird.service"]; }; - systemd.services = { + services = { dn42-roa = { after = ["network.target"]; description = "DN42 ROA Updated"; @@ -32,8 +33,9 @@ in { serviceConfig = {ExecStart = "${script}/bin/update-roa";}; }; }; - systemd.services.bird-lg-proxy.serviceConfig.User = lib.mkForce "bird2"; - systemd.services.bird-lg-proxy.serviceConfig.Group = lib.mkForce "bird2"; + services.bird-lg-proxy.serviceConfig.User = lib.mkForce "bird2"; + services.bird-lg-proxy.serviceConfig.Group = lib.mkForce "bird2"; + }; services = { bird-lg = { @@ -85,6 +87,5 @@ in { + bgp.extraConfig; }; }; - users.users.thehedgehog.extraGroups = ["bird2"]; } diff --git a/systems/x86_64-linux/prefect/dn42/tunnels.nix b/systems/x86_64-linux/prefect/dn42/tunnels.nix index b9e91e02..62504372 100644 --- a/systems/x86_64-linux/prefect/dn42/tunnels.nix +++ b/systems/x86_64-linux/prefect/dn42/tunnels.nix @@ -1,8 +1,8 @@ { tunnel, - ospf, ... }: let + # deadnix: skip defaultPubKey = "e6kp9sca4XIzncKa9GEQwyOnMjje299Xg9ZdgXWMwHg="; defaultPrivKeyFile = "/run/agenix/dn42-privkey"; defaultLocalIPv4 = "172.20.43.96"; diff --git a/systems/x86_64-linux/prefect/dn42/wireguard.nix b/systems/x86_64-linux/prefect/dn42/wireguard.nix index 21bfcd8d..2be0d044 100644 --- a/systems/x86_64-linux/prefect/dn42/wireguard.nix +++ b/systems/x86_64-linux/prefect/dn42/wireguard.nix @@ -1,5 +1,4 @@ { - config, pkgs, lib, ... @@ -7,20 +6,21 @@ defaultLocalIPv4 = "172.20.43.96/32"; defaultLocalIPv6 = "fe80::1/64"; privKeyFile = "/run/agenix/dn42-privkey"; + # deadnix: skip defaultPubKey = "e6kp9sca4XIzncKa9GEQwyOnMjje299Xg9ZdgXWMwHg="; in { environment.systemPackages = [pkgs.wireguard-tools]; networking.wireguard.interfaces = import ./tunnels.nix rec { customTunnel = listenPort: privKeyFile: peerPubKey: endpoint: name: peerIPv4: peerIPv6: localIPv4: localIPv6: isOspf: { - listenPort = listenPort; + inherit listenPort; privateKeyFile = privKeyFile; allowedIPsAsRoutes = false; peers = [ { + inherit endpoint; publicKey = peerPubKey; allowedIPs = ["0.0.0.0/0" "::/0"]; - endpoint = endpoint; dynamicEndpointRefreshSeconds = 5; persistentKeepalive = 15; } @@ -41,12 +41,14 @@ in { + lib.optionalString isOspf "${pkgs.iproute2}/bin/ip -6 addr add ${defaultLocalIPv6} dev ${name}"; }; + # deadnix: skip tunnel = listenPort: privKey: peerPubKey: localIPv4: localIPv6: endpoint: name: peerIPv4: peerIPv6: customTunnel listenPort privKeyFile peerPubKey endpoint name peerIPv4 peerIPv6 localIPv4 localIPv6 false; + # deadnix: skip ospf = listenPort: privKey: peerPubKey: endpoint: name: peerIPv4: peerIPv6: ULAIPv6: customTunnel listenPort privKeyFile peerPubKey endpoint name peerIPv4 peerIPv6 diff --git a/systems/x86_64-linux/prefect/networking.nix b/systems/x86_64-linux/prefect/networking.nix index a9ae11bd..a7083eeb 100644 --- a/systems/x86_64-linux/prefect/networking.nix +++ b/systems/x86_64-linux/prefect/networking.nix @@ -1,7 +1,5 @@ { lib, - pkgs, - config, ... }: { networking = { diff --git a/systems/x86_64-linux/prefect/secrets/secrets.nix b/systems/x86_64-linux/prefect/secrets/secrets.nix index 54132165..219f689b 100644 --- a/systems/x86_64-linux/prefect/secrets/secrets.nix +++ b/systems/x86_64-linux/prefect/secrets/secrets.nix @@ -1,6 +1,7 @@ let yubi-back = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw=="; yubi-main = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBBsOIMMZVmleClXfqUMrnmyh8PFuyiJqHKEZ51Xy746"; + # deadnix: skip backup = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM="; prefect = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP532AB5mkNvE29MkDDY8HEf8ZdktGWiI0PzLrvbmLQe"; in { diff --git a/systems/x86_64-linux/prefect/services/mailserver/default.nix b/systems/x86_64-linux/prefect/services/mailserver/default.nix index d370cb8d..39e60019 100644 --- a/systems/x86_64-linux/prefect/services/mailserver/default.nix +++ b/systems/x86_64-linux/prefect/services/mailserver/default.nix @@ -1,6 +1,5 @@ { lib, - config, ... }: { imports = [./logins.nix ./monitoring.nix ./overrides.nix]; @@ -74,9 +73,11 @@ autoIndex = true; enforced = "body"; indexAttachments = true; - maintenance.enable = true; - maintenance.onCalendar = "daily"; - maintenance.randomizedDelaySec = 1000; + maintenance = { + enable = true; + onCalendar = "daily"; + randomizedDelaySec = 1000; + }; maxSize = 20; memoryLimit = 2048; minSize = 2; diff --git a/systems/x86_64-linux/prefect/services/nginx/default.nix b/systems/x86_64-linux/prefect/services/nginx/default.nix index c509073c..d6ccc16b 100644 --- a/systems/x86_64-linux/prefect/services/nginx/default.nix +++ b/systems/x86_64-linux/prefect/services/nginx/default.nix @@ -1,14 +1,6 @@ -{ config -, lib -, pkgs +{ lib , ... -}: -let - - nm = pkgs.nginxModules; - -in -{ +}: { services.nginx = { enable = true; additionalModules = [ ]; diff --git a/systems/x86_64-linux/prefect/services/tailscale.nix b/systems/x86_64-linux/prefect/services/tailscale.nix index 6178e4a1..8a563d3b 100644 --- a/systems/x86_64-linux/prefect/services/tailscale.nix +++ b/systems/x86_64-linux/prefect/services/tailscale.nix @@ -1,6 +1,8 @@ {config, ...}: { services.tailscale = {enable = true;}; - networking.firewall.trustedInterfaces = ["tailscale0"]; - networking.firewall.allowedUDPPorts = [config.services.tailscale.port]; - networking.firewall.checkReversePath = "loose"; + networking.firewall = { + trustedInterfaces = ["tailscale0"]; + allowedUDPPorts = [config.services.tailscale.port]; + checkReversePath = "loose"; + }; } diff --git a/systems/x86_64-linux/thought/bootloader.nix b/systems/x86_64-linux/thought/bootloader.nix index f6cdc77c..212e3256 100644 --- a/systems/x86_64-linux/thought/bootloader.nix +++ b/systems/x86_64-linux/thought/bootloader.nix @@ -10,18 +10,20 @@ grub.device = "/dev/sda"; grub.enable = true; }; - initrd.availableKernelModules = [ - "ata_piix" - "uhci_hcd" - "xen_blkfront" - "ahci" - "xhci_pci" - "virtio_pci" - "sd_mod" - "sr_mod" - ]; - initrd.kernelModules = ["nvme"]; - initrd.supportedFilesystems = ["btrfs" "vfat" "f2fs"]; + initrd = { + availableKernelModules = [ + "ata_piix" + "uhci_hcd" + "xen_blkfront" + "ahci" + "xhci_pci" + "virtio_pci" + "sd_mod" + "sr_mod" + ]; + kernelModules = ["nvme"]; + supportedFilesystems = ["btrfs" "vfat" "f2fs"]; + }; supportedFilesystems = lib.mkForce ["btrfs" "vfat" "f2fs"]; kernelPackages = pkgs.linuxPackages_latest; kernel.sysctl = { diff --git a/systems/x86_64-linux/thought/firewall.nix b/systems/x86_64-linux/thought/firewall.nix index a6811542..d792751d 100644 --- a/systems/x86_64-linux/thought/firewall.nix +++ b/systems/x86_64-linux/thought/firewall.nix @@ -1,7 +1,9 @@ { - networking.firewall.enable = true; - networking.firewall.allowedTCPPorts = [8000]; - networking.firewall.allowedUDPPorts = [34197]; + networking.firewall = { + enable = true; + allowedTCPPorts = [8000]; + allowedUDPPorts = [34197]; + }; services.ferm = { enable = true; config = '' diff --git a/systems/x86_64-linux/thought/networking.nix b/systems/x86_64-linux/thought/networking.nix index f693d533..45874f65 100644 --- a/systems/x86_64-linux/thought/networking.nix +++ b/systems/x86_64-linux/thought/networking.nix @@ -1,7 +1,5 @@ { lib, - pkgs, - config, ... }: { networking = { diff --git a/systems/x86_64-linux/thought/secrets/secrets.nix b/systems/x86_64-linux/thought/secrets/secrets.nix index 80051242..f3bbbd08 100644 --- a/systems/x86_64-linux/thought/secrets/secrets.nix +++ b/systems/x86_64-linux/thought/secrets/secrets.nix @@ -1,7 +1,11 @@ let + # deadnix: skip yubi-back = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw=="; + # deadnix: skip yubi-main = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBBsOIMMZVmleClXfqUMrnmyh8PFuyiJqHKEZ51Xy746"; + # deadnix: skip backup = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM="; + # deadnix: skip thought = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGkJcLykggEp427h2IywoiR74Yl3N+FU6Pwx9ZFQ3vjq"; in { imports = [../../common/secrets/secrets.nix]; diff --git a/systems/x86_64-linux/thought/services/tailscale.nix b/systems/x86_64-linux/thought/services/tailscale.nix index 6178e4a1..8a563d3b 100644 --- a/systems/x86_64-linux/thought/services/tailscale.nix +++ b/systems/x86_64-linux/thought/services/tailscale.nix @@ -1,6 +1,8 @@ {config, ...}: { services.tailscale = {enable = true;}; - networking.firewall.trustedInterfaces = ["tailscale0"]; - networking.firewall.allowedUDPPorts = [config.services.tailscale.port]; - networking.firewall.checkReversePath = "loose"; + networking.firewall = { + trustedInterfaces = ["tailscale0"]; + allowedUDPPorts = [config.services.tailscale.port]; + checkReversePath = "loose"; + }; } diff --git a/systems/x86_64-linux/zaphod/bootloader.nix b/systems/x86_64-linux/zaphod/bootloader.nix index 66c0aa43..5bdd9c67 100644 --- a/systems/x86_64-linux/zaphod/bootloader.nix +++ b/systems/x86_64-linux/zaphod/bootloader.nix @@ -2,7 +2,6 @@ pkgs, lib, config, - inputs, ... }: { boot = { diff --git a/systems/x86_64-linux/zaphod/default.nix b/systems/x86_64-linux/zaphod/default.nix index 43ff470c..0c6ab824 100644 --- a/systems/x86_64-linux/zaphod/default.nix +++ b/systems/x86_64-linux/zaphod/default.nix @@ -1,9 +1,4 @@ -{ - pkgs, - lib, - inputs, - ... -}: { +{ ... }: { imports = [ # Common Config ../default.nix diff --git a/systems/x86_64-linux/zaphod/kde.nix b/systems/x86_64-linux/zaphod/kde.nix index 77a996bb..f5914ed4 100644 --- a/systems/x86_64-linux/zaphod/kde.nix +++ b/systems/x86_64-linux/zaphod/kde.nix @@ -1,13 +1,16 @@ -{ - services.xserver.enable = false; - services.xserver.displayManager.sddm.enable = false; - services.xserver.displayManager.defaultSession = "plasmawayland"; - services.xserver.desktopManager.plasma5 = { +{services.xserver = { + enable = false; + displayManager = { + sddm.enable = false; + defaultSession = "plasmawayland"; + }; + desktopManager.plasma5 = { enable = false; phononBackend = "vlc"; runUsingSystemd = true; useQtScaling = true; }; + }; qt = { enable = true; platformTheme = "kde"; diff --git a/systems/x86_64-linux/zaphod/misc.nix b/systems/x86_64-linux/zaphod/misc.nix index 1dca55d8..e66c1304 100644 --- a/systems/x86_64-linux/zaphod/misc.nix +++ b/systems/x86_64-linux/zaphod/misc.nix @@ -1,8 +1,6 @@ # Misc settings(documentation etc} { lib, - pkgs, - config, ... }: { documentation = { @@ -16,21 +14,26 @@ }; nixos.enable = false; }; - environment.enableAllTerminfo = true; - environment.homeBinInPath = true; - environment.localBinInPath = true; - environment.noXlibs = false; + environment = { + homeBinInPath = true; + localBinInPath = true; + noXlibs = false; + }; services.openssh.settings.PermitRootLogin = lib.mkForce "yes"; time.timeZone = "America/New_York"; # # systemd.tmpfiles.rules = ["L+ /lib64 - - - - /run/current-system/sw/lib64"]; - virtualisation.virtualbox.host.enable = false; - virtualisation.virtualbox.host.enableExtensionPack = false; - virtualisation.virtualbox.guest.enable = false; - virtualisation.virtualbox.guest.clipboard = true; - virtualisation.virtualbox.guest.seamless = false; - virtualisation.virtualbox.guest.draganddrop = true; + virtualisation.virtualbox = { + host.enable = false; + host.enableExtensionPack = false; + guest = { + enable = false; + clipboard = true; + seamless = false; + draganddrop = true; + }; + }; # Enable Virt-manager virtualisation.libvirtd.enable = false; programs.dconf.enable = true; diff --git a/systems/x86_64-linux/zaphod/programs/misc.nix b/systems/x86_64-linux/zaphod/programs/misc.nix index 51af6a9d..f5e70ce6 100644 --- a/systems/x86_64-linux/zaphod/programs/misc.nix +++ b/systems/x86_64-linux/zaphod/programs/misc.nix @@ -1,20 +1,22 @@ -{pkgs, ...}: { +{pkgs, ...}: {programs = { # Bandwhich - Bandwidth monitor TUI - programs.bandwhich.enable = true; + bandwhich.enable = true; # Fish shell - programs.fish.enable = true; + fish.enable = true; # Git - programs.git.enable = true; - programs.git.package = pkgs.py.customGit; - programs.git.lfs.enable = true; + git = { + enable = true; + package = pkgs.py.customGit; + lfs.enable = true; + }; # KDEConnect - programs.kdeconnect.enable = true; - programs.kdeconnect.package = pkgs.kdePackages.kdeconnect-kde; + kdeconnect.enable = true; + kdeconnect.package = pkgs.kdePackages.kdeconnect-kde; # Steam - programs.steam.enable = true; + steam.enable = true; # Java - programs.adb.enable = true; - programs.java.enable = false; + adb.enable = true; + java.enable = false; # Wireshark - programs.wireshark.enable = true; -} + wireshark.enable = true; +};} diff --git a/systems/x86_64-linux/zaphod/services/docker.nix b/systems/x86_64-linux/zaphod/services/docker.nix index 88c1e707..653db917 100644 --- a/systems/x86_64-linux/zaphod/services/docker.nix +++ b/systems/x86_64-linux/zaphod/services/docker.nix @@ -9,9 +9,11 @@ in { virtualisation.docker = { enable = true; package = betterDocker; - rootless.enable = true; - rootless.package = betterDocker; - rootless.setSocketVariable = true; + rootless = { + enable = true; + package = betterDocker; + setSocketVariable = true; + }; storageDriver = "btrfs"; }; } diff --git a/systems/x86_64-linux/zaphod/services/misc.nix b/systems/x86_64-linux/zaphod/services/misc.nix index 5b6d8fba..faa10b2c 100644 --- a/systems/x86_64-linux/zaphod/services/misc.nix +++ b/systems/x86_64-linux/zaphod/services/misc.nix @@ -1,7 +1,6 @@ { config, lib, - pkgs, ... }: { services = { -- 2.51.2 From 142a7af77b2d321d35e1062d7973fb6c616704c8 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 21:31:45 -0400 Subject: [PATCH 011/105] [checks] Add formatting and linting check --- checks/formatting/default.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 checks/formatting/default.nix diff --git a/checks/formatting/default.nix b/checks/formatting/default.nix new file mode 100644 index 00000000..cd508586 --- /dev/null +++ b/checks/formatting/default.nix @@ -0,0 +1,18 @@ +{ pkgs, lib, ... }: +pkgs.stdenvNoCC.mkDerivation { + name = "formatting-check"; + src = lib.snowfall.fs.get-file "/"; + dontBuild = true; + doCheck = true; + nativeBuildInputs = with pkgs; [ + nixfmt-rfc-style + deadnix + statix + ]; + checkPhase = '' + deadnix + statix check . + nixfmt --check . + ''; + installPhase = ''mkdir "$out"''; +} -- 2.51.2 From 53feadf2897699a2dc1a05902f60a9965e2ebbd8 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 21:35:29 -0400 Subject: [PATCH 012/105] [meta] Formatting --- hosts/modules/services/buildbot-worker.nix | 3 +- modules/home/profiles/base/default.nix | 7 +- modules/home/profiles/cli/default.nix | 3 +- modules/home/profiles/desktop/default.nix | 5 +- modules/home/profiles/development/default.nix | 9 +-- modules/home/profiles/gui/default.nix | 5 +- modules/home/profiles/server/default.nix | 8 +- modules/home/wayland/default.nix | 14 ++-- modules/home/wayland/keybindings.nix | 9 +-- modules/home/wayland/sway.nix | 47 ++++++----- modules/home/wayland/waybar.nix | 59 ++++++++++---- modules/nixos/defaultConfig/bootloader.nix | 5 +- modules/nixos/defaultConfig/networking.nix | 14 ++-- modules/nixos/defaultConfig/nixConfig.nix | 6 +- modules/nixos/defaultConfig/packages.nix | 3 +- .../nixos/defaultConfig/programs/default.nix | 5 +- modules/nixos/defaultConfig/programs/nh.nix | 3 +- .../nixos/defaultConfig/secrets/secrets.nix | 16 +++- modules/nixos/defaultConfig/security.nix | 55 ++++++------- .../nixos/defaultConfig/services/default.nix | 7 +- modules/nixos/defaultConfig/services/ntp.nix | 6 +- .../defaultConfig/services/tailscale.nix | 6 +- modules/nixos/defaultConfig/ssh.nix | 4 +- modules/nixos/defaultConfig/users.nix | 12 +-- modules/nixos/dn42Pingfinder/default.nix | 17 ++-- modules/nixos/forgejoRunner/default.nix | 77 ++++++++++--------- overlays/alejandra/default.nix | 4 +- overlays/mesa/default.nix | 5 +- overlays/nix-index/default.nix | 2 +- overlays/sway-unwrapped/default.nix | 7 +- users/thehedgehog/default.nix | 17 ++-- 31 files changed, 274 insertions(+), 166 deletions(-) diff --git a/hosts/modules/services/buildbot-worker.nix b/hosts/modules/services/buildbot-worker.nix index a4d7a341..941333a8 100644 --- a/hosts/modules/services/buildbot-worker.nix +++ b/hosts/modules/services/buildbot-worker.nix @@ -1,4 +1,5 @@ -{config, ...}: { +{ config, ... }: +{ services.buildbot-nix.worker = { enable = true; name = config.networking.hostName; diff --git a/modules/home/profiles/base/default.nix b/modules/home/profiles/base/default.nix index 75ff521b..da96786d 100644 --- a/modules/home/profiles/base/default.nix +++ b/modules/home/profiles/base/default.nix @@ -1,11 +1,14 @@ -{...}: { +{ ... }: +{ imports = [ ../programs/gpg.nix ../xdg.nix ]; programs.home-manager.enable = true; home.stateVersion = "24.05"; - home.language = {base = "en_US.utf8";}; + home.language = { + base = "en_US.utf8"; + }; manual = { manpages.enable = false; html.enable = false; diff --git a/modules/home/profiles/cli/default.nix b/modules/home/profiles/cli/default.nix index 509b1dae..9d873489 100644 --- a/modules/home/profiles/cli/default.nix +++ b/modules/home/profiles/cli/default.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ imports = [ ../programs/bat.nix ../programs/direnv.nix diff --git a/modules/home/profiles/desktop/default.nix b/modules/home/profiles/desktop/default.nix index ea395fd8..67197803 100644 --- a/modules/home/profiles/desktop/default.nix +++ b/modules/home/profiles/desktop/default.nix @@ -1,6 +1,5 @@ -{ pkgs -, ... -}: { +{ pkgs, ... }: +{ imports = [ ./base.nix ./cli.nix diff --git a/modules/home/profiles/development/default.nix b/modules/home/profiles/development/default.nix index 3b035677..be6e29a5 100644 --- a/modules/home/profiles/development/default.nix +++ b/modules/home/profiles/development/default.nix @@ -1,9 +1,8 @@ +{ pkgs, ... }: +let + customPython = pkgs.python311.withPackages (ps: [ ps.pip ]); +in { - pkgs, - ... -}: let - customPython = pkgs.python311.withPackages (ps: [ps.pip]); -in { home.packages = with pkgs; [ alejandra any-nix-shell diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix index ba080d93..c799d09b 100644 --- a/modules/home/profiles/gui/default.nix +++ b/modules/home/profiles/gui/default.nix @@ -3,7 +3,8 @@ # games ? true, # social ? true, ... -}: { +}: +{ imports = [ ../wayland/sway.nix @@ -50,7 +51,7 @@ # ] ++ lib.optionals social [ gajim tauon - (vesktop.override {withSystemVencord=false;}) + (vesktop.override { withSystemVencord = false; }) # pidginWithPlugins # ] ++ lib.optionals drawing [ krita diff --git a/modules/home/profiles/server/default.nix b/modules/home/profiles/server/default.nix index 3c201bb4..ada53487 100644 --- a/modules/home/profiles/server/default.nix +++ b/modules/home/profiles/server/default.nix @@ -1,3 +1,7 @@ +{ ... }: { - ... -}: {imports = [./base.nix ./cli.nix];} + imports = [ + ./base.nix + ./cli.nix + ]; +} diff --git a/modules/home/wayland/default.nix b/modules/home/wayland/default.nix index 5e339584..1d4bc9ae 100644 --- a/modules/home/wayland/default.nix +++ b/modules/home/wayland/default.nix @@ -1,6 +1,8 @@ -{imports = [ - ./sway.nix - ./keybindings.nix - ./waybar.nix - ./swaylock.nix -];} +{ + imports = [ + ./sway.nix + ./keybindings.nix + ./waybar.nix + ./swaylock.nix + ]; +} diff --git a/modules/home/wayland/keybindings.nix b/modules/home/wayland/keybindings.nix index fb70ec9b..d029b1b6 100644 --- a/modules/home/wayland/keybindings.nix +++ b/modules/home/wayland/keybindings.nix @@ -1,7 +1,5 @@ -{ - config, - ... -}: let +{ config, ... }: +let inherit (config.wayland.windowManager.sway.config) menu; mod = config.wayland.windowManager.sway.config.modifier; term = config.wayland.windowManager.sway.config.terminal; @@ -9,7 +7,8 @@ slurp-screen = "\"$(slurp -c -b '#1e1e2e80' -o -r)\" -"; slurp-box = "\"$(slurp -c '#f38ba8ff' -b '#1e1e2e80' -w 1 -d -F 'IBM Plex Mono')\" -"; satty = "satty -f -"; -in { +in +{ wayland.windowManager.sway.config.keybindings = lib.mkOptionDefault { "${mod}+d" = "${menu}"; "${mod}+Shift+F" = "exec MOZ_DISABLE_RDD_SANDBOX=1 firefox"; diff --git a/modules/home/wayland/sway.nix b/modules/home/wayland/sway.nix index a87c4697..14dd6242 100644 --- a/modules/home/wayland/sway.nix +++ b/modules/home/wayland/sway.nix @@ -1,12 +1,9 @@ -{ - pkgs, - config, - ... -}: let +{ pkgs, config, ... }: +let term = config.wayland.windowManager.sway.config.terminal; homeDir = config.home.homeDirectory; -in { - imports = [./keybindings.nix ./swaylock.nix ./waybar.nix]; +in +{ wayland.windowManager.sway = { enable = true; package = null; @@ -27,14 +24,14 @@ in { terminal = "${pkgs.kitty}/bin/kitty"; menu = "exec ${term} --detach --class=launcher -o initial_window_height=500 -o initial_window_width=500 -o font_size=16 ${pkgs.sway-launcher-desktop}/bin/sway-launcher-desktop"; modifier = "Mod4"; - bars = [{command = "true";}]; + bars = [ { command = "true"; } ]; focus = { followMouse = true; mouseWarping = true; newWindow = "smart"; }; fonts = { - names = ["IBM Plex Sans"]; + names = [ "IBM Plex Sans" ]; style = "Regular"; size = 12.0; }; @@ -45,8 +42,12 @@ in { smartGaps = false; }; input = { - "type:keyboard" = {xkb_options = "caps:escape";}; - "type:mouse" = {accel_profile = "flat";}; + "type:keyboard" = { + xkb_options = "caps:escape"; + }; + "type:mouse" = { + accel_profile = "flat"; + }; "type:touchpad" = { accel_profile = "adaptive"; scroll_factor = "1.5"; @@ -68,26 +69,36 @@ in { }; }; output = { - eDP-1 = {scale = "1.2";}; - "*" = {bg = "${homeDir}/bgs/xenia-hangout-mocha.png fill";}; + eDP-1 = { + scale = "1.2"; + }; + "*" = { + bg = "${homeDir}/bgs/xenia-hangout-mocha.png fill"; + }; }; startup = [ - {command = "${pkgs.dex}/bin/dex -a";} - {command = "${homeDir}/scripts/unfuck-xdg-portals.fish";} + { command = "${pkgs.dex}/bin/dex -a"; } + { command = "${homeDir}/scripts/unfuck-xdg-portals.fish"; } ]; window = { commands = [ { command = "inhibit_idle fullscreen"; - criteria = {class = "Chromium|zoom|Firefox";}; + criteria = { + class = "Chromium|zoom|Firefox"; + }; } { command = "floating enable, sticky enable, resize set 30 ppt 50 ppt, border pixel 4"; - criteria = {app_id = "^launcher$";}; + criteria = { + app_id = "^launcher$"; + }; } { command = "resize set 20 ppt"; - criteria = {title = "Mumble PTT";}; + criteria = { + title = "Mumble PTT"; + }; } ]; }; diff --git a/modules/home/wayland/waybar.nix b/modules/home/wayland/waybar.nix index 5f50ea0c..a96ae11b 100644 --- a/modules/home/wayland/waybar.nix +++ b/modules/home/wayland/waybar.nix @@ -1,8 +1,5 @@ +{ pkgs, lib, ... }: { - pkgs, - lib, - ... -}: { programs.waybar = { enable = true; catppuccin.enable = false; @@ -14,8 +11,11 @@ layer = "top"; position = "top"; height = 32; - modules-left = ["sway/workspaces" "sway/mode"]; - modules-center = ["custom/media"]; + modules-left = [ + "sway/workspaces" + "sway/mode" + ]; + modules-center = [ "custom/media" ]; modules-right = [ "idle_inhibitor" "wireplumber" @@ -55,15 +55,31 @@ interval = 5; tooltip = false; }; - "memory" = {format = "{}% ";}; + "memory" = { + format = "{}% "; + }; "temperature" = { critical-threshold = 80; format = "{temperatureC}°C {icon}"; - format-icons = ["" "" "" "" ""]; + format-icons = [ + "" + "" + "" + "" + "" + ]; }; "backlight" = { format = "{percent}% {icon}"; - format-icons = ["󰃚" "󰃛" "󰃜" "󰃝" "󰃞" "󰃟" "󰃠"]; + format-icons = [ + "󰃚" + "󰃛" + "󰃜" + "󰃝" + "󰃞" + "󰃟" + "󰃠" + ]; }; "battery" = { states = { @@ -75,7 +91,19 @@ format-charging = "{capacity}% 󰂄"; format-plugged = "{capacity}% "; format-alt = "{time} {icon}"; - format-icons = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; + format-icons = [ + "󰂎" + "󰁺" + "󰁻" + "󰁼" + "󰁽" + "󰁾" + "󰁿" + "󰂀" + "󰂁" + "󰂂" + "󰁹" + ]; }; "network" = { format-wifi = "{essid} "; @@ -88,7 +116,11 @@ "wireplumber" = { format = "{volume}% {icon}"; format-muted = "󰝟"; - format-icons = ["" "" ""]; + format-icons = [ + "" + "" + "" + ]; on-click = lib.getExe pkgs.helvum; }; "custom/media" = { @@ -99,10 +131,7 @@ Playing = " "; }; max-length = 70; - exec = '' - ${ - lib.getExe pkgs.playerctl - } -a metadata --format '{"text": "{{playerName}}: {{artist}} - {{markup_escape(title)}}", "tooltip": "{{playerName}} : {{markup_escape(title)}}", "alt": "{{status}}", "class": "{{status}}"}' -F''; + exec = ''${lib.getExe pkgs.playerctl} -a metadata --format '{"text": "{{playerName}}: {{artist}} - {{markup_escape(title)}}", "tooltip": "{{playerName}} : {{markup_escape(title)}}", "alt": "{{status}}", "class": "{{status}}"}' -F''; on-click = "${lib.getExe pkgs.playerctl} play-pause"; }; }; diff --git a/modules/nixos/defaultConfig/bootloader.nix b/modules/nixos/defaultConfig/bootloader.nix index d09abb0f..1bdbe095 100644 --- a/modules/nixos/defaultConfig/bootloader.nix +++ b/modules/nixos/defaultConfig/bootloader.nix @@ -24,8 +24,8 @@ "sctp" "tipc" "x25" - # Old or rare or insufficiently audited filesystems - # or ones I just don't want loaded + # Old or rare or insufficiently audited filesystems + # or ones I just don't want loaded "adfs" "affs" "befs" @@ -68,7 +68,6 @@ "page_alloc.shuffle=1" # Disable debugfs - not needed "debugfs=off" - ]; }; } diff --git a/modules/nixos/defaultConfig/networking.nix b/modules/nixos/defaultConfig/networking.nix index c2f7bf55..44234ab8 100644 --- a/modules/nixos/defaultConfig/networking.nix +++ b/modules/nixos/defaultConfig/networking.nix @@ -1,8 +1,7 @@ -{pkgs, lib, ...}: { +{ pkgs, lib, ... }: +{ networking = { - networkmanager.plugins = lib.mkForce [ - pkgs.networkmanager-openvpn - ]; + networkmanager.plugins = lib.mkForce [ pkgs.networkmanager-openvpn ]; nameservers = [ "9.9.9.9" "fd42:d42:d42:53::1" @@ -10,7 +9,12 @@ "172.23.0.53" "172.20.0.53" ]; - timeServers = ["0.pool.ntp.org" "1.pool.ntp.org" "2.pool.ntp.org" "3.pool.ntp.org"]; + timeServers = [ + "0.pool.ntp.org" + "1.pool.ntp.org" + "2.pool.ntp.org" + "3.pool.ntp.org" + ]; resolvconf.extraConfig = '' name_servers="9.9.9.9 fd42:d42:d42:53::1 fd42:d42:d42:54::1 172.23.0.53 172.20.0.53" ''; diff --git a/modules/nixos/defaultConfig/nixConfig.nix b/modules/nixos/defaultConfig/nixConfig.nix index 44bd6e12..edaa4eb6 100644 --- a/modules/nixos/defaultConfig/nixConfig.nix +++ b/modules/nixos/defaultConfig/nixConfig.nix @@ -10,7 +10,11 @@ settings = { cores = 0; auto-optimise-store = true; - trusted-users = ["root" "thehedgehog" "pyrox"]; + trusted-users = [ + "root" + "thehedgehog" + "pyrox" + ]; trusted-substituters = [ "https://cache.nixos.org" "https://colmena.cachix.org" diff --git a/modules/nixos/defaultConfig/packages.nix b/modules/nixos/defaultConfig/packages.nix index aa9fbe25..5d810698 100644 --- a/modules/nixos/defaultConfig/packages.nix +++ b/modules/nixos/defaultConfig/packages.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ environment.systemPackages = with pkgs; [ direnv doggo diff --git a/modules/nixos/defaultConfig/programs/default.nix b/modules/nixos/defaultConfig/programs/default.nix index 6baae6d7..a35dc6a1 100644 --- a/modules/nixos/defaultConfig/programs/default.nix +++ b/modules/nixos/defaultConfig/programs/default.nix @@ -1,4 +1,7 @@ { - imports = [./ssh.nix ./nh.nix]; + imports = [ + ./ssh.nix + ./nh.nix + ]; programs.fish.enable = true; } diff --git a/modules/nixos/defaultConfig/programs/nh.nix b/modules/nixos/defaultConfig/programs/nh.nix index febb0286..c2ca66ef 100644 --- a/modules/nixos/defaultConfig/programs/nh.nix +++ b/modules/nixos/defaultConfig/programs/nh.nix @@ -1,4 +1,5 @@ -{inputs, ...}: { +{ inputs, ... }: +{ programs.nh = { enable = true; package = inputs.nh.packages.x86_64-linux.default; diff --git a/modules/nixos/defaultConfig/secrets/secrets.nix b/modules/nixos/defaultConfig/secrets/secrets.nix index 6ff1c194..ad7b02c9 100644 --- a/modules/nixos/defaultConfig/secrets/secrets.nix +++ b/modules/nixos/defaultConfig/secrets/secrets.nix @@ -4,7 +4,17 @@ let yubi-back = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw=="; yubi-main = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBBsOIMMZVmleClXfqUMrnmyh8PFuyiJqHKEZ51Xy746"; backup = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM="; - servers = [prefect thought]; - personal = [yubi-back yubi-main backup]; + servers = [ + prefect + thought + ]; + personal = [ + yubi-back + yubi-main + backup + ]; all-keys = servers ++ personal; -in {"powerdns-secrets.age".publicKeys = all-keys;} +in +{ + "powerdns-secrets.age".publicKeys = all-keys; +} diff --git a/modules/nixos/defaultConfig/security.nix b/modules/nixos/defaultConfig/security.nix index 1a221ff7..98393dc3 100644 --- a/modules/nixos/defaultConfig/security.nix +++ b/modules/nixos/defaultConfig/security.nix @@ -1,34 +1,35 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ # Everything should use doas instead of sudo # Sudo is kept enabled for tools that ~can't~ won't use doas. security = { - doas = { - enable = true; - wheelNeedsPassword = false; - }; - # Needed for nixos-rebuild to work properly - sudo.enable = true; + doas = { + enable = true; + wheelNeedsPassword = false; + }; + # Needed for nixos-rebuild to work properly + sudo.enable = true; - # TPM configuration - tpm2 = { - enable = true; - abrmd.enable = true; - applyUdevRules = true; - pkcs11.enable = true; - }; + # TPM configuration + tpm2 = { + enable = true; + abrmd.enable = true; + applyUdevRules = true; + pkcs11.enable = true; + }; - # Set up extra certificates for DN42 specifically - pki.certificateFiles = [ - (pkgs.fetchurl { - url = "https://dn42.burble.com/burble-dn42-ca.pem"; - name = "burble-dn42-ca.pem"; - sha256 = "0wcrjkiav018bpl87583g0v60clx3jg3wfyf8d9h8zdkwcb16b2g"; - }) - (pkgs.fetchurl { - url = "https://aur.archlinux.org/cgit/aur.git/plain/dn42.crt?h=ca-certificates-dn42&id=646f7effb290adf25c7e9fea3b41bf055522ba29"; - name = "dn42.crt"; - sha256 = "sha256-wsMeC9/tlppSNZGrqfZFLAjv3AMj1KwIAWeh2XBpiYs="; - }) - ]; + # Set up extra certificates for DN42 specifically + pki.certificateFiles = [ + (pkgs.fetchurl { + url = "https://dn42.burble.com/burble-dn42-ca.pem"; + name = "burble-dn42-ca.pem"; + sha256 = "0wcrjkiav018bpl87583g0v60clx3jg3wfyf8d9h8zdkwcb16b2g"; + }) + (pkgs.fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/dn42.crt?h=ca-certificates-dn42&id=646f7effb290adf25c7e9fea3b41bf055522ba29"; + name = "dn42.crt"; + sha256 = "sha256-wsMeC9/tlppSNZGrqfZFLAjv3AMj1KwIAWeh2XBpiYs="; + }) + ]; }; } diff --git a/modules/nixos/defaultConfig/services/default.nix b/modules/nixos/defaultConfig/services/default.nix index 3b2093eb..9d60a8a9 100644 --- a/modules/nixos/defaultConfig/services/default.nix +++ b/modules/nixos/defaultConfig/services/default.nix @@ -1 +1,6 @@ -{imports = [./ntp.nix ./tailscale.nix];} +{ + imports = [ + ./ntp.nix + ./tailscale.nix + ]; +} diff --git a/modules/nixos/defaultConfig/services/ntp.nix b/modules/nixos/defaultConfig/services/ntp.nix index 16d314cb..404e192a 100644 --- a/modules/nixos/defaultConfig/services/ntp.nix +++ b/modules/nixos/defaultConfig/services/ntp.nix @@ -1 +1,5 @@ -{services.ntp = {enable = true;};} +{ + services.ntp = { + enable = true; + }; +} diff --git a/modules/nixos/defaultConfig/services/tailscale.nix b/modules/nixos/defaultConfig/services/tailscale.nix index 24a248ef..915cf217 100644 --- a/modules/nixos/defaultConfig/services/tailscale.nix +++ b/modules/nixos/defaultConfig/services/tailscale.nix @@ -1 +1,5 @@ -{services.tailscale = {enable = true;};} +{ + services.tailscale = { + enable = true; + }; +} diff --git a/modules/nixos/defaultConfig/ssh.nix b/modules/nixos/defaultConfig/ssh.nix index 58b46f52..8a55692d 100644 --- a/modules/nixos/defaultConfig/ssh.nix +++ b/modules/nixos/defaultConfig/ssh.nix @@ -1,5 +1,5 @@ { - age.identityPaths = ["/etc/ssh/ssh_host_ed25519_key"]; + age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; services.openssh = { enable = false; allowSFTP = false; @@ -30,5 +30,5 @@ ]; }; }; - networking.firewall.allowedTCPPorts = [22]; + networking.firewall.allowedTCPPorts = [ 22 ]; } diff --git a/modules/nixos/defaultConfig/users.nix b/modules/nixos/defaultConfig/users.nix index 29c9678e..9925e136 100644 --- a/modules/nixos/defaultConfig/users.nix +++ b/modules/nixos/defaultConfig/users.nix @@ -1,13 +1,15 @@ +{ lib, pkgs, ... }: { - lib, - pkgs, - ... -}: { users.users = { pyrox = { isNormalUser = true; description = lib.mkDefault "Pyrox"; - extraGroups = ["networkmanager" "wheel" "input" "wireshark"]; + extraGroups = [ + "networkmanager" + "wheel" + "input" + "wireshark" + ]; }; }; # Set default editor diff --git a/modules/nixos/dn42Pingfinder/default.nix b/modules/nixos/dn42Pingfinder/default.nix index 0778b673..9d077154 100644 --- a/modules/nixos/dn42Pingfinder/default.nix +++ b/modules/nixos/dn42Pingfinder/default.nix @@ -4,7 +4,8 @@ pkgs, lib, ... -}: { +}: +{ options.services."dn42-pingfinder" = { uuidFile = lib.mkOption { type = lib.types.nullOr lib.types.path; @@ -15,7 +16,11 @@ config = lib.mkIf (config.services."dn42-pingfinder".uuidFile != null) { systemd.services.dn42-pingfinder = { - path = with pkgs; [curl inetutils which]; + path = with pkgs; [ + curl + inetutils + which + ]; script = '' export UUID=$(cat ${config.services."dn42-pingfinder".uuidFile}) exec ${pkgs.nur.repos.xddxdd.dn42-pingfinder}/bin/dn42-pingfinder @@ -26,12 +31,14 @@ RuntimeDirectory = "dn42-pingfinder"; WorkingDirectory = "/run/dn42-pingfinder"; }; - unitConfig = {After = "network.target";}; + unitConfig = { + After = "network.target"; + }; }; systemd.timers.dn42-pingfinder = { - wantedBy = ["timers.target"]; - partOf = ["dn42-pingfinder.service"]; + wantedBy = [ "timers.target" ]; + partOf = [ "dn42-pingfinder.service" ]; timerConfig = { OnCalendar = "*:0/5"; Persistent = true; diff --git a/modules/nixos/forgejoRunner/default.nix b/modules/nixos/forgejoRunner/default.nix index 8af07dc1..3ce92957 100644 --- a/modules/nixos/forgejoRunner/default.nix +++ b/modules/nixos/forgejoRunner/default.nix @@ -1,38 +1,45 @@ -{pkgs, config, lib, ...}: let -runnerBase = { - enable = true; - url = "https://git.pyrox.dev"; - labels = [ - "default:docker://git.pyrox.dev/pyrox/flake-base:latest" - "nodejs:docker://node:20" - "nodejs-alpine:docker://node:20-alpine" - "nodejs-lts:docker://node:20" - "nodejs-lts:docker://node:20-alpine" - "nodejs-latest:docker://node:21" - "nodejs-latest-alpine:docker://node:21-alpine" - "alpine:docker://alpine:3.19" - ]; - settings = { - log.level = "info"; - runner = { - insecure = false; - capacity = 4; - }; - cache = { - enabled = true; - dir = "/var/lib/forgejo/runners/cache/"; - host = ""; - port = 0; - }; - container = { - # Automatically create a network for containers - network = ""; - enable_ipv6 = false; +{ + pkgs, + config, + lib, + ... +}: +let + runnerBase = { + enable = true; + url = "https://git.pyrox.dev"; + labels = [ + "default:docker://git.pyrox.dev/pyrox/flake-base:latest" + "nodejs:docker://node:20" + "nodejs-alpine:docker://node:20-alpine" + "nodejs-lts:docker://node:20" + "nodejs-lts:docker://node:20-alpine" + "nodejs-latest:docker://node:21" + "nodejs-latest-alpine:docker://node:21-alpine" + "alpine:docker://alpine:3.19" + ]; + settings = { + log.level = "info"; + runner = { + insecure = false; + capacity = 4; + }; + cache = { + enabled = true; + dir = "/var/lib/forgejo/runners/cache/"; + host = ""; + port = 0; + }; + container = { + # Automatically create a network for containers + network = ""; + enable_ipv6 = false; + }; }; }; -}; -cfg = config.pyrox.services.forgejo-runner; -in { + cfg = config.pyrox.services.forgejo-runner; +in +{ options.pyrox.services.forgejo-runner = { enable = lib.mkEnableOption "Forgejo Actions Runner configuration"; tokenFile = lib.mkOption { @@ -46,8 +53,8 @@ in { package = pkgs.forgejo-actions-runner; instances = { "${config.networking.hostName}-default" = runnerBase // { - inherit (cfg) tokenFile; - name = "${config.networking.hostName}"; + inherit (cfg) tokenFile; + name = "${config.networking.hostName}"; }; }; }; diff --git a/overlays/alejandra/default.nix b/overlays/alejandra/default.nix index eeef780b..5575bec4 100644 --- a/overlays/alejandra/default.nix +++ b/overlays/alejandra/default.nix @@ -1,4 +1,2 @@ # deadnix: skip -{ inputs, ...}: final: prev: { - alejandra = inputs.alejandra.defaultPackage.${prev.system}; -} +{ inputs, ... }: final: prev: { alejandra = inputs.alejandra.defaultPackage.${prev.system}; } diff --git a/overlays/mesa/default.nix b/overlays/mesa/default.nix index 0e16373b..cac49de2 100644 --- a/overlays/mesa/default.nix +++ b/overlays/mesa/default.nix @@ -1,4 +1,3 @@ # deadnix: skip -{ inputs, ...}: final: prev: { - inherit (inputs.nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; -} +{ inputs, ... }: +final: prev: { inherit (inputs.nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; } diff --git a/overlays/nix-index/default.nix b/overlays/nix-index/default.nix index a4177de7..f57d9ebc 100644 --- a/overlays/nix-index/default.nix +++ b/overlays/nix-index/default.nix @@ -1,2 +1,2 @@ # deadnix: skip -{inputs, ...}: final: prev: { inherit (inputs.nix-index.packages.${prev.system}) nix-index; } +{ inputs, ... }: final: prev: { inherit (inputs.nix-index.packages.${prev.system}) nix-index; } diff --git a/overlays/sway-unwrapped/default.nix b/overlays/sway-unwrapped/default.nix index 45954a3a..b218ab64 100644 --- a/overlays/sway-unwrapped/default.nix +++ b/overlays/sway-unwrapped/default.nix @@ -1,7 +1,10 @@ # deadnix: skip -{ ... }: final: prev: let +{ ... }: +final: prev: +let inherit (prev.lib.strings) mesonOption mesonEnable; -in { +in +{ sway-unwrapped = prev.sway-unwrapped.overrideAttrs { mesonFlags = [ (mesonOption "sd-bus-provider" "libsystemd") diff --git a/users/thehedgehog/default.nix b/users/thehedgehog/default.nix index 0f6500fb..385058e1 100644 --- a/users/thehedgehog/default.nix +++ b/users/thehedgehog/default.nix @@ -1,8 +1,17 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ users.users.thehedgehog = { description = "The Hedgehog"; isNormalUser = true; - extraGroups = ["adbusers" "wheel" "networkmanager" "video" "docker" "wireshark" "input"]; + extraGroups = [ + "adbusers" + "wheel" + "networkmanager" + "video" + "docker" + "wireshark" + "input" + ]; hashedPassword = "$6$6EtuZhVOJdfI9DYP$1Qnd7R8qdN.E5yE2kDQCNg2zgJ5cIjNBKsIW/qJgb8wcKlUpIoVg/fEKvBkAgCiLyojVG2kzfu4J9LR8rA8a2/"; shell = pkgs.fish; openssh = { @@ -13,9 +22,7 @@ ../../home/programs/ssh/yubikey-back.pub ../../home/programs/ssh/backup.pub ]; - keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP532AB5mkNvE29MkDDY8HEf8ZdktGWiI0PzLrvbmLQe" - ]; + keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP532AB5mkNvE29MkDDY8HEf8ZdktGWiI0PzLrvbmLQe" ]; }; }; }; -- 2.51.2 From e29e4e917a6688a7e7e0ad05aac749cc717df30d Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 30 May 2024 21:40:36 -0400 Subject: [PATCH 013/105] [meta] Add git blame ignore file Git blame should ignore every commit listed in this file, so that they are not scanned and blamed for on git blame. --- .git-blame-ignore-revs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .git-blame-ignore-revs diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 00000000..55108845 --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,16 @@ +53feadf2897699a2dc1a05902f60a9965e2ebbd8 +bf16926ba528d750002b2456d0b2b49cf5aaeb83 +1bca7d6c2d2aacd4ef7c2ddfedf63f67a322672d +7cfd4f6767bd457c61095ae2c27ccf23e0df5332 +8f72044ccdece17c75a2992c9401b72656107fae +e2ffcc09df191f45bf8503f92dc24886022aa9f1 +59a5e4488eed306acebc040d218562da1ad5a8f8 +900f510b84c703ec1680153641eabed74c0c9d74 +b01ed5cbd72756f9a07501e8ddbccc583e28bdb2 +61cbe07e809ad55e8b5e131968fdad87aad39f05 +ed9d05c0ad47793e6ef4bad7fc1f049a8afef98d +7e99d9876838daee78006ae750190539bf0de1a8 +1f39ce863573c055ce4b3fa961dfe80e08c6e658 +5ca35b6e487f1d7d54868547b672e08458648e7b +e9c0b64039bae8c9fc98b6aa7e32aa50090eb70a +66e181add324c5bc915e14582104557455459ec4 -- 2.51.2 From f12a2d645872e641f9703b3202330ab8a4c24845 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 31 May 2024 13:04:40 -0400 Subject: [PATCH 014/105] [meta] Fix more deadnix checks --- overlays/mesa/default.nix | 1 + overlays/sway-unwrapped/default.nix | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/overlays/mesa/default.nix b/overlays/mesa/default.nix index cac49de2..9d660f42 100644 --- a/overlays/mesa/default.nix +++ b/overlays/mesa/default.nix @@ -1,3 +1,4 @@ # deadnix: skip { inputs, ... }: +# deadnix: skip final: prev: { inherit (inputs.nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; } diff --git a/overlays/sway-unwrapped/default.nix b/overlays/sway-unwrapped/default.nix index b218ab64..eb28331c 100644 --- a/overlays/sway-unwrapped/default.nix +++ b/overlays/sway-unwrapped/default.nix @@ -1,5 +1,6 @@ # deadnix: skip -{ ... }: +_: +# deadnix: skip final: prev: let inherit (prev.lib.strings) mesonOption mesonEnable; -- 2.51.2 From c1017f6bd0c3bc72f7927ab68c26bc14b0f168c5 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 31 May 2024 20:43:56 -0400 Subject: [PATCH 015/105] [home] Move git configuration to module --- homes/x86_64-linux/pyrox/programs/gh.nix | 12 --- homes/x86_64-linux/pyrox/programs/git.nix | 75 ---------------- modules/home/programs/git/default.nix | 102 ++++++++++++++++++++++ 3 files changed, 102 insertions(+), 87 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/gh.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/git.nix create mode 100644 modules/home/programs/git/default.nix diff --git a/homes/x86_64-linux/pyrox/programs/gh.nix b/homes/x86_64-linux/pyrox/programs/gh.nix deleted file mode 100644 index 17d6dad4..00000000 --- a/homes/x86_64-linux/pyrox/programs/gh.nix +++ /dev/null @@ -1,12 +0,0 @@ -{pkgs, lib, ...}: { - programs.gh = { - enable = true; - gitCredentialHelper.enable = true; - settings = { - editor = lib.getExe pkgs.py.nvim; - git_protocol = "https"; - browser = "${pkgs.firefox-wayland}/bin/firefox"; - prompt = "enabled"; - }; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/git.nix b/homes/x86_64-linux/pyrox/programs/git.nix deleted file mode 100644 index e708ed60..00000000 --- a/homes/x86_64-linux/pyrox/programs/git.nix +++ /dev/null @@ -1,75 +0,0 @@ -{pkgs, lib, ...}: -{ - programs.git = { - enable = true; - package = pkgs.py.customGit; - aliases = { - a = "add -p"; - co = "checkout"; - cob = "checkout -b"; - f = "fetch -p"; - c = "commit"; - p = "push"; - ba = "branch -a"; - bd = "branch -d"; - bD = "branch -D"; - d = "diff"; - dc = "diff --cached"; - ds = "diff --staged"; - r = "restore"; - rs = "restore --staged"; - st = "status -sb"; - # reset - soft = "reset --soft"; - hard = "reset --hard"; - s1ft = "soft HEAD~1"; - h1rd = "hard HEAD~1"; - # logging - lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; - plog = "log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'"; - tlog = "log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative"; - rank = "shortlog -sn --no-merges"; - # delete merged branches - bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"; - wt = "worktree"; - }; - delta = { - enable = true; - options.line-numbers = true; - }; - extraConfig = { - core.editor = lib.getExe pkgs.py.nvim; - init.defaultBranch = "main"; - pull.rebase = false; - # gpg.format = "ssh"; - gpg."ssh".allowedSignersFile = "~/.ssh/authorized_signatures"; - "credential \"https://git.pyrox.dev\"".username = "pyrox"; - credential.helper = "rbw"; - }; - lfs = { - enable = true; - skipSmudge = false; - }; - signing = { - key = "0xFE1D8A7D620C611F"; - signByDefault = true; - }; - userEmail = "pyrox@pyrox.dev"; - userName = "Pyrox"; - }; - programs.lazygit = { - enable = true; - catppuccin.enable = true; - settings = { - gui = { - nerdFontsVersion = "3"; - showRandomTip = false; - theme.selectedLineBgColor = ["default"]; - }; - git.paging = { - pager = "${lib.getExe pkgs.delta} --dark --paging=never"; - colorArg = "always"; - }; - }; - }; -} diff --git a/modules/home/programs/git/default.nix b/modules/home/programs/git/default.nix new file mode 100644 index 00000000..269de875 --- /dev/null +++ b/modules/home/programs/git/default.nix @@ -0,0 +1,102 @@ +{ + pkgs, + lib, + config, + ... +}: +let + cfg = config.py.programs.git; +in +{ + options.py.programs.git = { + enable = lib.mkEnableOption "git configuration"; + lazygit.enable = lib.mkEnableOption "lazygit configuration"; + gh.enable = lib.mkEnableOption "gh configuration"; + }; + config = { + programs = { + git = lib.mkIf cfg.enable { + enable = true; + package = pkgs.py.customGit; + aliases = { + a = "add -p"; + co = "checkout"; + cob = "checkout -b"; + f = "fetch -p"; + c = "commit"; + p = "push"; + ba = "branch -a"; + bd = "branch -d"; + bD = "branch -D"; + d = "diff"; + dc = "diff --cached"; + ds = "diff --staged"; + r = "restore"; + rs = "restore --staged"; + st = "status -sb"; + # reset + soft = "reset --soft"; + hard = "reset --hard"; + s1ft = "soft HEAD~1"; + h1rd = "hard HEAD~1"; + # logging + lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; + plog = "log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'"; + tlog = "log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative"; + rank = "shortlog -sn --no-merges"; + # delete merged branches + bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"; + wt = "worktree"; + }; + delta = { + enable = true; + options.line-numbers = true; + }; + extraConfig = { + core.editor = lib.getExe pkgs.py.nvim; + init.defaultBranch = "main"; + pull.rebase = false; + # gpg.format = "ssh"; + gpg."ssh".allowedSignersFile = "~/.ssh/authorized_signatures"; + "credential \"https://git.pyrox.dev\"".username = "pyrox"; + credential.helper = "rbw"; + }; + lfs = { + enable = true; + skipSmudge = false; + }; + signing = { + key = "0xFE1D8A7D620C611F"; + signByDefault = true; + }; + userEmail = "pyrox@pyrox.dev"; + userName = "Pyrox"; + }; + lazygit = lib.mkIf cfg.lazygit.enable { + enable = true; + catppuccin.enable = true; + settings = { + gui = { + nerdFontsVersion = "3"; + showRandomTip = false; + theme.selectedLineBgColor = [ "default" ]; + }; + git.paging = { + pager = "${lib.getExe pkgs.delta} --dark --paging=never"; + colorArg = "always"; + }; + }; + }; + gh = lib.mkIf cfg.gh.enable { + enable = true; + gitCredentialHelper.enable = true; + settings = { + editor = lib.getExe pkgs.py.nvim; + git_protocol = "https"; + browser = lib.mkIf config.py.sway.enable pkgs.firefox-wayland; + prompt = "enabled"; + }; + }; + }; + }; +} -- 2.51.2 From aea55fad7220c7e801247e9838c96c8a472c1bfd Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 31 May 2024 20:44:10 -0400 Subject: [PATCH 016/105] [defaultConfig] Update packages list --- modules/nixos/defaultConfig/packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nixos/defaultConfig/packages.nix b/modules/nixos/defaultConfig/packages.nix index 5d810698..4c9733a4 100644 --- a/modules/nixos/defaultConfig/packages.nix +++ b/modules/nixos/defaultConfig/packages.nix @@ -4,11 +4,11 @@ direnv doggo fzf - py.customGit kitty.terminfo lazygit nix-output-monitor pciutils + py.customGit ripgrep tailscale unrar -- 2.51.2 From 9aed0d60fde8596833ed0a4c865c67000a9d68c7 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 31 May 2024 20:44:18 -0400 Subject: [PATCH 017/105] [modules.nixos] Add defaultUsers module --- modules/nixos/defaultUsers/backup.pub | 1 + modules/nixos/defaultUsers/default.nix | 41 +++++++++++++++++++++ modules/nixos/defaultUsers/yubikey-back.pub | 1 + modules/nixos/defaultUsers/yubikey-main.pub | 1 + modules/nixos/defaultUsers/yubikey-new.pub | 1 + 5 files changed, 45 insertions(+) create mode 100644 modules/nixos/defaultUsers/backup.pub create mode 100644 modules/nixos/defaultUsers/default.nix create mode 100644 modules/nixos/defaultUsers/yubikey-back.pub create mode 100644 modules/nixos/defaultUsers/yubikey-main.pub create mode 100644 modules/nixos/defaultUsers/yubikey-new.pub diff --git a/modules/nixos/defaultUsers/backup.pub b/modules/nixos/defaultUsers/backup.pub new file mode 100644 index 00000000..c7ba5de9 --- /dev/null +++ b/modules/nixos/defaultUsers/backup.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= 993390@993390-student-FVFD26HVJ1WK diff --git a/modules/nixos/defaultUsers/default.nix b/modules/nixos/defaultUsers/default.nix new file mode 100644 index 00000000..d1f6d04d --- /dev/null +++ b/modules/nixos/defaultUsers/default.nix @@ -0,0 +1,41 @@ +{ + pkgs, + config, + lib, + ... +}: +let + cfg = config.py.users.default; +in +{ + options.py.users.default.enable = lib.mkEnableOption "Default PyroNet Users"; + + config = lib.mkIf cfg.enable { + users.users.thehedgehog = { + description = "The Hedgehog"; + isNormalUser = true; + extraGroups = [ + "adbusers" + "wheel" + "networkmanager" + "video" + "docker" + "wireshark" + "input" + ]; + hashedPassword = "$6$6EtuZhVOJdfI9DYP$1Qnd7R8qdN.E5yE2kDQCNg2zgJ5cIjNBKsIW/qJgb8wcKlUpIoVg/fEKvBkAgCiLyojVG2kzfu4J9LR8rA8a2/"; + shell = pkgs.fish; + openssh = { + authorizedKeys = { + keyFiles = [ + ./yubikey-new.pub + ./yubikey-main.pub + ./yubikey-back.pub + ./backup.pub + ]; + keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP532AB5mkNvE29MkDDY8HEf8ZdktGWiI0PzLrvbmLQe" ]; + }; + }; + }; + }; +} diff --git a/modules/nixos/defaultUsers/yubikey-back.pub b/modules/nixos/defaultUsers/yubikey-back.pub new file mode 100644 index 00000000..bf4aa7f1 --- /dev/null +++ b/modules/nixos/defaultUsers/yubikey-back.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== cardno:15 567 372 diff --git a/modules/nixos/defaultUsers/yubikey-main.pub b/modules/nixos/defaultUsers/yubikey-main.pub new file mode 100644 index 00000000..0d915f73 --- /dev/null +++ b/modules/nixos/defaultUsers/yubikey-main.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBBsOIMMZVmleClXfqUMrnmyh8PFuyiJqHKEZ51Xy746 diff --git a/modules/nixos/defaultUsers/yubikey-new.pub b/modules/nixos/defaultUsers/yubikey-new.pub new file mode 100644 index 00000000..4b8144c5 --- /dev/null +++ b/modules/nixos/defaultUsers/yubikey-new.pub @@ -0,0 +1 @@ +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK97n2SgV/U1mLzxcaEDl85iF5D3jm7xboZ+S01+CbM/8zxVoWyjVHCqTwDcrLwP0c5Z51BNj7U0UkGIgR4zTSM= -- 2.51.2 From 38841eef3e86c091436e04de34de1ad8ab342266 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 31 May 2024 20:44:30 -0400 Subject: [PATCH 018/105] [overlays] Add pyronet-packages overlay --- overlays/pyronet-packages/default.nix | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 overlays/pyronet-packages/default.nix diff --git a/overlays/pyronet-packages/default.nix b/overlays/pyronet-packages/default.nix new file mode 100644 index 00000000..54369d90 --- /dev/null +++ b/overlays/pyronet-packages/default.nix @@ -0,0 +1,4 @@ +# deadnix: skip +{ inputs, ...}: final: prev: { + py = inputs.self.packages.${prev.system}; +} -- 2.51.2 From 1f90068e2779bad861e0f959daf5db49c139f384 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 31 May 2024 20:44:44 -0400 Subject: [PATCH 019/105] [zaphod] Configure default users --- systems/x86_64-linux/zaphod/default.nix | 9 ++------ users/thehedgehog/default.nix | 29 ------------------------- 2 files changed, 2 insertions(+), 36 deletions(-) delete mode 100644 users/thehedgehog/default.nix diff --git a/systems/x86_64-linux/zaphod/default.nix b/systems/x86_64-linux/zaphod/default.nix index 0c6ab824..f9ba23fe 100644 --- a/systems/x86_64-linux/zaphod/default.nix +++ b/systems/x86_64-linux/zaphod/default.nix @@ -1,11 +1,5 @@ -{ ... }: { +{ inputs, ... }: { imports = [ - # Common Config - ../default.nix - - # My user, also a default. - ../../users/thehedgehog - # Machine specific configs ./bootloader.nix ./console.nix @@ -39,6 +33,7 @@ # Agenix secrets # ./secret-files.nix ]; + py.users.default.enable = true; fileSystems = { "/" = { fsType = "btrfs"; diff --git a/users/thehedgehog/default.nix b/users/thehedgehog/default.nix deleted file mode 100644 index 385058e1..00000000 --- a/users/thehedgehog/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ pkgs, ... }: -{ - users.users.thehedgehog = { - description = "The Hedgehog"; - isNormalUser = true; - extraGroups = [ - "adbusers" - "wheel" - "networkmanager" - "video" - "docker" - "wireshark" - "input" - ]; - hashedPassword = "$6$6EtuZhVOJdfI9DYP$1Qnd7R8qdN.E5yE2kDQCNg2zgJ5cIjNBKsIW/qJgb8wcKlUpIoVg/fEKvBkAgCiLyojVG2kzfu4J9LR8rA8a2/"; - shell = pkgs.fish; - openssh = { - authorizedKeys = { - keyFiles = [ - ../../home/programs/ssh/yubikey-new.pub - ../../home/programs/ssh/yubikey-main.pub - ../../home/programs/ssh/yubikey-back.pub - ../../home/programs/ssh/backup.pub - ]; - keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP532AB5mkNvE29MkDDY8HEf8ZdktGWiI0PzLrvbmLQe" ]; - }; - }; - }; -} -- 2.51.2 From c57853dc3734d2a040491e703c2c3c8a99c0fe96 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 31 May 2024 20:46:52 -0400 Subject: [PATCH 020/105] [meta] Flake updates --- flake.lock | 16 ++++++++-------- flake.nix | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 35a7dde1..94a7c235 100644 --- a/flake.lock +++ b/flake.lock @@ -688,11 +688,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1716405236, - "narHash": "sha256-kiHussiaGwPvoIpP6ONJs6IQEXeJuEu/mXDZxypaXus=", + "lastModified": 1717173858, + "narHash": "sha256-J51iC/XwFTJ6se9eRnrnjfXhHmRxgFZuvZJ+768VvO4=", "ref": "refs/heads/main", - "rev": "dcc7ea54986e0712666b15b502b6f89dd42b000c", - "revCount": 15610, + "rev": "ff08d954206a557ec7afe7301cdb4bb72114875f", + "revCount": 15707, "type": "git", "url": "https://git.lix.systems/lix-project/lix" }, @@ -715,11 +715,11 @@ ] }, "locked": { - "lastModified": 1715885250, - "narHash": "sha256-IUFYAl3158Ig5vySnRBHoPReb2/S97bjodCo6FhzJv4=", + "lastModified": 1717036776, + "narHash": "sha256-joKTxvywYlKspGGKOIXho6oRbggOPyayEqAyuZCavO0=", "ref": "refs/heads/main", - "rev": "53d713eb486f21d653af3ef3528e9a19ecfc45e5", - "revCount": 81, + "rev": "b4b38e6b5fe18da9464f291ae5fbf2ea9acb9ccb", + "revCount": 86, "type": "git", "url": "https://git.lix.systems/lix-project/nixos-module" }, diff --git a/flake.nix b/flake.nix index 198e6233..b88ecb8f 100644 --- a/flake.nix +++ b/flake.nix @@ -232,6 +232,7 @@ # Overlays for Nixpkgs. overlays = [ + self.overlays.pyronet-packages self.overlays.alejandra self.overlays.mesa self.overlays.nix-index @@ -258,7 +259,6 @@ # NixOS Configurations systems = { modules.nixos = with inputs; [ - self.nixosModules.defaultConfig ctp.nixosModules.catppuccin lix-module.nixosModules.default agenix.nixosModules.default -- 2.51.2 From da37e52237aa92126cdc9508ac6f2902282f47fc Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 1 Jun 2024 15:23:29 -0400 Subject: [PATCH 021/105] [modules] Move firefox from home to nixos --- .../pyrox/programs/firefox/default.nix | 46 ----- .../pyrox/programs/firefox/extraPrefs.nix | 171 ------------------ .../pyrox/programs/firefox/policies.nix | 47 ----- modules/nixos/programs/firefox/default.nix | 30 +++ modules/nixos/programs/firefox/extensions.nix | 68 +++++++ modules/nixos/programs/firefox/extraPrefs.nix | 169 +++++++++++++++++ modules/nixos/programs/firefox/policies.nix | 66 +++++++ 7 files changed, 333 insertions(+), 264 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/firefox/default.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/firefox/extraPrefs.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/firefox/policies.nix create mode 100644 modules/nixos/programs/firefox/default.nix create mode 100644 modules/nixos/programs/firefox/extensions.nix create mode 100644 modules/nixos/programs/firefox/extraPrefs.nix create mode 100644 modules/nixos/programs/firefox/policies.nix diff --git a/homes/x86_64-linux/pyrox/programs/firefox/default.nix b/homes/x86_64-linux/pyrox/programs/firefox/default.nix deleted file mode 100644 index dfe20830..00000000 --- a/homes/x86_64-linux/pyrox/programs/firefox/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{pkgs, ...}: { - imports = [./extraPrefs.nix ./policies.nix]; - programs.firefox = { - enable = true; - package = pkgs.firefox.override { - cfg = { - smartcardSupport = true; - pipewireSupport = true; - ffmpegSupport = true; - }; - }; - profiles = { - default = { - id = 0; - isDefault = true; - name = "Default"; - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ - augmented-steam - bitwarden - clearurls - consent-o-matic - cookie-autodelete - darkreader - don-t-fuck-with-paste - enhanced-github - facebook-container - header-editor - istilldontcareaboutcookies - kagi-search - libredirect - lovely-forks - multi-account-containers - privacy-pass - protondb-for-steam - pywalfox - reddit-moderator-toolbox - refined-github - sourcegraph - steam-database - stylus - ublock-origin - ]; - }; - }; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/firefox/extraPrefs.nix b/homes/x86_64-linux/pyrox/programs/firefox/extraPrefs.nix deleted file mode 100644 index 87eb1c36..00000000 --- a/homes/x86_64-linux/pyrox/programs/firefox/extraPrefs.nix +++ /dev/null @@ -1,171 +0,0 @@ -{ - programs.firefox.profiles.default.extraConfig = '' - user_pref("accessibility.typeaheadfind.flashBar", 0); - user_pref("app.normandy.api_url", ""); - user_pref("app.normandy.enabled", false); - user_pref("app.normandy.first_run", false); - user_pref("app.shield.optoutstudies.enabled", false); - user_pref("app.update.auto", false); - user_pref("app.update.backgroundErrors", 1); - user_pref("app.update.disable_button.showUpdateHistory", false); - user_pref("beacon.enabled", false); - user_pref("browser.aboutConfig.showWarning", false); - user_pref("browser.bookmarks.addedImportButton", true); - user_pref("browser.contentblocking.report.hide_vpn_banner", true); - user_pref("browser.contentblocking.report.lockwise.enabled", false); - user_pref("browser.contentblocking.report.show_mobile_app", false); - user_pref("browser.contentblocking.report.social.url", ""); - user_pref("browser.formfill.enable", false); - user_pref("browser.laterrun.bookkeeping.profileCreationTime", 0); - user_pref("browser.laterrun.bookkeeping.sessionCount", 0); - user_pref("browser.newtabpage.activity-stream.discoverystream.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.endpointSpocsClear", ""); - user_pref("browser.newtabpage.activity-stream.discoverystream.endpoints", ""); - user_pref("browser.newtabpage.activity-stream.discoverystream.personalization.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.readTime.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.rec.impressions", "{}"); - user_pref("browser.newtabpage.activity-stream.discoverystream.recentSaves.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.saveToPocketCard.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.sendToPocket.enabled", false); - user_pref("browser.newtabpage.activity-stream.discoverystream.spoc.impressions", "{}"); - user_pref("browser.newtabpage.activity-stream.feeds.recommendationprovider", false); - user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); - user_pref("browser.newtabpage.activity-stream.impressionId", "{}"); - user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); - user_pref("browser.newtabpage.activity-stream.telemetry", false); - user_pref("browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint", ""); - user_pref("browser.newtabpage.activity-stream.telemetry.ut.events", false); - user_pref("browser.partnerlink.attributionURL", ""); - user_pref("browser.partnerlink.campaign.topsites", ""); - user_pref("browser.ping-centre.telemetry", false); - user_pref("browser.places.importBookmarksHTML", false); - user_pref("browser.pocket.enabled", false); - user_pref("browser.safebrowsing.downloads.enabled", false); - user_pref("browser.safebrowsing.downloads.remote.block_dangerous", false); - user_pref("browser.safebrowsing.downloads.remote.block_dangerous_host", false); - user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); - user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false); - user_pref("browser.safebrowsing.downloads.remote.enabled", false); - user_pref("browser.safebrowsing.downloads.remote.url", ""); - user_pref("browser.safebrowsing.malware.enabled", false); - user_pref("browser.safebrowsing.phishing.enabled", false); - user_pref("browser.safebrowsing.provider.google.advisoryURL", ""); - user_pref("browser.safebrowsing.provider.google.gethashURL", ""); - user_pref("browser.safebrowsing.provider.google.gethashURL", ""); - user_pref("browser.safebrowsing.provider.google.reportURL", ""); - user_pref("browser.safebrowsing.provider.google.updateURL", ""); - user_pref("browser.safebrowsing.provider.google4.advisoryURL", ""); - user_pref("browser.safebrowsing.provider.google4.dataSharingURL", ""); - user_pref("browser.safebrowsing.provider.google4.gethashURL", ""); - user_pref("browser.safebrowsing.provider.google4.lists", ""); - user_pref("browser.safebrowsing.provider.google4.reportURL", ""); - user_pref("browser.safebrowsing.provider.google4.updateURL", ""); - user_pref("browser.safebrowsing.provider.mozilla.gethashURL", ""); - user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", ""); - user_pref("browser.safebrowsing.provider.mozilla.lists", ""); - user_pref("browser.safebrowsing.provider.mozilla.lists.base", ""); - user_pref("browser.safebrowsing.provider.mozilla.lists.content", ""); - user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", ""); - user_pref("browser.safebrowsing.provider.mozilla.updateURL", ""); - user_pref("browser.search.serpEventTelemetry.enabled", false); - user_pref("browser.send_pings", false); - user_pref("browser.tabs.warnOnClose", true); - user_pref("browser.urlbar.eventTelemetry.enabled", false); - user_pref("browser.urlbar.quicksuggest.dataCollection.enabled", false); - user_pref("browser.urlbar.suggest.addons", false); - user_pref("browser.urlbar.suggest.bookmark", true); - user_pref("browser.urlbar.suggest.calculator", true); - user_pref("browser.urlbar.suggest.clipboard", false); - user_pref("browser.urlbar.suggest.engines", false); - user_pref("browser.urlbar.suggest.history", true); - user_pref("browser.urlbar.suggest.mdn", false); - user_pref("browser.urlbar.suggest.openpage", true); - user_pref("browser.urlbar.suggest.pocket", false); - user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); - user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false); - user_pref("browser.urlbar.suggest.topsites", false); - user_pref("browser.urlbar.suggest.trending", false); - user_pref("browser.urlbar.suggest.weather", false); - user_pref("datareporting.healthreport.infoURL", ""); - user_pref("datareporting.policy.firstRunURL", ""); - user_pref("device.sensors.ambientLight.enabled", false); - user_pref("device.sensors.enabled", false); - user_pref("device.sensors.motion.enabled", false); - user_pref("device.sensors.orientation.enabled", false); - user_pref("device.sensors.proximity.enabled", false); - user_pref("device.sensors.test.events", false); - user_pref("devtools.chrome.enabled", true); - user_pref("doh-rollout.uri", ""); - user_pref("dom.battery.enabled", false); - user_pref("dom.event.clipboardevents.enabled", false); - user_pref("dom.security.unexpected_system_load_telemetry_enabled", false); - user_pref("dom.webgpu.enabled", true); - user_pref("extensions.formautofill.addresses.enabled", false); - user_pref("extensions.formautofill.creditCards.enabled", false); - user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); - user_pref("extensions.pocket.enabled", false); - user_pref("extensions.pocket.showHome", false); - user_pref("extensions.pocket.site", ""); - user_pref("extensions.recommendations.privacyPolicyUrl", ""); - user_pref("extensions.recommendations.themeRecommendationUrl", ""); - user_pref("extensions.ui.dictionary.hidden", true); - user_pref("extensions.update.autoUpdateDefault", false); - user_pref("extensions.webextensions.restrictedDomains", ""); - user_pref("layers.acceleration.disabled", false); - user_pref("network.predictor.enabled", false); - user_pref("network.prefetch-next", false); - user_pref("network.trr.confirmation_telemetry_enabled", false); - user_pref("privacy.clearOnShutdown.downloads", true); - user_pref("privacy.donottrackheader.enabled", false); - user_pref("privacy.resistFingerprinting.block_mozAddonManager", true); - user_pref("privacy.trackingprotection.origin_telemetry.enabled", false); - user_pref("remote.prefs.recommended", false); - user_pref("security.app_menu.recordEventTelemetry", false); - user_pref("security.certerrors.recordEventTelemetry", false); - user_pref("security.identitypopup.recordEventTelemetry", false); - user_pref("security.protectionspopup.recordEventTelemetry", false); - user_pref("services.settings.server", ""); - user_pref("signon.autofillForms", false); - user_pref("signon.generation.enabled", false); - user_pref("signon.management.page.breach-alerts.enabled", false); - user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); - user_pref("toolkit.telemetry.bhrPing.enabled", false); - user_pref("toolkit.telemetry.cachedClientID", ""); - user_pref("toolkit.telemetry.dap_enabled", false); - user_pref("toolkit.telemetry.dap_helper", ""); - user_pref("toolkit.telemetry.dap_leader", ""); - user_pref("toolkit.telemetry.dap_task1_enabled", false); - user_pref("toolkit.telemetry.debugSlowSql", false); - user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); - user_pref("toolkit.telemetry.geckoview.streaming", false); - user_pref("toolkit.telemetry.newProfilePing.enabled", false); - user_pref("toolkit.telemetry.pioneer-new-studies-available", false); - user_pref("toolkit.telemetry.previousBuildID", ""); - user_pref("toolkit.telemetry.reportingpolicy.firstRun", ""); - user_pref("toolkit.telemetry.server", ""); - user_pref("toolkit.telemetry.server_owner", ""); - user_pref("toolkit.telemetry.shutdownPingSender.backgroundtask.enabled", false); - user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); - user_pref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false); - user_pref("toolkit.telemetry.testing.overrideProductsCheck", false); - user_pref("toolkit.telemetry.unified", false); - user_pref("toolkit.telemetry.updatePing.enabled", ""); - user_pref("ui.systemUsesDarkTheme", 1); - user_pref("webgl.force-enabled", true); - user_pref("xpinstall.signatures.required", false); - '' + - # Fastfox tweaks - '' - user_pref("media.memory_cache_max_size", 65536); - user_pref("browser.cache.jsbc_compression_level", 3); - user_pref("image.mem.decode_bytes_at_a_time", 32768); - user_pref("network.http.max-connections", 1800); - user_pref("network.http.max-persistent-connections-per-server", 10); - user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5); - user_pref("network.dns.max_high_priority_threads", 8); - user_pref("network.ssl_tokens_cache_capacity", 10240); - user_pref("network.dns.disablePrefetch", true); - user_pref("browser.places.speculativeConnect.enabled", false); - user_pref("browser.urlbar.speculativeConnect.enabled", false); - ''; -} diff --git a/homes/x86_64-linux/pyrox/programs/firefox/policies.nix b/homes/x86_64-linux/pyrox/programs/firefox/policies.nix deleted file mode 100644 index c81d379a..00000000 --- a/homes/x86_64-linux/pyrox/programs/firefox/policies.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - programs.firefox.policies = { - AppAutoUpdate = false; - DisableAppUpdate = true; - DisableFirefoxAccounts = true; - DisableFirefoxStudies = true; - DisableMasterPasswordCreation = true; - DisablePocket = true; - DisableTelemetry = true; - DNSOverHTTPS = { - Enabled = false; - ProviderURL = "https://dns.nextdns.io/36e7f7"; - Locked = true; - }; - ExtensionUpdate = false; - FirefoxHome = { - Search = true; - TopSites = false; - SponsoredTopSites = false; - Highlights = false; - Pocket = false; - SponsoredPocket = false; - Snippets = false; - Locked = true; - }; - Homepage = { - URL = "https://dash.pyrox.dev"; - Locked = true; - StartPage = "homepage-locked"; - }; - ManualAppUpdateOnly = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - OverrideFirstRunPage = ""; - OverridePostUpdatePage = ""; - PasswordManagerEnabled = false; - SearchBar = "unified"; - ShowHomeButton = false; - UserMessaging = { - WhatsNew = false; - ExtensionRecommendations = false; - FeatureRecommendations = false; - UrlbarInterventions = false; - SkipOnboarding = false; - }; - }; -} diff --git a/modules/nixos/programs/firefox/default.nix b/modules/nixos/programs/firefox/default.nix new file mode 100644 index 00000000..4ac2fc08 --- /dev/null +++ b/modules/nixos/programs/firefox/default.nix @@ -0,0 +1,30 @@ +{ + inputs, + config, + lib, + system, + ... +}: +let + cfg = config.py.programs.firefox; + spkgs = inputs.stable.legacyPackages.${system}; +in +{ + options.py.programs.firefox = { + enable = lib.mkEnableOption "Firefox configuration"; + }; + + config = lib.mkIf (cfg.enable || config.py.profiles.graphical.enable) { + programs.firefox = { + enable = true; + package = spkgs.firefox; + wrapperConfig.cfg = { + smartcardSupport = true; + pipewireSupport = true; + ffmpegSupport = true; + }; + policies = import ./policies.nix; + preferences = import ./extraPrefs.nix; + }; + }; +} diff --git a/modules/nixos/programs/firefox/extensions.nix b/modules/nixos/programs/firefox/extensions.nix new file mode 100644 index 00000000..2c4e8671 --- /dev/null +++ b/modules/nixos/programs/firefox/extensions.nix @@ -0,0 +1,68 @@ +let + mkAMO = short: { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/${short}/latest.xpi"; + }; +in +{ + # Addons from AMO + "{1be309c5-3e4f-4b99-927d-bb500eb4fa88}" = mkAMO "augmented-steam"; + "{446900e4-71c2-419f-a6a7-df9c091e268b}" = mkAMO "bitwarden-password-manager" // { + default_area = "navbar"; + }; + "{bbb880ce-43c9-47ae-b746-c3e0096c5b76}" = mkAMO "catppuccin-gh-file-explorer"; + "{74145f27-f039-47ce-a470-a662b129930a}" = mkAMO "clearurls"; + "gdpr@cavi.au.dk" = mkAMO "consent-o-matic"; + "{5cce4ab5-3d47-41b9-af5e-8203eea05245}" = mkAMO "control-panel-for-twitter"; + "CookieAutoDelete@kennydo.com" = mkAMO "cookie-autodelete"; + "addon@darkreader.org" = mkAMO "darkreader" // { + default_area = "navbar"; + }; + "DontFuckWithPaste@raim.ist" = mkAMO "don-t-fuck-with-paste"; + "{72bd91c9-3dc5-40a8-9b10-dec633c0873f}" = mkAMO "enhanced-github"; + "headereditor-amo@addon.firefoxcn.net" = mkAMO "header-editor"; + "idcac-pub@guus.ninja" = mkAMO "istilldontcareaboutcookies"; + "search@kagi.com" = mkAMO "kagi-search-for-firefox"; + "7esoorv3@alefvanoon.anonaddy.me" = mkAMO "libredirect" // { + default_area = "navbar"; + }; + "github-forks-addon@musicallyut.in" = mkAMO "lovely-forks"; + "firefox-addon@pronoundb.org" = mkAMO "pronoundb"; + "{30280527-c46c-4e03-bb16-2e3ed94fa57c}" = mkAMO "protondb-for-steam"; + "redirector@einaregilsson.com" = mkAMO "redirector"; + "{a4c4eda4-fb84-4a84-b4a1-f7c1cbf2a1ad}" = mkAMO "refined-github-"; + "{762f9885-5a13-4abd-9c77-433dcd38b8fd}" = mkAMO "return-youtube-dislikes"; + "{48748554-4c01-49e8-94af-79662bf34d50}" = mkAMO "privacy-pass"; + "sponsorBlocker@ajay.app" = mkAMO "sponsorblock"; + "firefox-extension@steamdb.info" = mkAMO "steam-database"; + "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}" = mkAMO "styl-us" // { + default_area = "navbar"; + }; + "jid0-3GUEt1r69sQNSrca5p8kx9Ezc3U@jetpack" = mkAMO "terms-of-service-didnt-read"; + "{76ef94a4-e3d0-4c6f-961a-d38a429a332b}" = mkAMO "ttv-lol-pro"; + "uBlock0@raymondhill.net" = mkAMO "ublock-origin" // { + default_area = "navbar"; + }; + "{799c0914-748b-41df-a25c-22d008f9e83f}" = mkAMO "web-scrobbler" // { + default_area = "navbar"; + }; + # Official Mozilla Extensions + # Still downloaded from AMO + "@contain-facebook" = mkAMO "facebook-container"; + "FirefoxColor@mozilla.com" = mkAMO "firefox-color"; + "firefox-translations-addon@mozilla.org" = mkAMO "firefox-translations"; + "@testpilot-containers" = mkAMO "multi-account-containers"; + # External Addons + "frankerfacez@frankerfacez.com" = { + installation_mode = "force_installed"; + install_url = "https://cdn.frankerfacez.com/script/frankerfacez-4.0-an+fx.xpi"; + }; + "magnolia@12.34" = { + installation_mode = "force_installed"; + install_url = "https://github.com/bpc-clone/bpc_updates/releases/download/latest/bypass_paywalls_clean-latest.xpi"; + }; + "zotero@chnm.gmu.edu" = { + installation_mode = "force_installed"; + install_url = "https://www.zotero.org/download/connector/dl?browser=firefox"; + }; +} diff --git a/modules/nixos/programs/firefox/extraPrefs.nix b/modules/nixos/programs/firefox/extraPrefs.nix new file mode 100644 index 00000000..e0024ae4 --- /dev/null +++ b/modules/nixos/programs/firefox/extraPrefs.nix @@ -0,0 +1,169 @@ +{ + "accessibility.typeaheadfind.flashBar" = 0; + "app.normandy.api_url" = ""; + "app.normandy.enabled" = false; + "app.normandy.first_run" = false; + "app.shield.optoutstudies.enabled" = false; + "app.update.auto" = false; + "app.update.backgroundErrors" = 1; + "app.update.disable_button.showUpdateHistory" = false; + "beacon.enabled" = false; + "browser.aboutConfig.showWarning" = false; + "browser.bookmarks.addedImportButton" = true; + "browser.contentblocking.report.hide_vpn_banner" = true; + "browser.contentblocking.report.lockwise.enabled" = false; + "browser.contentblocking.report.show_mobile_app" = false; + "browser.contentblocking.report.social.url" = ""; + "browser.formfill.enable" = false; + "browser.laterrun.bookkeeping.profileCreationTime" = 0; + "browser.laterrun.bookkeeping.sessionCount" = 0; + "browser.newtabpage.activity-stream.discoverystream.enabled" = false; + "browser.newtabpage.activity-stream.discoverystream.endpointSpocsClear" = ""; + "browser.newtabpage.activity-stream.discoverystream.endpoints" = ""; + "browser.newtabpage.activity-stream.discoverystream.personalization.enabled" = false; + "browser.newtabpage.activity-stream.discoverystream.readTime.enabled" = false; + "browser.newtabpage.activity-stream.discoverystream.rec.impressions" = "{}"; + "browser.newtabpage.activity-stream.discoverystream.recentSaves.enabled" = false; + "browser.newtabpage.activity-stream.discoverystream.saveToPocketCard.enabled" = false; + "browser.newtabpage.activity-stream.discoverystream.sendToPocket.enabled" = false; + "browser.newtabpage.activity-stream.discoverystream.spoc.impressions" = "{}"; + "browser.newtabpage.activity-stream.feeds.recommendationprovider" = false; + "browser.newtabpage.activity-stream.feeds.telemetry" = false; + "browser.newtabpage.activity-stream.impressionId" = "{}"; + "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; + "browser.newtabpage.activity-stream.telemetry" = false; + "browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint" = ""; + "browser.newtabpage.activity-stream.telemetry.ut.events" = false; + "browser.partnerlink.attributionURL" = ""; + "browser.partnerlink.campaign.topsites" = ""; + "browser.ping-centre.telemetry" = false; + "browser.places.importBookmarksHTML" = false; + "browser.pocket.enabled" = false; + "browser.safebrowsing.downloads.enabled" = false; + "browser.safebrowsing.downloads.remote.block_dangerous" = false; + "browser.safebrowsing.downloads.remote.block_dangerous_host" = false; + "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false; + "browser.safebrowsing.downloads.remote.block_uncommon" = false; + "browser.safebrowsing.downloads.remote.enabled" = false; + "browser.safebrowsing.downloads.remote.url" = ""; + "browser.safebrowsing.malware.enabled" = false; + "browser.safebrowsing.phishing.enabled" = false; + # Disable safebrowsing shit + "browser.safebrowsing.provider.google.advisoryURL" = ""; + "browser.safebrowsing.provider.google.gethashURL" = ""; + "browser.safebrowsing.provider.google.reportURL" = ""; + "browser.safebrowsing.provider.google.updateURL" = ""; + "browser.safebrowsing.provider.google4.advisoryURL" = ""; + "browser.safebrowsing.provider.google4.dataSharingURL" = ""; + "browser.safebrowsing.provider.google4.gethashURL" = ""; + "browser.safebrowsing.provider.google4.lists" = ""; + "browser.safebrowsing.provider.google4.reportURL" = ""; + "browser.safebrowsing.provider.google4.updateURL" = ""; + "browser.safebrowsing.provider.mozilla.gethashURL" = ""; + "browser.safebrowsing.provider.mozilla.lastupdatetime" = ""; + "browser.safebrowsing.provider.mozilla.lists" = ""; + "browser.safebrowsing.provider.mozilla.lists.base" = ""; + "browser.safebrowsing.provider.mozilla.lists.content" = ""; + "browser.safebrowsing.provider.mozilla.nextupdatetime" = ""; + "browser.safebrowsing.provider.mozilla.updateURL" = ""; + "browser.search.serpEventTelemetry.enabled" = false; + "browser.send_pings" = false; + "browser.tabs.warnOnClose" = true; + # Disable useless suggestions + "browser.urlbar.suggest.addons" = false; + "browser.urlbar.suggest.bookmark" = true; + "browser.urlbar.suggest.calculator" = true; + "browser.urlbar.suggest.clipboard" = false; + "browser.urlbar.suggest.engines" = false; + "browser.urlbar.suggest.history" = true; + "browser.urlbar.suggest.mdn" = false; + "browser.urlbar.suggest.openpage" = true; + "browser.urlbar.suggest.pocket" = false; + "browser.urlbar.suggest.quicksuggest.nonsponsored" = false; + "browser.urlbar.suggest.quicksuggest.sponsored" = false; + "browser.urlbar.suggest.topsites" = false; + "browser.urlbar.suggest.trending" = false; + "browser.urlbar.suggest.weather" = false; + # Disable sensors + "device.sensors.ambientLight.enabled" = false; + "device.sensors.enabled" = false; + "device.sensors.motion.enabled" = false; + "device.sensors.orientation.enabled" = false; + "device.sensors.proximity.enabled" = false; + "device.sensors.test.events" = false; + "devtools.chrome.enabled" = true; + "doh-rollout.uri" = ""; + "dom.battery.enabled" = false; + "dom.event.clipboardevents.enabled" = false; + "dom.security.unexpected_system_load_telemetry_enabled" = false; + "dom.webgpu.enabled" = true; + "extensions.formautofill.addresses.enabled" = false; + "extensions.formautofill.creditCards.enabled" = false; + "extensions.htmlaboutaddons.recommendations.enabled" = false; + # Disable Pocket + "extensions.pocket.enabled" = false; + "extensions.pocket.showHome" = false; + "extensions.pocket.site" = ""; + "extensions.recommendations.privacyPolicyUrl" = ""; + "extensions.recommendations.themeRecommendationUrl" = ""; + "extensions.ui.dictionary.hidden" = true; + "extensions.update.autoUpdateDefault" = false; + "extensions.webextensions.restrictedDomains" = ""; + "privacy.clearOnShutdown.downloads" = true; + "privacy.donottrackheader.enabled" = false; + "privacy.resistFingerprinting.block_mozAddonManager" = true; + "remote.prefs.recommended" = false; + "services.settings.server" = ""; + "signon.autofillForms" = false; + "signon.generation.enabled" = false; + "signon.management.page.breach-alerts.enabled" = false; + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + "ui.systemUsesDarkTheme" = 1; + "webgl.force-enabled" = true; + "xpinstall.signatures.required" = false; + # Disable telemetry stuff + # Already disabled in policies, but better safe than sorry. + "browser.urlbar.eventTelemetry.enabled" = false; + "browser.urlbar.quicksuggest.dataCollection.enabled" = false; + "datareporting.healthreport.infoURL" = ""; + "datareporting.policy.firstRunURL" = ""; + "security.app_menu.recordEventTelemetry" = false; + "security.certerrors.recordEventTelemetry" = false; + "security.identitypopup.recordEventTelemetry" = false; + "security.protectionspopup.recordEventTelemetry" = false; + "network.trr.confirmation_telemetry_enabled" = false; + "privacy.trackingprotection.origin_telemetry.enabled" = false; + "toolkit.telemetry.bhrPing.enabled" = false; + "toolkit.telemetry.cachedClientID" = ""; + "toolkit.telemetry.dap_enabled" = false; + "toolkit.telemetry.dap_helper" = ""; + "toolkit.telemetry.dap_leader" = ""; + "toolkit.telemetry.dap_task1_enabled" = false; + "toolkit.telemetry.debugSlowSql" = false; + "toolkit.telemetry.firstShutdownPing.enabled" = false; + "toolkit.telemetry.geckoview.streaming" = false; + "toolkit.telemetry.newProfilePing.enabled" = false; + "toolkit.telemetry.pioneer-new-studies-available" = false; + "toolkit.telemetry.previousBuildID" = ""; + "toolkit.telemetry.reportingpolicy.firstRun" = ""; + "toolkit.telemetry.server" = ""; + "toolkit.telemetry.server_owner" = ""; + "toolkit.telemetry.shutdownPingSender.backgroundtask.enabled" = false; + "toolkit.telemetry.shutdownPingSender.enabled" = false; + "toolkit.telemetry.shutdownPingSender.enabledFirstSession" = false; + "toolkit.telemetry.testing.overrideProductsCheck" = false; + "toolkit.telemetry.unified" = false; + "toolkit.telemetry.updatePing.enabled" = ""; + # FastFox + "media.memory_cache_max_size" = 65536; + "browser.cache.jsbc_compression_level" = 3; + "image.mem.decode_bytes_at_a_time" = 32768; + "network.http.max-connections" = 1800; + "network.http.max-persistent-connections-per-server" = 10; + "network.http.max-urgent-start-excessive-connections-per-host" = 5; + "network.dns.max_high_priority_threads" = 8; + "network.ssl_tokens_cache_capacity" = 10240; + "network.dns.disablePrefetch" = true; + "browser.places.speculativeConnect.enabled" = false; + "browser.urlbar.speculativeConnect.enabled" = false; +} diff --git a/modules/nixos/programs/firefox/policies.nix b/modules/nixos/programs/firefox/policies.nix new file mode 100644 index 00000000..8aad925e --- /dev/null +++ b/modules/nixos/programs/firefox/policies.nix @@ -0,0 +1,66 @@ +{ + AppAutoUpdate = false; + AutofillAddressEnabled = false; + AutofillCreditCardEnabled = false; + BackgroundAppUpdate = false; + DisableAppUpdate = true; + DisableBuiltinPDFViewer = false; + DisableFirefoxAccounts = true; + DisableFirefoxStudies = true; + DisableMasterPasswordCreation = true; + DisablePocket = true; + DisableSetDesktopBackground = true; + DisableTelemetry = true; + DNSOverHTTPS = { + Enabled = false; + ProviderURL = "https://dns.nextdns.io/36e7f7"; + Locked = true; + }; + DontCheckDefaultBrowser = true; + ExtensionSettings = import ./extensions.nix; + ExtensionUpdate = true; + FirefoxHome = { + Search = true; + TopSites = false; + SponsoredTopSites = false; + Highlights = false; + Pocket = false; + SponsoredPocket = false; + Snippets = false; + Locked = true; + }; + FirefoxSuggest = { + WebSuggestions = false; + SponsoredSuggestions = false; + ImproveSuggest = false; + Locked = true; + }; + HardwareAcceleration = true; + Homepage = { + URL = "about:blank"; + Locked = true; + StartPage = "previous-session"; + }; + ManualAppUpdateOnly = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + OverrideFirstRunPage = ""; + OverridePostUpdatePage = ""; + PasswordManagerEnabled = false; + PDFjs = { + Enabled = true; + EnablePermissions = false; + }; + PrintingEnabled = true; + SearchBar = "unified"; + ShowHomeButton = false; + UserMessaging = { + WhatsNew = false; + ExtensionRecommendations = false; + FeatureRecommendations = false; + UrlbarInterventions = false; + SkipOnboarding = false; + MoreFromMozilla = false; + Locked = true; + }; +} -- 2.51.2 From c4ab6f0ec7f742eb9ce2e8f547d9ab77378b21f5 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 1 Jun 2024 15:23:37 -0400 Subject: [PATCH 022/105] [modules.nixos] Add profiles --- modules/nixos/profiles/default.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 modules/nixos/profiles/default.nix diff --git a/modules/nixos/profiles/default.nix b/modules/nixos/profiles/default.nix new file mode 100644 index 00000000..5c533dab --- /dev/null +++ b/modules/nixos/profiles/default.nix @@ -0,0 +1,20 @@ +{ config, lib, ... }: +let + cfg = config.py.profiles; +in +{ + options.py.profiles = { + base.enable = lib.mkEnableOption "Base Profile"; + cli.enable = lib.mkEnableOption "CLI Profile"; + development.enable = lib.mkEnableOption "Development Profile"; + graphical.enable = lib.mkEnableOption "Graphical Profile"; + server.enable = lib.mkEnableOption "Server Profile"; + }; + config = { + py.profiles = { + base.enable = lib.mkDefault true; + cli.enable = lib.mkDefault true; + development.enable = lib.mkDefault (if cfg.graphical.enable then true else false); + }; + }; +} -- 2.51.2 From a7c892360fcfe3ad8af240c1545100f4539baade Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 1 Jun 2024 15:23:47 -0400 Subject: [PATCH 023/105] [modules.nixos] Add neovim module --- modules/nixos/programs/neovim/default.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 modules/nixos/programs/neovim/default.nix diff --git a/modules/nixos/programs/neovim/default.nix b/modules/nixos/programs/neovim/default.nix new file mode 100644 index 00000000..3905beee --- /dev/null +++ b/modules/nixos/programs/neovim/default.nix @@ -0,0 +1,23 @@ +{ + pkgs, + lib, + config, + ... +}: +let + cfg = config.py.programs.neovim; +in +{ + options.py.programs.neovim = lib.mkEnableOption "Neovim configuration"; + + config.programs.neovim = lib.mkIf (cfg.enable || config.py.profiles.cli.enable) { + enable = true; + package = pkgs.py.nvim; + defaultEditor = true; + viAlias = true; + vimAlias = true; + withRuby = false; + withNodeJs = false; + withPython3 = false; + }; +} -- 2.51.2 From 319ce1ba0085d558b636bee3eab94b228ac03149 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 1 Jun 2024 15:23:57 -0400 Subject: [PATCH 024/105] [shell] Add nixd and nil to default shell --- shells/default/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/shells/default/default.nix b/shells/default/default.nix index 54af2825..dee6e12d 100644 --- a/shells/default/default.nix +++ b/shells/default/default.nix @@ -5,5 +5,7 @@ in mkShell { pkgs.deadnix pkgs.nixfmt-rfc-style pkgs.statix + pkgs.nixd + pkgs.nil ]; } -- 2.51.2 From 5851920710a89083f363f921988dc7f12d63be21 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 1 Jun 2024 15:24:11 -0400 Subject: [PATCH 025/105] [home] Remove taskwarrior configuration --- homes/x86_64-linux/pyrox/programs/taskwarrior.nix | 1 - homes/x86_64-linux/pyrox/services/taskwarrior-sync.nix | 6 ------ 2 files changed, 7 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/taskwarrior.nix delete mode 100644 homes/x86_64-linux/pyrox/services/taskwarrior-sync.nix diff --git a/homes/x86_64-linux/pyrox/programs/taskwarrior.nix b/homes/x86_64-linux/pyrox/programs/taskwarrior.nix deleted file mode 100644 index f8d6b647..00000000 --- a/homes/x86_64-linux/pyrox/programs/taskwarrior.nix +++ /dev/null @@ -1 +0,0 @@ -{programs.taskwarrior = {enable = true;};} diff --git a/homes/x86_64-linux/pyrox/services/taskwarrior-sync.nix b/homes/x86_64-linux/pyrox/services/taskwarrior-sync.nix deleted file mode 100644 index a5aac0a2..00000000 --- a/homes/x86_64-linux/pyrox/services/taskwarrior-sync.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.taskwarrior-sync = { - enable = false; - frequency = "*:00:00"; - }; -} -- 2.51.2 From d3589c2557bc71cd4643de04b710c63377938cec Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 1 Jun 2024 15:24:51 -0400 Subject: [PATCH 026/105] [home] Remove program config and add config options --- modules/home/profiles/cli/default.nix | 7 +++++-- modules/home/profiles/desktop/default.nix | 2 -- modules/home/profiles/gui/default.nix | 6 +++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/modules/home/profiles/cli/default.nix b/modules/home/profiles/cli/default.nix index 9d873489..688f4200 100644 --- a/modules/home/profiles/cli/default.nix +++ b/modules/home/profiles/cli/default.nix @@ -5,8 +5,6 @@ ../programs/direnv.nix ../programs/fish.nix ../programs/fzf.nix - ../programs/git.nix - ../programs/gh.nix ../programs/helix.nix ../programs/neovim.nix ../programs/nix-index.nix @@ -19,6 +17,11 @@ ../files/distrobox-config.nix ]; + py.programs = { + git.enable = true; + gh.enable = true; + lazygit.enable = true; + }; programs = { eza = { enable = true; diff --git a/modules/home/profiles/desktop/default.nix b/modules/home/profiles/desktop/default.nix index 67197803..bdc29740 100644 --- a/modules/home/profiles/desktop/default.nix +++ b/modules/home/profiles/desktop/default.nix @@ -22,8 +22,6 @@ wlogout wl-clipboard zotero - # For nvim config - nodejs ]; xdg.configFile = { "waybar/style.css" = { diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix index c799d09b..de9b555f 100644 --- a/modules/home/profiles/gui/default.nix +++ b/modules/home/profiles/gui/default.nix @@ -9,7 +9,6 @@ ../wayland/sway.nix ../programs/chromium.nix - ../programs/firefox ../programs/kitty.nix ../programs/obs.nix ../programs/vscodium.nix @@ -30,6 +29,11 @@ home.sessionVariables = { XDG_CURRENT_DESKTOP = "sway"; }; + py.programs.firefox = { + enable = true; + prefs.enable = true; + policies.enable = true; + }; home.packages = with pkgs; [ jetbrains-toolbox libappindicator -- 2.51.2 From a27e0766c8986a3bf4dd1907ae9b2ddfca5b99fe Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 1 Jun 2024 15:25:07 -0400 Subject: [PATCH 027/105] [home] Add modules --- modules/home/programs/firefox/default.nix | 22 ++ modules/home/programs/neovim/default.nix | 40 ++++ modules/home/wayland/keybindings.nix | 2 +- modules/home/wayland/sway.nix | 257 +++++++++++----------- 4 files changed, 196 insertions(+), 125 deletions(-) create mode 100644 modules/home/programs/firefox/default.nix create mode 100644 modules/home/programs/neovim/default.nix diff --git a/modules/home/programs/firefox/default.nix b/modules/home/programs/firefox/default.nix new file mode 100644 index 00000000..c472ecfc --- /dev/null +++ b/modules/home/programs/firefox/default.nix @@ -0,0 +1,22 @@ +{ config, lib, ... }: +let + cfg = config.py.programs.firefox; +in +{ + options.py.programs.firefox = { + enable = lib.mkEnableOption "Firefox configuration"; + }; + config = lib.mkIf cfg.enable { + programs.firefox = { + inherit (cfg) enable; + package = null; + profiles = { + default = { + id = 0; + isDefault = true; + name = "Default"; + }; + }; + }; + }; +} diff --git a/modules/home/programs/neovim/default.nix b/modules/home/programs/neovim/default.nix new file mode 100644 index 00000000..93028e29 --- /dev/null +++ b/modules/home/programs/neovim/default.nix @@ -0,0 +1,40 @@ +{ + pkgs, + osConfig, + config, + lib, + ... +}: +let + cfg = config.py.programs.neovim; +in +{ + options.py.programs.neovim.enable = lib.mkEnableOption "Neovim Configuration"; + + config.programs.neovim = lib.mkIf cfg.enable { + enable = true; + package = osConfig.programs.neovim.finalPackage; + viAlias = true; + vimAlias = true; + vimdiffAlias = true; + extraPackages = + [ + pkgs.bottom + pkgs.fd + pkgs.gcc + pkgs.go + pkgs.nodejs + ] + ++ ( + if config.py.profiles.graphical.enable then + [ + pkgs.ffmpegthumbnailer + pkgs.fontpreview + pkgs.poppler + pkgs.ueberzug + ] + else + [ ] + ); + }; +} diff --git a/modules/home/wayland/keybindings.nix b/modules/home/wayland/keybindings.nix index d029b1b6..9ecd60d9 100644 --- a/modules/home/wayland/keybindings.nix +++ b/modules/home/wayland/keybindings.nix @@ -1,4 +1,4 @@ -{ config, ... }: +{ config, lib, ... }: let inherit (config.wayland.windowManager.sway.config) menu; mod = config.wayland.windowManager.sway.config.modifier; diff --git a/modules/home/wayland/sway.nix b/modules/home/wayland/sway.nix index 14dd6242..eff58e0f 100644 --- a/modules/home/wayland/sway.nix +++ b/modules/home/wayland/sway.nix @@ -1,143 +1,152 @@ -{ pkgs, config, ... }: +{ pkgs, config, lib, ... }: let term = config.wayland.windowManager.sway.config.terminal; homeDir = config.home.homeDirectory; + cfg = config.py.gui; in { - wayland.windowManager.sway = { - enable = true; - package = null; - catppuccin.enable = true; - # nix-community/home-manager/issues/5311 - checkConfig = false; - wrapperFeatures.base = true; - wrapperFeatures.gtk = true; - extraConfig = '' - default_border pixel - focus_on_window_activation smart - ''; - systemd = { - enable = true; - xdgAutostart = true; + options.py.gui = { + enable = lib.mkEnableOption "GUI Configuration"; + }; + config = lib.mkIf cfg.enable { + home.sessionVariables = { + XDG_CURRENT_DESKTOP = "sway"; }; - config = { - terminal = "${pkgs.kitty}/bin/kitty"; - menu = "exec ${term} --detach --class=launcher -o initial_window_height=500 -o initial_window_width=500 -o font_size=16 ${pkgs.sway-launcher-desktop}/bin/sway-launcher-desktop"; - modifier = "Mod4"; - bars = [ { command = "true"; } ]; - focus = { - followMouse = true; - mouseWarping = true; - newWindow = "smart"; - }; - fonts = { - names = [ "IBM Plex Sans" ]; - style = "Regular"; - size = 12.0; - }; - gaps = { - inner = 4; - outer = 4; - smartBorders = "off"; - smartGaps = false; + wayland.windowManager.sway = { + enable = true; + package = null; + catppuccin.enable = true; + # nix-community/home-manager/issues/5311 + checkConfig = false; + wrapperFeatures.base = true; + wrapperFeatures.gtk = true; + extraConfig = '' + default_border pixel + focus_on_window_activation smart + ''; + systemd = { + enable = true; + xdgAutostart = true; }; - input = { - "type:keyboard" = { - xkb_options = "caps:escape"; + config = { + terminal = "${pkgs.kitty}/bin/kitty"; + menu = "exec ${term} --detach --class=launcher -o initial_window_height=500 -o initial_window_width=500 -o font_size=16 ${pkgs.sway-launcher-desktop}/bin/sway-launcher-desktop"; + modifier = "Mod4"; + bars = [ { command = "true"; } ]; + focus = { + followMouse = true; + mouseWarping = true; + newWindow = "smart"; }; - "type:mouse" = { - accel_profile = "flat"; + fonts = { + names = [ "IBM Plex Sans" ]; + style = "Regular"; + size = 12.0; }; - "type:touchpad" = { - accel_profile = "adaptive"; - scroll_factor = "1.5"; - tap = "enabled"; + gaps = { + inner = 4; + outer = 4; + smartBorders = "off"; + smartGaps = false; }; - }; - modes = { - resize = { - Escape = "mode default"; - Return = "mode default"; - Up = "resize shrink height 10 px"; - Down = "resize grow height 10 px"; - Left = "resize shrink width 10 px"; - Right = "resize grow width 10 px"; - h = "resize shrink width 10 px"; - j = "resize grow height 10 px"; - k = "resize shrink height 10 px"; - l = "resize grow width 10 px"; + input = { + "type:keyboard" = { + xkb_options = "caps:escape"; + }; + "type:mouse" = { + accel_profile = "flat"; + }; + "type:touchpad" = { + accel_profile = "adaptive"; + scroll_factor = "1.5"; + tap = "enabled"; + }; }; - }; - output = { - eDP-1 = { - scale = "1.2"; + modes = { + resize = { + Escape = "mode default"; + Return = "mode default"; + Up = "resize shrink height 10 px"; + Down = "resize grow height 10 px"; + Left = "resize shrink width 10 px"; + Right = "resize grow width 10 px"; + h = "resize shrink width 10 px"; + j = "resize grow height 10 px"; + k = "resize shrink height 10 px"; + l = "resize grow width 10 px"; + }; }; - "*" = { - bg = "${homeDir}/bgs/xenia-hangout-mocha.png fill"; + output = { + eDP-1 = { + scale = "1.2"; + }; + "*" = { + bg = "${homeDir}/bgs/xenia-hangout-mocha.png fill"; + }; }; - }; - startup = [ - { command = "${pkgs.dex}/bin/dex -a"; } - { command = "${homeDir}/scripts/unfuck-xdg-portals.fish"; } - ]; - window = { - commands = [ - { - command = "inhibit_idle fullscreen"; - criteria = { - class = "Chromium|zoom|Firefox"; - }; - } - { - command = "floating enable, sticky enable, resize set 30 ppt 50 ppt, border pixel 4"; - criteria = { - app_id = "^launcher$"; - }; - } - { - command = "resize set 20 ppt"; - criteria = { - title = "Mumble PTT"; - }; - } + startup = [ + { command = "${pkgs.dex}/bin/dex -a"; } + { command = "${homeDir}/scripts/unfuck-xdg-portals.fish"; } ]; - }; - colors = { - background = "$base"; - focused = { - border = "$pink"; - background = "$base"; - text = "$text"; - indicator = "$rosewater"; - childBorder = "$pink"; - }; - focusedInactive = { - border = "$mauve"; - background = "$base"; - text = "$text"; - indicator = "$rosewater"; - childBorder = "$mauve"; - }; - unfocused = { - border = "$mauve"; - background = "$base"; - text = "$text"; - indicator = "$rosewater"; - childBorder = "$mauve"; - }; - urgent = { - border = "$peach"; - background = "$base"; - text = "$peach"; - indicator = "$overlay0"; - childBorder = "$peach"; + window = { + commands = [ + { + command = "inhibit_idle fullscreen"; + criteria = { + class = "Chromium|zoom|Firefox"; + }; + } + { + command = "floating enable, sticky enable, resize set 30 ppt 50 ppt, border pixel 4"; + criteria = { + app_id = "^launcher$"; + }; + } + { + command = "resize set 20 ppt"; + criteria = { + title = "Mumble PTT"; + }; + } + ]; }; - placeholder = { - border = "$overlay0"; + colors = { background = "$base"; - text = "$text"; - indicator = "$overlay0"; - childBorder = "$overlay0"; + focused = { + border = "$pink"; + background = "$base"; + text = "$text"; + indicator = "$rosewater"; + childBorder = "$pink"; + }; + focusedInactive = { + border = "$mauve"; + background = "$base"; + text = "$text"; + indicator = "$rosewater"; + childBorder = "$mauve"; + }; + unfocused = { + border = "$mauve"; + background = "$base"; + text = "$text"; + indicator = "$rosewater"; + childBorder = "$mauve"; + }; + urgent = { + border = "$peach"; + background = "$base"; + text = "$peach"; + indicator = "$overlay0"; + childBorder = "$peach"; + }; + placeholder = { + border = "$overlay0"; + background = "$base"; + text = "$text"; + indicator = "$overlay0"; + childBorder = "$overlay0"; + }; }; }; }; -- 2.51.2 From 43f7902e13d0058fe1fdfb54b43d28847c589729 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 1 Jun 2024 15:25:15 -0400 Subject: [PATCH 028/105] [modules.home] Update packages --- modules/home/profiles/development/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/home/profiles/development/default.nix b/modules/home/profiles/development/default.nix index be6e29a5..1c39e99d 100644 --- a/modules/home/profiles/development/default.nix +++ b/modules/home/profiles/development/default.nix @@ -1,6 +1,6 @@ { pkgs, ... }: let - customPython = pkgs.python311.withPackages (ps: [ ps.pip ]); + customPython = pkgs.python312.withPackages (ps: [ ps.pip ]); in { home.packages = with pkgs; [ @@ -10,7 +10,6 @@ in colmena customPython editorconfig-core-c - py.customGit nil nixd ]; -- 2.51.2 From 895a1acea5f2778627ebf226e4de08f3b7abff85 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 02:48:16 -0400 Subject: [PATCH 029/105] [modules] Add chromium module --- .../x86_64-linux/pyrox/programs/chromium.nix | 6 - modules/home/profiles/gui/default.nix | 12 +- modules/home/programs/chromium/default.nix | 23 ++++ modules/nixos/programs/chromium.nix | 16 +++ modules/nixos/programs/extraOpts.nix | 82 +++++++++++++ .../x86_64-linux/zaphod/programs/chromium.nix | 112 ------------------ 6 files changed, 128 insertions(+), 123 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/chromium.nix create mode 100644 modules/home/programs/chromium/default.nix create mode 100644 modules/nixos/programs/chromium.nix create mode 100644 modules/nixos/programs/extraOpts.nix delete mode 100644 systems/x86_64-linux/zaphod/programs/chromium.nix diff --git a/homes/x86_64-linux/pyrox/programs/chromium.nix b/homes/x86_64-linux/pyrox/programs/chromium.nix deleted file mode 100644 index c36e889b..00000000 --- a/homes/x86_64-linux/pyrox/programs/chromium.nix +++ /dev/null @@ -1,6 +0,0 @@ -{pkgs, ...}: { - programs.chromium = { - enable = true; - package = pkgs.ungoogled-chromium; - }; -} diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix index de9b555f..b439c8b1 100644 --- a/modules/home/profiles/gui/default.nix +++ b/modules/home/profiles/gui/default.nix @@ -8,7 +8,6 @@ imports = [ ../wayland/sway.nix - ../programs/chromium.nix ../programs/kitty.nix ../programs/obs.nix ../programs/vscodium.nix @@ -29,10 +28,13 @@ home.sessionVariables = { XDG_CURRENT_DESKTOP = "sway"; }; - py.programs.firefox = { - enable = true; - prefs.enable = true; - policies.enable = true; + py.programs = { + firefox = { + enable = true; + prefs.enable = true; + policies.enable = true; + }; + chromium.enable = true; }; home.packages = with pkgs; [ jetbrains-toolbox diff --git a/modules/home/programs/chromium/default.nix b/modules/home/programs/chromium/default.nix new file mode 100644 index 00000000..741525da --- /dev/null +++ b/modules/home/programs/chromium/default.nix @@ -0,0 +1,23 @@ +{ + pkgs, + inputs, + osConfig, + config, + lib, + system, + ... +}: +let + cfg = config.py.programs.chromium; + osCfg = osConfig.py.programs.chromium; + osPro = osConfig.py.profiles; +in +{ + options.py.programs.chromium.enable = lib.mkEnableOption "Chromium"; + + config.programs.chromium = lib.mkIf (cfg.enable || osCfg.enable && osPro.graphical.enable) { + enable = true; + package = inputs.stable.legacyPackages.${system}.ungoogled-chromium; + dictionaries = [ pkgs.hunspellDictsChromium.en_US ]; + }; +} diff --git a/modules/nixos/programs/chromium.nix b/modules/nixos/programs/chromium.nix new file mode 100644 index 00000000..6d6d504c --- /dev/null +++ b/modules/nixos/programs/chromium.nix @@ -0,0 +1,16 @@ +{ config, lib, ... }: +let + cfg = config.py.programs.chromium; +in +{ + options.py.programs.chromium.enable = lib.mkEnableOption "Chromium"; + + config = lib.mkIf (cfg.enable && config.py.profiles.graphical.enable) { + programs.chromium = { + enable = true; + defaultSearchProviderEnabled = true; + defaultSearchProviderSearchURL = "https://kagi.com/search?q={searchTerms}"; + extraOpts = import ./extraOpts.nix; + }; + }; +} diff --git a/modules/nixos/programs/extraOpts.nix b/modules/nixos/programs/extraOpts.nix new file mode 100644 index 00000000..73e307c4 --- /dev/null +++ b/modules/nixos/programs/extraOpts.nix @@ -0,0 +1,82 @@ +{ + AbusiveExperienceInterventionEnforce = false; + AccessCodeCastEnabled = false; + AdsSettingForIntrusiveAdsSites = 2; + AllowDeletingBrowserHistory = true; + AllowDinosaurEasterEgg = true; + AllowFileSelectionDialogs = true; + AllowSystemNotifications = true; + AudioCaptureAllowed = true; + AudioSandboxEnabled = true; + AutofillAddressEnabled = false; + AutofillCreditCardEnabled = false; + AutoplayAllowed = false; + BackgroundModeEnabled = false; + BookmarkBarEnabled = false; + BrowserLabsEnabled = true; + BrowserSignin = 0; + BuiltInDnsClientEnabled = false; + ChromeVariations = 2; + ClickToCallEnabled = false; + ClientCertificateManagementAllowed = 0; + CloudExtensionRequestEnabled = false; + CloudProfileReportingEnabled = false; + CloudReportingEnabled = false; + CommandLineFlagSecurityWarningsEnabled = false; + ComponentUpdatesEnabled = false; + ContextualSearchEnabled = false; + DNSInterceptionChecksEnabled = false; + DataLeakPreventionReportingEnabled = false; + DefaultBrowserSettingEnabled = false; + DefaultClipboardSetting = 3; + DefaultFileSystemReadGuardSetting = 3; + DefaultFileSystemWriteGuardSetting = 3; + DefaultGeolocationSetting = 3; + DefaultImagesSetting = 1; + DefaultInsecureContentSetting = 3; + DefaultNotificationsSetting = 2; + DefaultSensorsSetting = 2; + DefaultSerialGuardSetting = 2; + DefaultWebBluetoothGuardSetting = 3; + DefaultWebHidGuardSetting = 3; + DefaultWebUsbGuardSetting = 3; + DefaultWindowPlacementSetting = 3; + DesktopSharingHubEnabled = false; + DeveloperToolsAvailability = 1; + DevToolsGenAiSettings = 2; + GenAILocalFoundationalModelSettings = 1; + HelpMeWriteSettings = 2; + TabOrganizerSettings = 2; + CreateThemesSettings = 2; + Disable3DAPIs = false; + DisableScreenshots = false; + EditBookmarksEnabled = true; + EnableMediaRouter = false; + ForceGoogleSafeSearch = false; + ForceYouTubeRestrict = 0; + FullscreenAllowed = true; + HardwareAccelerationModeEnabled = true; + HeadlessMode = 1; + HideWebStoreIcon = true; + HttpsOnlyMode = "allowed"; + ImportAutofillFormData = false; + ImportBookmarks = false; + ImportHistory = false; + ImportHomepage = false; + ImportSavedPasswords = false; + ImportSearchEngine = false; + IncognitoModeAvailability = 0; + InsecureFormsWarningsEnabled = false; + LensRegionSearchEnabled = false; + MediaRecommendationsEnabled = false; + MetricsReportingEnabled = false; + NTPCardsVisible = false; + NetworkPredictionOptions = 2; + PasswordDismissCompromisedAlertEnabled = false; + PasswordLeakDetectionEnabled = false; + PasswordManagerEnabled = false; + PaymentMethodQueryEnabled = false; + ShowCastIconInToolbar = false; + SyncDisabled = true; + SystemUse24HourClock = true; +} diff --git a/systems/x86_64-linux/zaphod/programs/chromium.nix b/systems/x86_64-linux/zaphod/programs/chromium.nix deleted file mode 100644 index 38ad2607..00000000 --- a/systems/x86_64-linux/zaphod/programs/chromium.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ - programs.chromium = { - enable = true; - defaultSearchProviderEnabled = true; - defaultSearchProviderSearchURL = "https://kagi.com/search?q={searchTerms}"; - extensions = [ - # UBlock Origin - "cgbcahbpdhpcegmbfconppldiemgcoii" - # Sourcegraph - "dgjhfomjieaadpoljlnidmbgkdffpack" - # Augmented Steam - "dnhpnfgdlenaccegplpojghhmaamnnfp" - # Dark Reader - "eimadpbcbfnmbkopoojfekhnkhdbieeh" - # Cookie Auto-Delete - "fhcgjolkccmbidfldomjliifgaodjagh" - # Refined Github - "hlepfoohegkhhmjieoechaddaejaokhf" - # Moderator Toolbox for Reddit - "jhjpjhhkcbkmgdkahnckfboefnkgghpo" - # Reddit Enhancement Suite - "kbmfpngjjgdllneeigpgjifpgocmfgmb" - # SteamDB - "kdbmhfkmnlmbkgbabkdealhhbfhlmmon" - # ProtonDB - "ngonfifpkpeefnhelnfdkficaiihklid" - # Bitwarden - "nngceckbapebfimnlniiiahkandclblb" - # Bypass Paywalls - "lkbebcjgcmobigpeffafkodonchffocl;https://gitlab.com/magnolia1234/bypass-paywalls-chrome-clean/-/raw/master/updates.xml" - # Libredirect - "oladmjdebphlnjjcnomfhhbfdldiimaf;https://raw.githubusercontent.com/libredirect/libredirect/master/src/updates/updates.xml" - ]; - extraOpts = { - "AbusiveExperienceInterventionEnforce" = false; - "AccessCodeCastEnabled" = false; - "AdsSettingForIntrusiveAdsSites" = 2; - "AllowDeletingBrowserHistory" = true; - "AllowDinosaurEasterEgg" = true; - "AllowFileSelectionDialogs" = true; - "AllowSystemNotifications" = true; - "AudioCaptureAllowed" = true; - "AudioSandboxEnabled" = true; - "AutofillAddressEnabled" = false; - "AutofillCreditCardEnabled" = false; - "AutoplayAllowed" = false; - "BackgroundModeEnabled" = false; - "BookmarkBarEnabled" = false; - "BrowserLabsEnabled" = true; - "BrowserSignin" = 0; - "BuiltInDnsClientEnabled" = false; - "CECPQ2Enabled" = true; - "ChromeVariations" = 2; - "ClickToCallEnabled" = false; - "ClientCertificateManagementAllowed" = 0; - "CloudExtensionRequestEnabled" = false; - "CloudReportingEnabled" = false; - "CommandLineFlagSecurityWarningsEnabled" = false; - "ComponentUpdatesEnabled" = false; - "ContextualSearchEnabled" = false; - "DNSInterceptionChecksEnabled" = false; - "DataLeakPreventionReportingEnabled" = false; - "DefaultBrowserSettingEnabled" = false; - "DefaultClipboardSetting" = 3; - "DefaultFileSystemReadGuardSetting" = 3; - "DefaultFileSystemWriteGuardSetting" = 3; - "DefaultGeolocationSetting" = 3; - "DefaultImagesSetting" = 1; - "DefaultInsecureContentSetting" = 3; - "DefaultNotificationsSetting" = 2; - "DefaultSensorsSetting" = 2; - "DefaultSerialGuardSetting" = 2; - "DefaultWebBluetoothGuardSetting" = 3; - "DefaultWebHidGuardSetting" = 3; - "DefaultWebUsbGuardSetting" = 3; - "DefaultWindowPlacementSetting" = 3; - "DesktopSharingHubEnabled" = false; - "DeveloperToolsAvailability" = 1; - "Disable3DAPIs" = false; - "DisableScreenshots" = false; - "EditBookmarksEnabled" = true; - "EnableMediaRouter" = false; - "ForceGoogleSafeSearch" = false; - "ForceYouTubeRestrict" = 0; - "FullscreenAllowed" = true; - "HardwareAccelerationModeEnabled" = true; - "HeadlessMode" = 1; - "HideWebStoreIcon" = true; - "HttpsOnlyMode" = "allowed"; - "ImportAutofillFormData" = false; - "ImportBookmarks" = false; - "ImportHistory" = false; - "ImportHomepage" = false; - "ImportSavedPasswords" = false; - "ImportSearchEngine" = false; - "IncognitoModeAvailability" = 0; - "InsecureFormsWarningsEnabled" = false; - "LensRegionSearchEnabled" = false; - "MediaRecommendationsEnabled" = false; - "MetricsReportingEnabled" = false; - "NTPCardsVisible" = false; - "NetworkPredictionOptions" = 2; - "PasswordDismissCompromisedAlertEnabled" = false; - "PasswordLeakDetectionEnabled" = false; - "PasswordManagerEnabled" = false; - "PaymentMethodQueryEnabled" = false; - "ShowCastIconInToolbar" = false; - "SyncDisabled" = true; - "SystemUse24HourClock" = true; - }; - }; -} -- 2.51.2 From 7a442f06fa753b3b9dc12603f00f9d6597ce31ef Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 02:48:24 -0400 Subject: [PATCH 030/105] [overlays] Add nixos-option overlay --- overlays/nixos-option/default.nix | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 overlays/nixos-option/default.nix diff --git a/overlays/nixos-option/default.nix b/overlays/nixos-option/default.nix new file mode 100644 index 00000000..e820ebfa --- /dev/null +++ b/overlays/nixos-option/default.nix @@ -0,0 +1,3 @@ +_: +# deadnix: skip +final: prev: { nixos-option = prev.nixos-rebuild; } -- 2.51.2 From 65c604c2f8889e5b00d0c2aefb44817d48a1d3df Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 02:49:11 -0400 Subject: [PATCH 031/105] [systems.marvin] iceshrimp: 2023.12.7-pyrox1 -> 2023.12.7-pyrox2 --- systems/x86_64-linux/marvin/services/iceshrimp.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systems/x86_64-linux/marvin/services/iceshrimp.nix b/systems/x86_64-linux/marvin/services/iceshrimp.nix index 7872a4c2..3a84812c 100644 --- a/systems/x86_64-linux/marvin/services/iceshrimp.nix +++ b/systems/x86_64-linux/marvin/services/iceshrimp.nix @@ -10,10 +10,10 @@ package = inputs.iceshrimp.packages.x86_64-linux.iceshrimp-pre.overrideAttrs rec { - version = "2023.12.7-pyrox1"; + version = "2023.12.7-pyrox2"; src = pkgs.fetchgit { url = "https://iceshrimp.dev/pyrox/iceshrimp"; - sha256 = "sha256-14LeXK0LBuP/UQxwFsNPYTjE4gnsIr3LlFf96kLCl1M="; + sha256 = lib.fakeSha256; rev = "v${version}"; fetchLFS = true; }; -- 2.51.2 From ed6afea1e83ae8822652de881786f9d3568ca6c5 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 02:49:25 -0400 Subject: [PATCH 032/105] [flake] Update lockfile --- flake.lock | 29 +++++++++++++++----- flake.nix | 78 ++++++++++++++++++++++-------------------------------- 2 files changed, 55 insertions(+), 52 deletions(-) diff --git a/flake.lock b/flake.lock index 94a7c235..fbe59b95 100644 --- a/flake.lock +++ b/flake.lock @@ -68,11 +68,11 @@ ] }, "locked": { - "lastModified": 1711742460, - "narHash": "sha256-0O4v6e4a1toxXZ2gf5INhg4WPE5C5T+SVvsBt+45Mcc=", + "lastModified": 1717279440, + "narHash": "sha256-kH04ReTjxOpQumgWnqy40vvQLSnLGxWP6RF3nq5Esrk=", "owner": "zhaofengli", "repo": "attic", - "rev": "4dbdbee45728d8ce5788db6461aaaa89d98081f0", + "rev": "717cc95983cdc357bc347d70be20ced21f935843", "type": "github" }, "original": { @@ -656,11 +656,11 @@ ] }, "locked": { - "lastModified": 1716725378, - "narHash": "sha256-bNTVDAVBLFSSTU+q54cJnntmFKBi+F/D8sSqlZwBGiM=", + "lastModified": 1717330178, + "narHash": "sha256-rRZjmC3xcPpHTJHnEy3T99O86Ecjao5YhakzaoNiRcs=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "dbc9130fe1455e0f6ee4d8f5f799f9be551f866b", + "rev": "64d43e2bbc6eab8d1cbdfba96d90a71e15a847d7", "type": "github" }, "original": { @@ -1201,6 +1201,7 @@ "nvim": "nvim", "prismlauncher": "prismlauncher", "snowfall": "snowfall", + "stable": "stable", "systems": "systems_2", "wayland": "wayland" } @@ -1261,6 +1262,22 @@ "type": "github" } }, + "stable": { + "locked": { + "lastModified": 1717144377, + "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "805a384895c696f802a9bf5bf4720f37385df547", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, diff --git a/flake.nix b/flake.nix index b88ecb8f..3f018be7 100644 --- a/flake.nix +++ b/flake.nix @@ -3,21 +3,13 @@ experimental-features = "nix-command flakes"; substitute = "true"; extra-substituters = [ - # Main NixOS Cache "https://cache.nixos.org" - # Colmena Cache "https://colmena.cachix.org" - # Crane Cache "https://crane.cachix.org" - # A bunch of nix community projects "https://isabelroses.cachix.org" - # A bunch of nix community projects "https://nix-community.cachix.org" - # Nightly wayland packages "https://nixpkgs-wayland.cachix.org" - # For nh "https://viperml.cachix.org" - # Lix "https://cache.lix.systems" ]; trusted-public-keys = [ @@ -37,15 +29,15 @@ description = "PyroNet machines and services"; inputs = { - # Snowfall Lib snowfall = { url = "github:snowfallorg/lib"; inputs.nixpkgs.follows = "nixpkgs"; }; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + stable.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-mesa.url = "github:K900/nixpkgs/mesa-24.1"; nixpkgs-nvim.url = "github:nixos/nixpkgs?rev=d5786c1b5dd2d560724b78f3ce51f1f4ef52d053"; - # Override certain inputs for other repos to reduce lockfile size and increase code sharing. + # Overrides flake-compat.url = "github:edolstra/flake-compat"; systems.url = "github:nix-systems/default"; flake-parts = { @@ -57,7 +49,8 @@ inputs.systems.follows = "systems"; }; nixpkgs-lib.url = "github:nix-community/nixpkgs.lib"; - # Actual inputs + + # Inputs agenix = { url = "github:ryantm/agenix"; inputs = { @@ -114,11 +107,6 @@ url = "git+https://iceshrimp.dev/pyrox/packaging"; inputs.nixpkgs.follows = "nixpkgs"; }; - # lanzaboote = { - # url = "github:nix-community/lanzaboote/11e293475de0c010f86060f0ed74aafe5f593e8b"; - # inputs.flake-compat.follows = "flake-compat"; - # inputs.flake-utils.follows = "flake-utils"; - # }; lix = { url = "git+https://git.lix.systems/lix-project/lix"; flake = false; @@ -236,10 +224,10 @@ self.overlays.alejandra self.overlays.mesa self.overlays.nix-index + self.overlays.nixos-option inputs.my-pkgs.overlays.cinny inputs.golink.overlay - # inputs.lanzaboote.overlays.default - inputs.lix-module.overlays.default + # inputs.lix-module.overlays.default inputs.neovim.overlay inputs.nixd.overlays.default inputs.nur.overlay @@ -258,47 +246,45 @@ # NixOS Configurations systems = { + # Modules for all systems modules.nixos = with inputs; [ ctp.nixosModules.catppuccin lix-module.nixosModules.default agenix.nixosModules.default ]; hosts = { - # Zaphod, my personal Framework 16 laptop - zaphod.modules = with inputs; [ hardware.nixosModules.framework-16-7040-amd ]; + # Zaphod, my personal Framework 16 laptop + zaphod.modules = with inputs; [ + hardware.nixosModules.framework-16-7040-amd + lix-module.nixosModules.default + ]; - # Prefect, my main VPS - prefect.modules = with inputs; [ - self.nixosModules.dn42Pingfinder - mailserver.nixosModule - ]; + # Prefect, my main VPS + prefect.modules = with inputs; [ mailserver.nixosModule ]; - # (Deep) Thought, a WIP VPS - thought.modules = with inputs; [ self.nixosModules.dn42Pingfinder ]; + # (Deep) Thought, a WIP VPS + thought.modules = [ self.nixosModules.dn42Pingfinder ]; - # Marvin, my main homelab machine - marvin.modules = with inputs; [ - self.nixosModules.forgejoRunner - iceshrimp.nixosModules.default - golink.nixosModules.default - buildbot-nix.nixosModules.buildbot-master - buildbot-nix.nixosModules.buildbot-worker - ]; + # Marvin, my main homelab machine + marvin.modules = with inputs; [ + iceshrimp.nixosModules.default + golink.nixosModules.default + buildbot-nix.nixosModules.buildbot-master + buildbot-nix.nixosModules.buildbot-worker + ]; }; }; - outputs-builder = - channels: - { - # Define default packages to use everywhere - packages = { - nvim = inputs.nvim.packages.${channels.nixpkgs.system}.neovim; - customGit = channels.nixpkgs.git.override { - withLibsecret = true; - withSsh = true; - }; + outputs-builder = channels: { + # Define default packages to use everywhere + packages = { + nvim = inputs.nvim.packages.${channels.nixpkgs.system}.neovim; + customGit = channels.nixpkgs.git.override { + withLibsecret = true; + withSsh = true; }; - formatter = channels.nixpkgs.nixfmt-rfc-style; }; + formatter = channels.nixpkgs.nixfmt-rfc-style; + }; }; } -- 2.51.2 From adf8602421a2c3adac2f77f232216c5a996c1538 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 02:49:48 -0400 Subject: [PATCH 033/105] [neovim] Update extraPackages --- homes/x86_64-linux/pyrox/programs/neovim.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/homes/x86_64-linux/pyrox/programs/neovim.nix b/homes/x86_64-linux/pyrox/programs/neovim.nix index 05b803f1..43c2c34e 100644 --- a/homes/x86_64-linux/pyrox/programs/neovim.nix +++ b/homes/x86_64-linux/pyrox/programs/neovim.nix @@ -16,6 +16,7 @@ pkgs.ffmpegthumbnailer pkgs.fontpreview pkgs.gcc + pkgs.nodejs pkgs.poppler pkgs.ueberzug ]; -- 2.51.2 From aa78af586b04ef4dce82eb91f37fee71eec70223 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 02:49:58 -0400 Subject: [PATCH 034/105] [programs] Format fish file --- homes/x86_64-linux/pyrox/programs/fish.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/homes/x86_64-linux/pyrox/programs/fish.nix b/homes/x86_64-linux/pyrox/programs/fish.nix index 6dd2cd5d..c2f77577 100644 --- a/homes/x86_64-linux/pyrox/programs/fish.nix +++ b/homes/x86_64-linux/pyrox/programs/fish.nix @@ -1,6 +1,8 @@ -{pkgs, lib, ...}: let +{ pkgs, lib, ... }: +let inherit (lib) getExe; -in { +in +{ programs.fish = { enable = true; catppuccin.enable = true; @@ -11,7 +13,6 @@ in { "ls" = "${getExe pkgs.eza} --icons -a"; "ll" = "${getExe pkgs.eza} --icons -lah@"; "lt" = "${getExe pkgs.eza} --icons --tree -a"; - "tt" = getExe pkgs.taskwarrior-tui; "dig" = getExe pkgs.doggo; }; shellInit = '' -- 2.51.2 From bcf8b488cbd9af079c351c10de8bebfea7bf068e Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 18:14:24 -0400 Subject: [PATCH 035/105] [hosts] Remove old module directory --- hosts/modules/programs/.keep | 0 hosts/modules/services/buildbot-worker.nix | 9 --------- 2 files changed, 9 deletions(-) delete mode 100644 hosts/modules/programs/.keep delete mode 100644 hosts/modules/services/buildbot-worker.nix diff --git a/hosts/modules/programs/.keep b/hosts/modules/programs/.keep deleted file mode 100644 index e69de29b..00000000 diff --git a/hosts/modules/services/buildbot-worker.nix b/hosts/modules/services/buildbot-worker.nix deleted file mode 100644 index 941333a8..00000000 --- a/hosts/modules/services/buildbot-worker.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ config, ... }: -{ - services.buildbot-nix.worker = { - enable = true; - name = config.networking.hostName; - masterUrl = "tcp:host=marvin:port=6915"; - workerPasswordFile = config.age.secrets.buildbot-worker-password.path; - }; -} -- 2.51.2 From 510bfb4c561d359400a93df08ccdd0e31481f8cf Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 18:14:33 -0400 Subject: [PATCH 036/105] [modules] Add buildbotWorker module --- modules/nixos/buildbotWorker/default.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 modules/nixos/buildbotWorker/default.nix diff --git a/modules/nixos/buildbotWorker/default.nix b/modules/nixos/buildbotWorker/default.nix new file mode 100644 index 00000000..5f32689f --- /dev/null +++ b/modules/nixos/buildbotWorker/default.nix @@ -0,0 +1,15 @@ +{ config, lib, ... }: +let + cfg = config.py.services.buildbot.worker; +in +{ + options.py.services.buildbot.worker = { + enable = lib.mkEnableOption "buildbot worker"; + }; + config.services.buildbot-nix.worker = lib.mkIf cfg.enable { + enable = true; + name = config.networking.hostName; + masterUrl = "tcp:host=marvin:port=6915"; + workerPasswordFile = config.age.secrets.buildbot-worker-password.path; + }; +} -- 2.51.2 From 59f8d67a789676f9f69f23ec4f7c86c1dd6d4cd9 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 18:19:10 -0400 Subject: [PATCH 037/105] [modules.nixos] Fix all module names --- .../nixos/{buildbotWorker => buildbot}/default.nix | 0 .../bootloader.nix | 0 .../{defaultConfig => default-config}/default.nix | 0 .../networking.nix | 0 .../{defaultConfig => default-config}/nixConfig.nix | 0 .../nixpkgsConfig.nix | 0 .../{defaultConfig => default-config}/packages.nix | 0 .../programs/default.nix | 0 .../programs/nh.nix | 0 .../programs/ssh.nix | 0 .../{defaultConfig => default-config}/root.nix | 0 .../secrets/powerdns-secrets.age | Bin .../secrets/secrets.nix | 0 .../{defaultConfig => default-config}/security.nix | 0 .../services/default.nix | 0 .../services/ntp.nix | 0 .../services/tailscale.nix | 0 .../nixos/{defaultConfig => default-config}/ssh.nix | 0 .../{defaultConfig => default-config}/users.nix | 0 .../{defaultUsers => default-users}/backup.pub | 0 .../{defaultUsers => default-users}/default.nix | 0 .../yubikey-back.pub | 0 .../yubikey-main.pub | 0 .../{defaultUsers => default-users}/yubikey-new.pub | 0 .../{dn42Pingfinder => dn42-pingfinder}/default.nix | 0 .../{forgejoRunner => forgejo-runner}/default.nix | 0 .../programs/{chromium.nix => chromium/default.nix} | 0 27 files changed, 0 insertions(+), 0 deletions(-) rename modules/nixos/{buildbotWorker => buildbot}/default.nix (100%) rename modules/nixos/{defaultConfig => default-config}/bootloader.nix (100%) rename modules/nixos/{defaultConfig => default-config}/default.nix (100%) rename modules/nixos/{defaultConfig => default-config}/networking.nix (100%) rename modules/nixos/{defaultConfig => default-config}/nixConfig.nix (100%) rename modules/nixos/{defaultConfig => default-config}/nixpkgsConfig.nix (100%) rename modules/nixos/{defaultConfig => default-config}/packages.nix (100%) rename modules/nixos/{defaultConfig => default-config}/programs/default.nix (100%) rename modules/nixos/{defaultConfig => default-config}/programs/nh.nix (100%) rename modules/nixos/{defaultConfig => default-config}/programs/ssh.nix (100%) rename modules/nixos/{defaultConfig => default-config}/root.nix (100%) rename modules/nixos/{defaultConfig => default-config}/secrets/powerdns-secrets.age (100%) rename modules/nixos/{defaultConfig => default-config}/secrets/secrets.nix (100%) rename modules/nixos/{defaultConfig => default-config}/security.nix (100%) rename modules/nixos/{defaultConfig => default-config}/services/default.nix (100%) rename modules/nixos/{defaultConfig => default-config}/services/ntp.nix (100%) rename modules/nixos/{defaultConfig => default-config}/services/tailscale.nix (100%) rename modules/nixos/{defaultConfig => default-config}/ssh.nix (100%) rename modules/nixos/{defaultConfig => default-config}/users.nix (100%) rename modules/nixos/{defaultUsers => default-users}/backup.pub (100%) rename modules/nixos/{defaultUsers => default-users}/default.nix (100%) rename modules/nixos/{defaultUsers => default-users}/yubikey-back.pub (100%) rename modules/nixos/{defaultUsers => default-users}/yubikey-main.pub (100%) rename modules/nixos/{defaultUsers => default-users}/yubikey-new.pub (100%) rename modules/nixos/{dn42Pingfinder => dn42-pingfinder}/default.nix (100%) rename modules/nixos/{forgejoRunner => forgejo-runner}/default.nix (100%) rename modules/nixos/programs/{chromium.nix => chromium/default.nix} (100%) diff --git a/modules/nixos/buildbotWorker/default.nix b/modules/nixos/buildbot/default.nix similarity index 100% rename from modules/nixos/buildbotWorker/default.nix rename to modules/nixos/buildbot/default.nix diff --git a/modules/nixos/defaultConfig/bootloader.nix b/modules/nixos/default-config/bootloader.nix similarity index 100% rename from modules/nixos/defaultConfig/bootloader.nix rename to modules/nixos/default-config/bootloader.nix diff --git a/modules/nixos/defaultConfig/default.nix b/modules/nixos/default-config/default.nix similarity index 100% rename from modules/nixos/defaultConfig/default.nix rename to modules/nixos/default-config/default.nix diff --git a/modules/nixos/defaultConfig/networking.nix b/modules/nixos/default-config/networking.nix similarity index 100% rename from modules/nixos/defaultConfig/networking.nix rename to modules/nixos/default-config/networking.nix diff --git a/modules/nixos/defaultConfig/nixConfig.nix b/modules/nixos/default-config/nixConfig.nix similarity index 100% rename from modules/nixos/defaultConfig/nixConfig.nix rename to modules/nixos/default-config/nixConfig.nix diff --git a/modules/nixos/defaultConfig/nixpkgsConfig.nix b/modules/nixos/default-config/nixpkgsConfig.nix similarity index 100% rename from modules/nixos/defaultConfig/nixpkgsConfig.nix rename to modules/nixos/default-config/nixpkgsConfig.nix diff --git a/modules/nixos/defaultConfig/packages.nix b/modules/nixos/default-config/packages.nix similarity index 100% rename from modules/nixos/defaultConfig/packages.nix rename to modules/nixos/default-config/packages.nix diff --git a/modules/nixos/defaultConfig/programs/default.nix b/modules/nixos/default-config/programs/default.nix similarity index 100% rename from modules/nixos/defaultConfig/programs/default.nix rename to modules/nixos/default-config/programs/default.nix diff --git a/modules/nixos/defaultConfig/programs/nh.nix b/modules/nixos/default-config/programs/nh.nix similarity index 100% rename from modules/nixos/defaultConfig/programs/nh.nix rename to modules/nixos/default-config/programs/nh.nix diff --git a/modules/nixos/defaultConfig/programs/ssh.nix b/modules/nixos/default-config/programs/ssh.nix similarity index 100% rename from modules/nixos/defaultConfig/programs/ssh.nix rename to modules/nixos/default-config/programs/ssh.nix diff --git a/modules/nixos/defaultConfig/root.nix b/modules/nixos/default-config/root.nix similarity index 100% rename from modules/nixos/defaultConfig/root.nix rename to modules/nixos/default-config/root.nix diff --git a/modules/nixos/defaultConfig/secrets/powerdns-secrets.age b/modules/nixos/default-config/secrets/powerdns-secrets.age similarity index 100% rename from modules/nixos/defaultConfig/secrets/powerdns-secrets.age rename to modules/nixos/default-config/secrets/powerdns-secrets.age diff --git a/modules/nixos/defaultConfig/secrets/secrets.nix b/modules/nixos/default-config/secrets/secrets.nix similarity index 100% rename from modules/nixos/defaultConfig/secrets/secrets.nix rename to modules/nixos/default-config/secrets/secrets.nix diff --git a/modules/nixos/defaultConfig/security.nix b/modules/nixos/default-config/security.nix similarity index 100% rename from modules/nixos/defaultConfig/security.nix rename to modules/nixos/default-config/security.nix diff --git a/modules/nixos/defaultConfig/services/default.nix b/modules/nixos/default-config/services/default.nix similarity index 100% rename from modules/nixos/defaultConfig/services/default.nix rename to modules/nixos/default-config/services/default.nix diff --git a/modules/nixos/defaultConfig/services/ntp.nix b/modules/nixos/default-config/services/ntp.nix similarity index 100% rename from modules/nixos/defaultConfig/services/ntp.nix rename to modules/nixos/default-config/services/ntp.nix diff --git a/modules/nixos/defaultConfig/services/tailscale.nix b/modules/nixos/default-config/services/tailscale.nix similarity index 100% rename from modules/nixos/defaultConfig/services/tailscale.nix rename to modules/nixos/default-config/services/tailscale.nix diff --git a/modules/nixos/defaultConfig/ssh.nix b/modules/nixos/default-config/ssh.nix similarity index 100% rename from modules/nixos/defaultConfig/ssh.nix rename to modules/nixos/default-config/ssh.nix diff --git a/modules/nixos/defaultConfig/users.nix b/modules/nixos/default-config/users.nix similarity index 100% rename from modules/nixos/defaultConfig/users.nix rename to modules/nixos/default-config/users.nix diff --git a/modules/nixos/defaultUsers/backup.pub b/modules/nixos/default-users/backup.pub similarity index 100% rename from modules/nixos/defaultUsers/backup.pub rename to modules/nixos/default-users/backup.pub diff --git a/modules/nixos/defaultUsers/default.nix b/modules/nixos/default-users/default.nix similarity index 100% rename from modules/nixos/defaultUsers/default.nix rename to modules/nixos/default-users/default.nix diff --git a/modules/nixos/defaultUsers/yubikey-back.pub b/modules/nixos/default-users/yubikey-back.pub similarity index 100% rename from modules/nixos/defaultUsers/yubikey-back.pub rename to modules/nixos/default-users/yubikey-back.pub diff --git a/modules/nixos/defaultUsers/yubikey-main.pub b/modules/nixos/default-users/yubikey-main.pub similarity index 100% rename from modules/nixos/defaultUsers/yubikey-main.pub rename to modules/nixos/default-users/yubikey-main.pub diff --git a/modules/nixos/defaultUsers/yubikey-new.pub b/modules/nixos/default-users/yubikey-new.pub similarity index 100% rename from modules/nixos/defaultUsers/yubikey-new.pub rename to modules/nixos/default-users/yubikey-new.pub diff --git a/modules/nixos/dn42Pingfinder/default.nix b/modules/nixos/dn42-pingfinder/default.nix similarity index 100% rename from modules/nixos/dn42Pingfinder/default.nix rename to modules/nixos/dn42-pingfinder/default.nix diff --git a/modules/nixos/forgejoRunner/default.nix b/modules/nixos/forgejo-runner/default.nix similarity index 100% rename from modules/nixos/forgejoRunner/default.nix rename to modules/nixos/forgejo-runner/default.nix diff --git a/modules/nixos/programs/chromium.nix b/modules/nixos/programs/chromium/default.nix similarity index 100% rename from modules/nixos/programs/chromium.nix rename to modules/nixos/programs/chromium/default.nix -- 2.51.2 From 22064464d895ec82fd103f74da72c1e77439ce93 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 18:19:41 -0400 Subject: [PATCH 038/105] [meta] Update git blame ignore --- .git-blame-ignore-revs | 1 + 1 file changed, 1 insertion(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 55108845..f60a0eba 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -1,3 +1,4 @@ +c453a5533bfc010443fd49da0031991fffbf62c2 53feadf2897699a2dc1a05902f60a9965e2ebbd8 bf16926ba528d750002b2456d0b2b49cf5aaeb83 1bca7d6c2d2aacd4ef7c2ddfedf63f67a322672d -- 2.51.2 From 66c1644376d90f3e190225dff9f3777c1dc54c7f Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 18:43:58 -0400 Subject: [PATCH 039/105] [home] Move top-level files to home modules --- homes/x86_64-linux/pyrox/scripts.nix | 18 --- homes/x86_64-linux/pyrox/xdg.nix | 79 ----------- modules/home/scripts/default.nix | 8 ++ .../home/theming/default.nix | 14 +- modules/home/xdg/default.nix | 128 ++++++++++++++++++ 5 files changed, 146 insertions(+), 101 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/scripts.nix delete mode 100644 homes/x86_64-linux/pyrox/xdg.nix create mode 100644 modules/home/scripts/default.nix rename homes/x86_64-linux/pyrox/theming.nix => modules/home/theming/default.nix (64%) create mode 100644 modules/home/xdg/default.nix diff --git a/homes/x86_64-linux/pyrox/scripts.nix b/homes/x86_64-linux/pyrox/scripts.nix deleted file mode 100644 index 4c1f89a8..00000000 --- a/homes/x86_64-linux/pyrox/scripts.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - lib, - pkgs, - config, - ... -}: { - home.activation = { - cloneDoom = lib.hm.dag.entryAfter ["writeBoundary"] '' - if [ ! -d "${config.home.homeDirectory}/.config/emacs" ]; then - $DRY_RUN_CMD ${pkgs.git}/bin/git clone --depth=1 --single-branch "https://github.com/doomemacs/doomemacs" "${config.home.homeDirectory}/.config/emacs" - $DRY_RUN_CMD ${config.home.homeDirectory}/.config/emacs/bin/doom sync -u - fi - ''; - removeLocalFonts = lib.hm.dag.entryAfter ["writeBoundary"] '' - unlink ${config.home.homeDirectory}/.local/share/fonts - ''; - }; -} diff --git a/homes/x86_64-linux/pyrox/xdg.nix b/homes/x86_64-linux/pyrox/xdg.nix deleted file mode 100644 index 1889a568..00000000 --- a/homes/x86_64-linux/pyrox/xdg.nix +++ /dev/null @@ -1,79 +0,0 @@ -{config, lib, pkgs, ...}: let -homeDir = config.home.homeDirectory; -in { - xdg = { - enable = true; - mime.enable = true; - configHome = lib.mkForce "${homeDir}/.config"; - dataHome = lib.mkForce "${homeDir}/.local/share"; - portal = { - enable = true; - xdgOpenUsePortal = true; - extraPortals = [ - pkgs.xdg-desktop-portal-gtk - pkgs.xdg-desktop-portal-wlr - ]; - config = { - common = { - default = [ - "gtk" - ]; - "org.freedesktop.impl.portal.Screenshot" = ["wlr"]; - "org.freedesktop.impl.portal.ScreenCast" = ["wlr"]; - }; - }; - }; - mimeApps = { - enable = true; - associations.added = { - "application/pdf" = ["firefox.desktop"]; - "application/rdf+xml" = ["firefox.desktop"]; - "application/rss+xml" = ["firefox.desktop"]; - "application/xhtml+xml" = ["firefox.desktop"]; - "application/xhtml_xml" = ["firefox.desktop"]; - "application/xml" = ["firefox.desktop"]; - "image/gif" = ["viewnior.desktop" "firefox.desktop"]; - "image/jpeg" = ["viewnior.desktop" "firefox.desktop"]; - "image/png" = ["viewnior.desktop" "firefox.desktop"]; - "image/webp" = ["viewnior.desktop" "firefox.desktop"]; - "text/html" = ["firefox.desktop"]; - "text/xml" = ["firefox.desktop"]; - "x-scheme-handler/http" = ["firefox.desktop"]; - "x-scheme-handler/https" = ["firefox.desktop"]; - "x-scheme-handler/about" = ["firefox.desktop"]; - "x-scheme-handler/unknown" = ["firefox.desktop"]; - "x-scheme-handler/mailto" = ["thunderbird.desktop" "firefox.desktop"]; - "x-scheme-handler/webcal" = ["firefox.desktop" "thunderbird.desktop"]; - }; - defaultApplications = { - "application/pdf" = ["firefox.desktop"]; - "application/rdf+xml" = ["firefox.desktop"]; - "application/rss+xml" = ["firefox.desktop"]; - "application/xhtml+xml" = ["firefox.desktop"]; - "application/xhtml_xml" = ["firefox.desktop"]; - "application/xml" = ["firefox.desktop"]; - "image/gif" = ["viewnior.desktop" "firefox.desktop"]; - "image/jpeg" = ["viewnior.desktop" "firefox.desktop"]; - "image/png" = ["viewnior.desktop" "firefox.desktop"]; - "image/webp" = ["viewnior.desktop" "firefox.desktop"]; - "text/html" = ["firefox.desktop"]; - "text/xml" = ["firefox.desktop"]; - "x-scheme-handler/http" = ["firefox.desktop"]; - "x-scheme-handler/https" = ["firefox.desktop"]; - "x-scheme-handler/about" = ["firefox.desktop"]; - "x-scheme-handler/unknown" = ["firefox.desktop"]; - "x-scheme-handler/mailto" = ["thunderbird.desktop" "firefox.desktop"]; - "x-scheme-handler/webcal" = ["firefox.desktop" "thunderbird.desktop"]; - "x-scheme-handler/steam" = ["steam-native.desktop" "steam.desktop"]; - "x-scheme-handler/steamlink" = ["steam-native.desktop" "steam.desktop"]; - }; - }; - userDirs = { - enable = true; - createDirectories = true; - music = "$HOME/music"; - publicShare = "$HOME/.xdg/share"; - templates = "$HOME/.xdg/templates"; - }; - }; -} diff --git a/modules/home/scripts/default.nix b/modules/home/scripts/default.nix new file mode 100644 index 00000000..a7da7f94 --- /dev/null +++ b/modules/home/scripts/default.nix @@ -0,0 +1,8 @@ +{ lib, config, ... }: +{ + home.activation = { + removeLocalFonts = lib.hm.dag.entryAfter [ "writeBoundary" ] '' + unlink ${config.home.homeDirectory}/.local/share/fonts + ''; + }; +} diff --git a/homes/x86_64-linux/pyrox/theming.nix b/modules/home/theming/default.nix similarity index 64% rename from homes/x86_64-linux/pyrox/theming.nix rename to modules/home/theming/default.nix index eb2e44b3..e2a2f10a 100644 --- a/homes/x86_64-linux/pyrox/theming.nix +++ b/modules/home/theming/default.nix @@ -1,25 +1,31 @@ { pkgs, config, + lib, + osConfig, ... -}: { +}: +let + osPro = osConfig.py.profiles; +in +{ catppuccin = { flavor = "mocha"; accent = "blue"; }; - gtk = { + gtk = lib.mkIf osPro.graphical.enable { enable = true; catppuccin = { enable = true; size = "compact"; - tweaks = ["rimless"]; + tweaks = [ "rimless" ]; cursor.enable = true; }; font = { name = "IBM Plex Mono"; size = 14; }; - gtk3.bookmarks = ["file:///${config.home.homeDirectory}/Downloads"]; + gtk3.bookmarks = [ "file:///${config.home.homeDirectory}/Downloads" ]; iconTheme = { package = pkgs.papirus-icon-theme; name = "Papirus-Dark"; diff --git a/modules/home/xdg/default.nix b/modules/home/xdg/default.nix new file mode 100644 index 00000000..ba8678a7 --- /dev/null +++ b/modules/home/xdg/default.nix @@ -0,0 +1,128 @@ +{ + config, + lib, + pkgs, + osConfig, + ... +}: +let + homeDir = config.home.homeDirectory; + osPro = osConfig.py.profiles; +in +{ + xdg = { + enable = true; + mime.enable = lib.mkIf osPro.graphical.enable true; + configHome = lib.mkForce "${homeDir}/.config"; + dataHome = lib.mkForce "${homeDir}/.local/share"; + portal = lib.mkIf osPro.graphical.enable { + enable = true; + xdgOpenUsePortal = true; + extraPortals = [ + pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-wlr + ]; + config = { + common = { + default = [ "gtk" ]; + "org.freedesktop.impl.portal.Screenshot" = [ "wlr" ]; + "org.freedesktop.impl.portal.ScreenCast" = [ "wlr" ]; + }; + }; + }; + mimeApps = lib.mkIf osPro.graphical.enable { + enable = true; + associations.added = { + "application/pdf" = [ "firefox.desktop" ]; + "application/rdf+xml" = [ "firefox.desktop" ]; + "application/rss+xml" = [ "firefox.desktop" ]; + "application/xhtml+xml" = [ "firefox.desktop" ]; + "application/xhtml_xml" = [ "firefox.desktop" ]; + "application/xml" = [ "firefox.desktop" ]; + "image/gif" = [ + "viewnior.desktop" + "firefox.desktop" + ]; + "image/jpeg" = [ + "viewnior.desktop" + "firefox.desktop" + ]; + "image/png" = [ + "viewnior.desktop" + "firefox.desktop" + ]; + "image/webp" = [ + "viewnior.desktop" + "firefox.desktop" + ]; + "text/html" = [ "firefox.desktop" ]; + "text/xml" = [ "firefox.desktop" ]; + "x-scheme-handler/http" = [ "firefox.desktop" ]; + "x-scheme-handler/https" = [ "firefox.desktop" ]; + "x-scheme-handler/about" = [ "firefox.desktop" ]; + "x-scheme-handler/unknown" = [ "firefox.desktop" ]; + "x-scheme-handler/mailto" = [ + "thunderbird.desktop" + "firefox.desktop" + ]; + "x-scheme-handler/webcal" = [ + "firefox.desktop" + "thunderbird.desktop" + ]; + }; + defaultApplications = { + "application/pdf" = [ "firefox.desktop" ]; + "application/rdf+xml" = [ "firefox.desktop" ]; + "application/rss+xml" = [ "firefox.desktop" ]; + "application/xhtml+xml" = [ "firefox.desktop" ]; + "application/xhtml_xml" = [ "firefox.desktop" ]; + "application/xml" = [ "firefox.desktop" ]; + "image/gif" = [ + "viewnior.desktop" + "firefox.desktop" + ]; + "image/jpeg" = [ + "viewnior.desktop" + "firefox.desktop" + ]; + "image/png" = [ + "viewnior.desktop" + "firefox.desktop" + ]; + "image/webp" = [ + "viewnior.desktop" + "firefox.desktop" + ]; + "text/html" = [ "firefox.desktop" ]; + "text/xml" = [ "firefox.desktop" ]; + "x-scheme-handler/http" = [ "firefox.desktop" ]; + "x-scheme-handler/https" = [ "firefox.desktop" ]; + "x-scheme-handler/about" = [ "firefox.desktop" ]; + "x-scheme-handler/unknown" = [ "firefox.desktop" ]; + "x-scheme-handler/mailto" = [ + "thunderbird.desktop" + "firefox.desktop" + ]; + "x-scheme-handler/webcal" = [ + "firefox.desktop" + "thunderbird.desktop" + ]; + "x-scheme-handler/steam" = [ + "steam-native.desktop" + "steam.desktop" + ]; + "x-scheme-handler/steamlink" = [ + "steam-native.desktop" + "steam.desktop" + ]; + }; + }; + userDirs = { + enable = true; + createDirectories = true; + music = "$HOME/music"; + publicShare = "$HOME/.xdg/share"; + templates = "$HOME/.xdg/templates"; + }; + }; +} -- 2.51.2 From e985bfaeac2f33b91b2290528ad2df3f53f919b3 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 18:44:12 -0400 Subject: [PATCH 040/105] [home.programs] Move most programs to misc-programs module --- homes/x86_64-linux/pyrox/programs/bat.nix | 6 -- homes/x86_64-linux/pyrox/programs/direnv.nix | 34 ----------- homes/x86_64-linux/pyrox/programs/fzf.nix | 8 --- homes/x86_64-linux/pyrox/programs/navi.nix | 9 --- homes/x86_64-linux/pyrox/programs/ncmpcpp.nix | 12 ---- .../x86_64-linux/pyrox/programs/nix-index.nix | 8 --- homes/x86_64-linux/pyrox/programs/pandoc.nix | 1 - homes/x86_64-linux/pyrox/programs/senpai.nix | 11 ---- homes/x86_64-linux/pyrox/programs/skim.nix | 8 --- homes/x86_64-linux/pyrox/programs/zoxide.nix | 8 --- homes/x86_64-linux/pyrox/programs/zsh.nix | 16 ------ .../home/programs/misc-programs/default.nix | 57 +++++++++++++++++++ .../programs/misc-programs/direnv-stdlib.sh | 26 +++++++++ 13 files changed, 83 insertions(+), 121 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/bat.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/direnv.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/fzf.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/navi.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/ncmpcpp.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/nix-index.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/pandoc.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/senpai.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/skim.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/zoxide.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/zsh.nix create mode 100644 modules/home/programs/misc-programs/default.nix create mode 100644 modules/home/programs/misc-programs/direnv-stdlib.sh diff --git a/homes/x86_64-linux/pyrox/programs/bat.nix b/homes/x86_64-linux/pyrox/programs/bat.nix deleted file mode 100644 index e7728493..00000000 --- a/homes/x86_64-linux/pyrox/programs/bat.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.bat = { - enable = true; - catppuccin.enable = true; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/direnv.nix b/homes/x86_64-linux/pyrox/programs/direnv.nix deleted file mode 100644 index 89fe4b43..00000000 --- a/homes/x86_64-linux/pyrox/programs/direnv.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - programs.direnv = { - enable = true; - enableBashIntegration = true; - enableNushellIntegration = true; - enableZshIntegration = true; - nix-direnv.enable = true; - stdlib = '' - layout_poetry() { - PYPROJECT_TOML="\$\{PYPROJECT_TOML:-pyproject.toml}" - if [[ ! -f "$PYPROJECT_TOML" ]]; then - log_status "No pyproject.toml found. Executing \`poetry init\` to create a \`$PYPROJECT_TOML\` first." - poetry init - fi - - if [[ -d ".venv" ]]; then - VIRTUAL_ENV="$(pwd)/.venv" - else - VIRTUAL_ENV=$(poetry env info --path 2>/dev/null ; true) - fi - - if [[ -z $VIRTUAL_ENV || ! -d $VIRTUAL_ENV ]]; then - log_status "No virtual environment exists. Executing \`poetry install\` to create one." - poetry install - VIRTUAL_ENV=$(poetry env info --path) - fi - - PATH_add "$VIRTUAL_ENV/bin" - export POETRY_ACTIVE=1 - export VIRTUAL_ENV - } - ''; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/fzf.nix b/homes/x86_64-linux/pyrox/programs/fzf.nix deleted file mode 100644 index ea22aeca..00000000 --- a/homes/x86_64-linux/pyrox/programs/fzf.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - programs.fzf = { - enable = true; - enableBashIntegration = true; - enableZshIntegration = true; - catppuccin.enable = true; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/navi.nix b/homes/x86_64-linux/pyrox/programs/navi.nix deleted file mode 100644 index c1712257..00000000 --- a/homes/x86_64-linux/pyrox/programs/navi.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - programs.navi = { - enable = true; - enableBashIntegration = true; - enableFishIntegration = true; - enableZshIntegration = true; - settings = {finder = {command = "fzf";};}; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/ncmpcpp.nix b/homes/x86_64-linux/pyrox/programs/ncmpcpp.nix deleted file mode 100644 index 171ab5fa..00000000 --- a/homes/x86_64-linux/pyrox/programs/ncmpcpp.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - programs.ncmpcpp = { - enable = true; - settings = { - visualizer_data_source = "/tmp/mpd.fifo"; - visualizer_output_name = "viz"; - visualizer_in_stereo = "yes"; - visualizer_type = "ellipse"; - visualizer_look = "+."; - }; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/nix-index.nix b/homes/x86_64-linux/pyrox/programs/nix-index.nix deleted file mode 100644 index afa8a5a6..00000000 --- a/homes/x86_64-linux/pyrox/programs/nix-index.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - programs.nix-index = { - enable = true; - enableBashIntegration = true; - enableFishIntegration = true; - enableZshIntegration = true; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/pandoc.nix b/homes/x86_64-linux/pyrox/programs/pandoc.nix deleted file mode 100644 index 88dd54a6..00000000 --- a/homes/x86_64-linux/pyrox/programs/pandoc.nix +++ /dev/null @@ -1 +0,0 @@ -{programs.pandoc.enable = true;} diff --git a/homes/x86_64-linux/pyrox/programs/senpai.nix b/homes/x86_64-linux/pyrox/programs/senpai.nix deleted file mode 100644 index 01430d5f..00000000 --- a/homes/x86_64-linux/pyrox/programs/senpai.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - programs.senpai = { - enable = true; - config = { - addr = "chat.sr.ht"; - nick = "thehedgeh0g"; - password-cmd = "bw get password 'Bouncer API Token'"; - # pane-widths - }; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/skim.nix b/homes/x86_64-linux/pyrox/programs/skim.nix deleted file mode 100644 index 7cdab5f3..00000000 --- a/homes/x86_64-linux/pyrox/programs/skim.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - programs.skim = { - enable = true; - enableBashIntegration = true; - enableZshIntegration = true; - enableFishIntegration = true; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/zoxide.nix b/homes/x86_64-linux/pyrox/programs/zoxide.nix deleted file mode 100644 index 11740ce9..00000000 --- a/homes/x86_64-linux/pyrox/programs/zoxide.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - programs.zoxide = { - enable = true; - enableBashIntegration = true; - enableFishIntegration = true; - enableZshIntegration = true; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/zsh.nix b/homes/x86_64-linux/pyrox/programs/zsh.nix deleted file mode 100644 index cc9c4d84..00000000 --- a/homes/x86_64-linux/pyrox/programs/zsh.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - programs.zsh = { - enable = true; - autosuggestion.enable = true; - enableCompletion = true; - enableVteIntegration = true; - syntaxHighlighting = {enable = true;}; - history = { - extended = true; - ignoreDups = false; - share = true; - save = 50000; - size = 10000; - }; - }; -} diff --git a/modules/home/programs/misc-programs/default.nix b/modules/home/programs/misc-programs/default.nix new file mode 100644 index 00000000..2e9b8518 --- /dev/null +++ b/modules/home/programs/misc-programs/default.nix @@ -0,0 +1,57 @@ +{ + config, + lib, + osConfig, + ... +}: +let + cfg = config.py.programs; + osCfg = osConfig.py.programs; + osPro = osConfig.py.profiles; + inherit (lib) mkEnableOption mkIf; +in +{ + options.py.programs = { + bat.enable = mkEnableOption "bat"; + direnv.enable = mkEnableOption "direnv"; + fzf.enable = mkEnableOption "fzf"; + nix-index.enable = mkEnableOption "nix-index"; + pandoc.enable = mkEnableOption "pandoc"; + zoxide.enable = mkEnableOption "zoxide"; + }; + config = { + programs = { + bat = mkIf (cfg.bat.enable && osPro.cli.enable) { + enable = true; + catppuccin.enable = true; + }; + direnv = mkIf (cfg.direnv.enable && osPro.cli.enable) { + enable = true; + enableBashIntegration = true; + enableNushellIntegration = true; + enableZshIntegration = true; + nix-direnv.enable = true; + stdlib = builtins.readFile ./direnv-stdlib.sh; + }; + fzf = mkIf (cfg.fzf.enable && osPro.cli.enable) { + enable = true; + enableBashIntegration = true; + enableZshIntegration = true; + catppuccin.enable = true; + }; + nix-index = mkIf (cfg.nix-index.enable && osPro.cli.enable) { + enable = true; + enableBashIntegration = true; + enableFishIntegration = true; + enableZshIntegration = true; + }; + pandoc = mkIf (cfg.pandoc.enable && osPro.cli.enable) { enable = true; }; + zoxide = mkIf (cfg.zoxide.enable && osPro.cli.enable) { + enable = true; + enableBashIntegration = true; + enableFishIntegration = true; + enableZshIntegration = true; + }; + }; + }; +} diff --git a/modules/home/programs/misc-programs/direnv-stdlib.sh b/modules/home/programs/misc-programs/direnv-stdlib.sh new file mode 100644 index 00000000..667f6325 --- /dev/null +++ b/modules/home/programs/misc-programs/direnv-stdlib.sh @@ -0,0 +1,26 @@ +layout_poetry() { + PYPROJECT_TOML="\$\{PYPROJECT_TOML:-pyproject.toml}" + if [[ ! -f "$PYPROJECT_TOML" ]]; then + log_status "No pyproject.toml found. Executing \`poetry init\` to create a \`$PYPROJECT_TOML\` first." + poetry init + fi + + if [[ -d ".venv" ]]; then + VIRTUAL_ENV="$(pwd)/.venv" + else + VIRTUAL_ENV=$( + poetry env info --path 2>/dev/null + true + ) + fi + + if [[ -z $VIRTUAL_ENV || ! -d $VIRTUAL_ENV ]]; then + log_status "No virtual environment exists. Executing \`poetry install\` to create one." + poetry install + VIRTUAL_ENV=$(poetry env info --path) + fi + + PATH_add "$VIRTUAL_ENV/bin" + export POETRY_ACTIVE=1 + export VIRTUAL_ENV +} -- 2.51.2 From 8a0091803a5f339158f609acf9ca48ff271e7585 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 22:34:53 -0400 Subject: [PATCH 041/105] [modules.home] Add nushell module --- .../pyrox/programs/nushell/default.nix | 7 ------- .../home}/programs/nushell/config.nu | 0 modules/home/programs/nushell/default.nix | 18 ++++++++++++++++++ .../home}/programs/nushell/env.nu | 0 4 files changed, 18 insertions(+), 7 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/nushell/default.nix rename {homes/x86_64-linux/pyrox => modules/home}/programs/nushell/config.nu (100%) create mode 100644 modules/home/programs/nushell/default.nix rename {homes/x86_64-linux/pyrox => modules/home}/programs/nushell/env.nu (100%) diff --git a/homes/x86_64-linux/pyrox/programs/nushell/default.nix b/homes/x86_64-linux/pyrox/programs/nushell/default.nix deleted file mode 100644 index 91654268..00000000 --- a/homes/x86_64-linux/pyrox/programs/nushell/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - programs.nushell = { - enable = true; - configFile.source = ./config.nu; - envFile.source = ./env.nu; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/nushell/config.nu b/modules/home/programs/nushell/config.nu similarity index 100% rename from homes/x86_64-linux/pyrox/programs/nushell/config.nu rename to modules/home/programs/nushell/config.nu diff --git a/modules/home/programs/nushell/default.nix b/modules/home/programs/nushell/default.nix new file mode 100644 index 00000000..d223016c --- /dev/null +++ b/modules/home/programs/nushell/default.nix @@ -0,0 +1,18 @@ +{ + config, + lib, + osConfig, + ... +}: +let + cfg = config.py.programs.nushell; + osPro = config.py.profiles; +in +{ + options.py.programs.nushell.enable = lib.mkEnableOption "Nushell"; + config.programs.nushell = lib.mkIf (cfg.enable && osPro.cli.enable) { + enable = true; + configFile.source = ./config.nu; + envFile.source = ./env.nu; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/nushell/env.nu b/modules/home/programs/nushell/env.nu similarity index 100% rename from homes/x86_64-linux/pyrox/programs/nushell/env.nu rename to modules/home/programs/nushell/env.nu -- 2.51.2 From b1f4ba12eb39d246c444b1ea499332a4a52c9215 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 22:35:13 -0400 Subject: [PATCH 042/105] [modules.nixos] Go from OR to AND --- modules/nixos/programs/firefox/default.nix | 2 +- modules/nixos/programs/neovim/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/nixos/programs/firefox/default.nix b/modules/nixos/programs/firefox/default.nix index 4ac2fc08..6be58287 100644 --- a/modules/nixos/programs/firefox/default.nix +++ b/modules/nixos/programs/firefox/default.nix @@ -14,7 +14,7 @@ in enable = lib.mkEnableOption "Firefox configuration"; }; - config = lib.mkIf (cfg.enable || config.py.profiles.graphical.enable) { + config = lib.mkIf (cfg.enable && config.py.profiles.graphical.enable) { programs.firefox = { enable = true; package = spkgs.firefox; diff --git a/modules/nixos/programs/neovim/default.nix b/modules/nixos/programs/neovim/default.nix index 3905beee..8841d5ac 100644 --- a/modules/nixos/programs/neovim/default.nix +++ b/modules/nixos/programs/neovim/default.nix @@ -10,7 +10,7 @@ in { options.py.programs.neovim = lib.mkEnableOption "Neovim configuration"; - config.programs.neovim = lib.mkIf (cfg.enable || config.py.profiles.cli.enable) { + config.programs.neovim = lib.mkIf (cfg.enable && config.py.profiles.cli.enable) { enable = true; package = pkgs.py.nvim; defaultEditor = true; -- 2.51.2 From 13939e4f82a9a4cdeda904657c4e5b8010e53b56 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 22:35:38 -0400 Subject: [PATCH 043/105] [meta] nix-direnv: 2.2.1 -> 3.0.5 --- .envrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.envrc b/.envrc index 25b41426..a2e0cd81 100644 --- a/.envrc +++ b/.envrc @@ -1,5 +1,5 @@ -if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then - source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs=" +if ! has nix_direnv_version || ! nix_direnv_version 3.0.5; then + source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.5/direnvrc" "sha256-RuwIS+QKFj/T9M2TFXScjBsLR6V3A17YVoEW/Q6AZ1w=" fi export FLAKE=$(pwd) export NH_NOM=1 -- 2.51.2 From c79768f48f928af339890095c38162f97eca4c8d Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 22:41:27 -0400 Subject: [PATCH 044/105] [modules.home] Make kitty module --- homes/x86_64-linux/pyrox/programs/kitty.nix | 49 --------------------- modules/home/programs/kitty/default.nix | 15 +++++++ modules/home/programs/kitty/settings.nix | 41 +++++++++++++++++ 3 files changed, 56 insertions(+), 49 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/kitty.nix create mode 100644 modules/home/programs/kitty/default.nix create mode 100644 modules/home/programs/kitty/settings.nix diff --git a/homes/x86_64-linux/pyrox/programs/kitty.nix b/homes/x86_64-linux/pyrox/programs/kitty.nix deleted file mode 100644 index 0b1ca9a2..00000000 --- a/homes/x86_64-linux/pyrox/programs/kitty.nix +++ /dev/null @@ -1,49 +0,0 @@ -{pkgs, lib, ...}: { - programs.kitty = { - enable = true; - catppuccin.enable = true; - font.name = "BlexMono Nerd Font"; - font.size = 14; - settings = { - # Font settings - bold_font = "BlexMono Nerd Font Bold"; - italic_font = "BlexMono Nerd Font Italic"; - bold_italic_font = "BlexMono Nerd Font Bold Italic"; - # Cursor Settings - scrollback_lines = 10000; - wheel_scroll_multiplier = 3; - touch_scroll_multiplier = 2; - scrollback_pager = "${lib.getExe pkgs.page}"; - cursor_shape = "block"; - # Mouse settings - mouse_hide_wait = "0.5"; - open_url_with = "default"; - strip_trailing_spaces = "smart"; - focus_follows_mouse = true; - # Perf settings - repaint_delay = 16; - sync_to_monitor = true; - # Terminal Bell settings - enable_audio_bell = false; - # Window settings - hide_window_decorations = true; - # Tab Bar settings - tab_bar_edge = "bottom"; - tab_bar_margin_width = 0; - tab_bar_margin_height = "0 0"; - tab_bar_style = "powerline"; - tab_bar_min_tabs = 2; - - shell = "fish"; - editor = "${lib.getExe pkgs.py.nvim}"; - allow_remote_control = "socket-only"; - listen_on = "unix:/tmp/mykitty"; - update_check_interval = 0; - allow_hyperlinks = true; - shell_integration = "no-cursor"; - term = "xterm-kitty"; - remember_window_size = "no"; - linux_display_server = "wayland"; - }; - }; -} diff --git a/modules/home/programs/kitty/default.nix b/modules/home/programs/kitty/default.nix new file mode 100644 index 00000000..63c3cea5 --- /dev/null +++ b/modules/home/programs/kitty/default.nix @@ -0,0 +1,15 @@ +{ lib, config, ... }: +let + cfg = config.py.programs.kitty; + osPro = config.py.profiles; +in +{ + options.py.programs.kitty.enable = lib.mkEnableOption "kitty"; + config.programs.kitty = lib.mkIf (cfg.enable && osPro.graphical.enable) { + enable = true; + catppuccin.enable = true; + font.name = "BlexMono Nerd Font"; + font.size = 14; + settings = import ./settings.nix; + }; +} diff --git a/modules/home/programs/kitty/settings.nix b/modules/home/programs/kitty/settings.nix new file mode 100644 index 00000000..c2aa2e65 --- /dev/null +++ b/modules/home/programs/kitty/settings.nix @@ -0,0 +1,41 @@ +{ + # Font settings + bold_font = "BlexMono Nerd Font Bold"; + italic_font = "BlexMono Nerd Font Italic"; + bold_italic_font = "BlexMono Nerd Font Bold Italic"; + # Cursor Settings + scrollback_lines = 10000; + wheel_scroll_multiplier = 3; + touch_scroll_multiplier = 2; + scrollback_pager = "page"; + cursor_shape = "block"; + # Mouse settings + mouse_hide_wait = "0.5"; + open_url_with = "default"; + strip_trailing_spaces = "smart"; + focus_follows_mouse = true; + # Perf settings + repaint_delay = 16; + sync_to_monitor = true; + # Terminal Bell settings + enable_audio_bell = false; + # Window settings + hide_window_decorations = true; + # Tab Bar settings + tab_bar_edge = "bottom"; + tab_bar_margin_width = 0; + tab_bar_margin_height = "0 0"; + tab_bar_style = "powerline"; + tab_bar_min_tabs = 2; + + shell = "fish"; + editor = "nvim"; + allow_remote_control = "socket-only"; + listen_on = "unix:/tmp/mykitty"; + update_check_interval = 0; + allow_hyperlinks = true; + shell_integration = "no-cursor"; + term = "xterm-kitty"; + remember_window_size = "no"; + linux_display_server = "wayland"; +} -- 2.51.2 From 486c768c3029f27d21b995b2b1b97559c04b2fc1 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Tue, 4 Jun 2024 23:00:36 -0400 Subject: [PATCH 045/105] [modules.home] Add gpg module --- .../home/programs/gpg/default.nix | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) rename homes/x86_64-linux/pyrox/programs/gpg.nix => modules/home/programs/gpg/default.nix (77%) diff --git a/homes/x86_64-linux/pyrox/programs/gpg.nix b/modules/home/programs/gpg/default.nix similarity index 77% rename from homes/x86_64-linux/pyrox/programs/gpg.nix rename to modules/home/programs/gpg/default.nix index f6d75c6e..d901ae0a 100644 --- a/homes/x86_64-linux/pyrox/programs/gpg.nix +++ b/modules/home/programs/gpg/default.nix @@ -1,5 +1,17 @@ -{pkgs, ...}: { - programs.gpg = { +{ + pkgs, + lib, + config, + osConfig, + ... +}: +let + cfg = config.py.programs.gpg; + osPro = osConfig.py.profiles; +in +{ + options.py.programs.gpg.enable = lib.mkEnableOption "gpg"; + config.programs.gpg = lib.mkIf (cfg.enable && osPro.development.enable) { enable = true; settings = { personal-cipher-preferences = "AES256 AES192 AES"; @@ -23,8 +35,8 @@ no-symkey-cache = true; use-agent = true; throw-keyids = true; - default-key = "0x7D5107866B1C6752"; - trusted-key = "0x7D5107866B1C6752"; + default-key = "0xFE1D8A7D620C611F"; + trusted-key = "0xFE1D8A7D620C611F"; keyserver = "hkps://keys.openpgp.org"; }; scdaemonSettings = { -- 2.51.2 From fa067f12136f0db853feb4021fe3297088873668 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 21:55:07 -0400 Subject: [PATCH 046/105] [modules.home] Add wlogout --- .../pyrox/programs/wlogout/style.nix | 53 ------------------- .../home}/programs/wlogout/default.nix | 17 ++++-- modules/home/programs/wlogout/style.nix | 52 ++++++++++++++++++ 3 files changed, 66 insertions(+), 56 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/wlogout/style.nix rename {homes/x86_64-linux/pyrox => modules/home}/programs/wlogout/default.nix (76%) create mode 100644 modules/home/programs/wlogout/style.nix diff --git a/homes/x86_64-linux/pyrox/programs/wlogout/style.nix b/homes/x86_64-linux/pyrox/programs/wlogout/style.nix deleted file mode 100644 index bf4c614c..00000000 --- a/homes/x86_64-linux/pyrox/programs/wlogout/style.nix +++ /dev/null @@ -1,53 +0,0 @@ -{config, ...}: let - pkg = config.programs.wlogout.package; - icon-path = "${pkg}/share/wlogout/icons"; -in { - programs.wlogout.style = '' - * { - background-image: none; - } - window { - background-image: image(url("/home/thehedgehog/bgs/ctp-waves.png"), url("/home/thehedgehog/bgs/ctp-waves.png")); - background-size: cover; - } - button { - color: #cdd6f4; - background-color: #11111b; - border: none; - border-color: #6c7086; - background-repeat: no-repeat; - background-position: center; - background-size: 25%; - } - - button:focus, button:active, button:hover { - background-color: #1e1e2e; - outline-style: none; - border:none; - } - - #lock { - background-image: image(url("${icon-path}/lock.png"), url("${icon-path}/lock.png")); - } - - #suspend-then-hibernate { - background-image: image(url("${icon-path}/suspend.png"), url("${icon-path}/suspend.png")); - } - - #suspend { - background-image: image(url("${icon-path}/suspend.png"), url("${icon-path}/suspend.png")); - } - - #hibernate { - background-image: image(url("${icon-path}/hibernate.png"), url("${icon-path}/hibernate.png")); - } - - #shutdown { - background-image: image(url("${icon-path}/shutdown.png"), url("${icon-path}/shutdown.png")); - } - - #reboot { - background-image: image(url("${icon-path}/reboot.png"), url("${icon-path}/reboot.png")); - } - ''; -} diff --git a/homes/x86_64-linux/pyrox/programs/wlogout/default.nix b/modules/home/programs/wlogout/default.nix similarity index 76% rename from homes/x86_64-linux/pyrox/programs/wlogout/default.nix rename to modules/home/programs/wlogout/default.nix index e8aea5e3..f8b6acfb 100644 --- a/homes/x86_64-linux/pyrox/programs/wlogout/default.nix +++ b/modules/home/programs/wlogout/default.nix @@ -1,7 +1,18 @@ -{ pkgs, ...}: { - imports = [./style.nix]; - programs.wlogout = { +{ + pkgs, + config, + lib, + ... +}: +let + cfg = config.programs.py.wlogout; + pkg = config.programs.wlogout.package; +in +{ + options.py.programs.wlogout.enable = lib.mkEnableOption "wlogout"; + config.programs.wlogout = lib.mkIf cfg.enable { enable = true; + style = import ./style.nix pkg; layout = [ { label = "hibernate"; diff --git a/modules/home/programs/wlogout/style.nix b/modules/home/programs/wlogout/style.nix new file mode 100644 index 00000000..a945044d --- /dev/null +++ b/modules/home/programs/wlogout/style.nix @@ -0,0 +1,52 @@ +{ pkg }: +let + icon-path = "${pkg}/share/wlogout/icons"; +in +'' + * { + background-image: none; + } + window { + background-image: image(url("/home/thehedgehog/bgs/ctp-waves.png"), url("/home/thehedgehog/bgs/ctp-waves.png")); + background-size: cover; + } + button { + color: #cdd6f4; + background-color: #11111b; + border: none; + border-color: #6c7086; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; + } + + button:focus, button:active, button:hover { + background-color: #1e1e2e; + outline-style: none; + border:none; + } + + #lock { + background-image: image(url("${icon-path}/lock.png"), url("${icon-path}/lock.png")); + } + + #suspend-then-hibernate { + background-image: image(url("${icon-path}/suspend.png"), url("${icon-path}/suspend.png")); + } + + #suspend { + background-image: image(url("${icon-path}/suspend.png"), url("${icon-path}/suspend.png")); + } + + #hibernate { + background-image: image(url("${icon-path}/hibernate.png"), url("${icon-path}/hibernate.png")); + } + + #shutdown { + background-image: image(url("${icon-path}/shutdown.png"), url("${icon-path}/shutdown.png")); + } + + #reboot { + background-image: image(url("${icon-path}/reboot.png"), url("${icon-path}/reboot.png")); + } +'' -- 2.51.2 From fdc2328d0980cef55d0f7d46275701a0755cedf7 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 21:56:07 -0400 Subject: [PATCH 047/105] [modules.home] Remove all osProfile autoconfig stuff --- modules/home/programs/chromium/default.nix | 5 +---- modules/home/programs/gpg/default.nix | 4 +--- modules/home/programs/kitty/default.nix | 3 +-- modules/home/programs/misc-programs/default.nix | 12 ++++++------ modules/home/programs/nushell/default.nix | 10 ++-------- modules/nixos/programs/chromium/default.nix | 2 +- modules/nixos/programs/firefox/default.nix | 2 +- modules/nixos/programs/neovim/default.nix | 2 +- 8 files changed, 14 insertions(+), 26 deletions(-) diff --git a/modules/home/programs/chromium/default.nix b/modules/home/programs/chromium/default.nix index 741525da..f845cab4 100644 --- a/modules/home/programs/chromium/default.nix +++ b/modules/home/programs/chromium/default.nix @@ -1,7 +1,6 @@ { pkgs, inputs, - osConfig, config, lib, system, @@ -9,13 +8,11 @@ }: let cfg = config.py.programs.chromium; - osCfg = osConfig.py.programs.chromium; - osPro = osConfig.py.profiles; in { options.py.programs.chromium.enable = lib.mkEnableOption "Chromium"; - config.programs.chromium = lib.mkIf (cfg.enable || osCfg.enable && osPro.graphical.enable) { + config.programs.chromium = lib.mkIf cfg.enable { enable = true; package = inputs.stable.legacyPackages.${system}.ungoogled-chromium; dictionaries = [ pkgs.hunspellDictsChromium.en_US ]; diff --git a/modules/home/programs/gpg/default.nix b/modules/home/programs/gpg/default.nix index d901ae0a..2ab9a84b 100644 --- a/modules/home/programs/gpg/default.nix +++ b/modules/home/programs/gpg/default.nix @@ -2,16 +2,14 @@ pkgs, lib, config, - osConfig, ... }: let cfg = config.py.programs.gpg; - osPro = osConfig.py.profiles; in { options.py.programs.gpg.enable = lib.mkEnableOption "gpg"; - config.programs.gpg = lib.mkIf (cfg.enable && osPro.development.enable) { + config.programs.gpg = lib.mkIf cfg.enable { enable = true; settings = { personal-cipher-preferences = "AES256 AES192 AES"; diff --git a/modules/home/programs/kitty/default.nix b/modules/home/programs/kitty/default.nix index 63c3cea5..9b721fe4 100644 --- a/modules/home/programs/kitty/default.nix +++ b/modules/home/programs/kitty/default.nix @@ -1,11 +1,10 @@ { lib, config, ... }: let cfg = config.py.programs.kitty; - osPro = config.py.profiles; in { options.py.programs.kitty.enable = lib.mkEnableOption "kitty"; - config.programs.kitty = lib.mkIf (cfg.enable && osPro.graphical.enable) { + config.programs.kitty = lib.mkIf cfg.enable { enable = true; catppuccin.enable = true; font.name = "BlexMono Nerd Font"; diff --git a/modules/home/programs/misc-programs/default.nix b/modules/home/programs/misc-programs/default.nix index 2e9b8518..4b51ec5a 100644 --- a/modules/home/programs/misc-programs/default.nix +++ b/modules/home/programs/misc-programs/default.nix @@ -21,11 +21,11 @@ in }; config = { programs = { - bat = mkIf (cfg.bat.enable && osPro.cli.enable) { + bat = mkIf cfg.bat.enable { enable = true; catppuccin.enable = true; }; - direnv = mkIf (cfg.direnv.enable && osPro.cli.enable) { + direnv = mkIf cfg.direnv.enable { enable = true; enableBashIntegration = true; enableNushellIntegration = true; @@ -33,20 +33,20 @@ in nix-direnv.enable = true; stdlib = builtins.readFile ./direnv-stdlib.sh; }; - fzf = mkIf (cfg.fzf.enable && osPro.cli.enable) { + fzf = mkIf cfg.fzf.enable { enable = true; enableBashIntegration = true; enableZshIntegration = true; catppuccin.enable = true; }; - nix-index = mkIf (cfg.nix-index.enable && osPro.cli.enable) { + nix-index = mkIf cfg.nix-index.enable { enable = true; enableBashIntegration = true; enableFishIntegration = true; enableZshIntegration = true; }; - pandoc = mkIf (cfg.pandoc.enable && osPro.cli.enable) { enable = true; }; - zoxide = mkIf (cfg.zoxide.enable && osPro.cli.enable) { + pandoc = mkIf cfg.pandoc.enable { enable = true; }; + zoxide = mkIf cfg.zoxide.enable { enable = true; enableBashIntegration = true; enableFishIntegration = true; diff --git a/modules/home/programs/nushell/default.nix b/modules/home/programs/nushell/default.nix index d223016c..a76d5158 100644 --- a/modules/home/programs/nushell/default.nix +++ b/modules/home/programs/nushell/default.nix @@ -1,16 +1,10 @@ -{ - config, - lib, - osConfig, - ... -}: +{ config, lib, ... }: let cfg = config.py.programs.nushell; - osPro = config.py.profiles; in { options.py.programs.nushell.enable = lib.mkEnableOption "Nushell"; - config.programs.nushell = lib.mkIf (cfg.enable && osPro.cli.enable) { + config.programs.nushell = lib.mkIf cfg.enable { enable = true; configFile.source = ./config.nu; envFile.source = ./env.nu; diff --git a/modules/nixos/programs/chromium/default.nix b/modules/nixos/programs/chromium/default.nix index 6d6d504c..7780bf0a 100644 --- a/modules/nixos/programs/chromium/default.nix +++ b/modules/nixos/programs/chromium/default.nix @@ -5,7 +5,7 @@ in { options.py.programs.chromium.enable = lib.mkEnableOption "Chromium"; - config = lib.mkIf (cfg.enable && config.py.profiles.graphical.enable) { + config = lib.mkIf cfg.enable { programs.chromium = { enable = true; defaultSearchProviderEnabled = true; diff --git a/modules/nixos/programs/firefox/default.nix b/modules/nixos/programs/firefox/default.nix index 6be58287..5d03dd7d 100644 --- a/modules/nixos/programs/firefox/default.nix +++ b/modules/nixos/programs/firefox/default.nix @@ -14,7 +14,7 @@ in enable = lib.mkEnableOption "Firefox configuration"; }; - config = lib.mkIf (cfg.enable && config.py.profiles.graphical.enable) { + config = lib.mkIf cfg.enable { programs.firefox = { enable = true; package = spkgs.firefox; diff --git a/modules/nixos/programs/neovim/default.nix b/modules/nixos/programs/neovim/default.nix index 8841d5ac..264141c9 100644 --- a/modules/nixos/programs/neovim/default.nix +++ b/modules/nixos/programs/neovim/default.nix @@ -10,7 +10,7 @@ in { options.py.programs.neovim = lib.mkEnableOption "Neovim configuration"; - config.programs.neovim = lib.mkIf (cfg.enable && config.py.profiles.cli.enable) { + config.programs.neovim = lib.mkIf cfg.enable { enable = true; package = pkgs.py.nvim; defaultEditor = true; -- 2.51.2 From 51d032f22e2d9434c95e37cf1a74f711aa025cf1 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 21:56:20 -0400 Subject: [PATCH 048/105] [home.modules] Add obs to misc-programs --- homes/x86_64-linux/pyrox/programs/obs.nix | 13 ------------- .../home/programs/misc-programs/default.nix | 19 ++++++++++++++++--- 2 files changed, 16 insertions(+), 16 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/obs.nix diff --git a/homes/x86_64-linux/pyrox/programs/obs.nix b/homes/x86_64-linux/pyrox/programs/obs.nix deleted file mode 100644 index 7c384154..00000000 --- a/homes/x86_64-linux/pyrox/programs/obs.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - pkgs, - ... -}: { - programs.obs-studio = { - enable = true; - plugins = with pkgs.obs-studio-plugins; [ - obs-pipewire-audio-capture - obs-vkcapture - wlrobs - ]; - }; -} diff --git a/modules/home/programs/misc-programs/default.nix b/modules/home/programs/misc-programs/default.nix index 4b51ec5a..89690bc0 100644 --- a/modules/home/programs/misc-programs/default.nix +++ b/modules/home/programs/misc-programs/default.nix @@ -1,13 +1,11 @@ { config, lib, - osConfig, + pkgs, ... }: let cfg = config.py.programs; - osCfg = osConfig.py.programs; - osPro = osConfig.py.profiles; inherit (lib) mkEnableOption mkIf; in { @@ -16,6 +14,7 @@ in direnv.enable = mkEnableOption "direnv"; fzf.enable = mkEnableOption "fzf"; nix-index.enable = mkEnableOption "nix-index"; + obs.enable = mkEnableOption "OBS Studio"; pandoc.enable = mkEnableOption "pandoc"; zoxide.enable = mkEnableOption "zoxide"; }; @@ -45,6 +44,20 @@ in enableFishIntegration = true; enableZshIntegration = true; }; + obs = mkIf cfg.obs.enable { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ + obs-ndi + obs-text-pthread + obs-multi-rtmp + obs-backgroundremoval + input-overlay + obs-tuna + obs-pipewire-audio-capture + obs-vkcapture + wlrobs + ]; + }; pandoc = mkIf cfg.pandoc.enable { enable = true; }; zoxide = mkIf cfg.zoxide.enable { enable = true; -- 2.51.2 From 1562ef52b555e0bcceca2dd45267524e4930fefd Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 21:56:34 -0400 Subject: [PATCH 049/105] [home] Remove rofi file as I don't use it anymore --- homes/x86_64-linux/pyrox/programs/rofi.nix | 90 ---------------------- 1 file changed, 90 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/programs/rofi.nix diff --git a/homes/x86_64-linux/pyrox/programs/rofi.nix b/homes/x86_64-linux/pyrox/programs/rofi.nix deleted file mode 100644 index a862769f..00000000 --- a/homes/x86_64-linux/pyrox/programs/rofi.nix +++ /dev/null @@ -1,90 +0,0 @@ -{ - pkgs, - config, - ... -}: { - programs.rofi = { - enable = true; - package = pkgs.rofi-wayland; - cycle = true; - font = "IBM Plex Sans 13"; - location = "center"; - extraConfig = {modi = "run,ssh,drun,filebrowser";}; - terminal = "${pkgs.kitty}/bin/kitty"; - theme = let - inherit (config.lib.formats.rasi) mkLiteral; - in { - "*" = { - accent-color = mkLiteral "#bb9af7ff"; - background-color = mkLiteral "#1a1b26ff"; - blue = mkLiteral "#7aa2f7ff"; - border-color = mkLiteral "#cfc9c2ff"; - font = "IBM Plex Sans 13"; - foreground-color = mkLiteral "#a9b1d6ff"; - green = mkLiteral "#73dacaff"; - height = 752; - lightfg = mkLiteral "#414868ff"; - red = mkLiteral "#f7768eff"; - show-icons = true; - width = 500; - display-drun = ""; - }; - "#button selected" = { - background-color = mkLiteral "@background-color"; - text-color = mkLiteral "@accent-color"; - }; - "#entry" = { - text-color = mkLiteral "@foreground-color"; - spacing = mkLiteral "2"; - border-radius = mkLiteral "8"; - }; - "#entry selected" = { - text-color = mkLiteral "@blue"; - spacing = mkLiteral "1"; - border-radius = mkLiteral "8"; - }; - "#element-icon" = { - background-color = mkLiteral "@background-color"; - text-color = mkLiteral "@foreground-color"; - }; - "#element-text" = { - background-color = mkLiteral "@background-color"; - text-color = mkLiteral "@foreground-color"; - }; - "#element-text selected" = { - background-color = mkLiteral "@blue"; - text-color = mkLiteral "@background-color"; - border-radius = mkLiteral "8px"; - }; - "#element alternate" = { - background-color = mkLiteral "@background-color"; - text-color = mkLiteral "@accent-color"; - }; - "#element normal" = { - background-color = mkLiteral "@blue"; - text-color = mkLiteral "@accent-color"; - }; - "#element selected" = { - background-color = mkLiteral "@blue"; - text-color = mkLiteral "@accent-color"; - border-radius = mkLiteral "8"; - }; - "#inputbar" = {children = map mkLiteral ["prompt" "entry"];}; - "#prompt" = {text-color = mkLiteral "@accent-color";}; - "#textbox" = {text-color = mkLiteral "@foreground-color";}; - "#textbox-prompt-colon" = { - expand = true; - str = ":"; - margin = mkLiteral "0px 0.3em 0em 0em"; - text-color = mkLiteral "@lightfg"; - }; - "#window" = { - border = mkLiteral "2px"; - border-color = mkLiteral "@border-color"; - padding = 25; - width = 500; - height = 752; - }; - }; - }; -} -- 2.51.2 From 5a529e9c5a8a23086086c0236cf59fa4a41ea7b8 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 22:22:04 -0400 Subject: [PATCH 050/105] [homes] Make thehedgehog its own home --- homes/x86_64-linux/thehedgehog | 1 - homes/x86_64-linux/thehedgehog/default.nix | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) delete mode 120000 homes/x86_64-linux/thehedgehog create mode 100644 homes/x86_64-linux/thehedgehog/default.nix diff --git a/homes/x86_64-linux/thehedgehog b/homes/x86_64-linux/thehedgehog deleted file mode 120000 index 56dcf4e4..00000000 --- a/homes/x86_64-linux/thehedgehog +++ /dev/null @@ -1 +0,0 @@ -./pyrox \ No newline at end of file diff --git a/homes/x86_64-linux/thehedgehog/default.nix b/homes/x86_64-linux/thehedgehog/default.nix new file mode 100644 index 00000000..f581edcb --- /dev/null +++ b/homes/x86_64-linux/thehedgehog/default.nix @@ -0,0 +1,7 @@ +{ + snowfallorg.user = { + enable = true; + name = "thehedgehog"; + home = "/home/thehedgehog"; + }; +} -- 2.51.2 From 4a9bf28f7c2ab11c77f75d3ac46db4688ae901b6 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 22:22:37 -0400 Subject: [PATCH 051/105] [homes.pyrox] Add a nix config file --- homes/x86_64-linux/pyrox/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 homes/x86_64-linux/pyrox/default.nix diff --git a/homes/x86_64-linux/pyrox/default.nix b/homes/x86_64-linux/pyrox/default.nix new file mode 100644 index 00000000..92a2f5dd --- /dev/null +++ b/homes/x86_64-linux/pyrox/default.nix @@ -0,0 +1,7 @@ +{ + snowfallorg.user = { + enable = true; + name = "pyrox"; + home = "/home/pyrox"; + }; +} -- 2.51.2 From 965374e09c5fb3d577cbde8d3934ec9cc0f6a682 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 22:38:30 -0400 Subject: [PATCH 052/105] [packages] caddy: 2.7.6 -> 2.8.4 --- packages/caddy/default.nix | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/packages/caddy/default.nix b/packages/caddy/default.nix index e03c2f20..1a9389cd 100644 --- a/packages/caddy/default.nix +++ b/packages/caddy/default.nix @@ -1,15 +1,12 @@ -{ - fetchurl, - stdenv, -}: -stdenv.mkDerivation { +{ fetchurl, stdenv }: +stdenv.mkDerivation rec { pname = "caddy-bin"; - version = "2.7.6"; - phases = ["installPhase"]; + version = "2.8.4"; + phases = [ "installPhase" ]; src = fetchurl { - url = "https://git.pyrox.dev/pyrox/binaries/releases/download/caddy-2.7.6/caddy"; - sha256 = "0av96800m1dfmnhg3c38p7hrd7wh8n27ym3y0wvdxm8knzz3yx7d"; + url = "https://git.pyrox.dev/pyrox/binaries/releases/download/caddy-${version}/caddy"; + hash = "sha256-Er6KEPuA+RNHMOtoqVQhGUdPPUMD2jEGRx26tnzFyNU="; }; installPhase = '' install -d $out/bin -- 2.51.2 From 58b4172daa890f5127a1e39774f14764c670c7b2 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 23:07:25 -0400 Subject: [PATCH 053/105] [packages] Add git-credential-rbw package --- .../x86_64-linux/pyrox/files/tokyo-night.json | 28 ------------------- .../git-credential-rbw/default.nix | 7 +++-- 2 files changed, 5 insertions(+), 30 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/files/tokyo-night.json rename homes/x86_64-linux/pyrox/files/rbw-gc.nix => packages/git-credential-rbw/default.nix (88%) diff --git a/homes/x86_64-linux/pyrox/files/tokyo-night.json b/homes/x86_64-linux/pyrox/files/tokyo-night.json deleted file mode 100644 index 23135aff..00000000 --- a/homes/x86_64-linux/pyrox/files/tokyo-night.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "wallpaper": "~/.config/wpg/wallpapers/nix-snowflake.png", - "alpha": "100", - - "special": { - "background": "#1A1B26", - "foreground": "#A9B1D6", - "cursor": "#A9B1D6" - }, - "colors": { - "color0": "#1A1B26", - "color1": "#F7768E", - "color2": "#73DACA", - "color3": "#E0AF68", - "color4": "#7AA2F7", - "color5": "#BB9AF7", - "color6": "#7DCFFF", - "color7": "#A9B1D6", - "color8": "#414868", - "color9": "#F7768E", - "color10": "#73DACA", - "color11": "#E0AF68", - "color12": "#7AA2F7", - "color13": "#BB9AF7", - "color14": "#7DCFFF", - "color15": "#A9B1D6" - } -} diff --git a/homes/x86_64-linux/pyrox/files/rbw-gc.nix b/packages/git-credential-rbw/default.nix similarity index 88% rename from homes/x86_64-linux/pyrox/files/rbw-gc.nix rename to packages/git-credential-rbw/default.nix index bde55eec..b67d6ccc 100644 --- a/homes/x86_64-linux/pyrox/files/rbw-gc.nix +++ b/packages/git-credential-rbw/default.nix @@ -1,5 +1,8 @@ -{pkgs, ...}: { - home.file."bin/git-credential-rbw".text = '' +{ pkgs, ... }: +pkgs.writeShellApplication { + name = "git-credential-rbw"; + runtimeInputs = [ pkgs.rbw ]; + text = '' #${pkgs.bash}/bin/bash declare -A params -- 2.51.2 From 5b1292b2f4bdd02ed5c81fb09e61dce698ff07f9 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 23:51:14 -0400 Subject: [PATCH 054/105] [homes] Move all remaining programs to modules --- .../pyrox/files/ssh-auth-signers.nix | 9 -- .../pyrox/programs/emacs/default.nix | 14 --- homes/x86_64-linux/pyrox/programs/helix.nix | 32 ------ homes/x86_64-linux/pyrox/programs/neovim.nix | 24 ----- .../pyrox/programs/ssh/default.nix | 34 ------ .../x86_64-linux/pyrox/programs/starship.nix | 100 ------------------ .../home/programs/fish/default.nix | 13 ++- modules/home/programs/helix/default.nix | 13 +++ modules/home/programs/helix/settings.nix | 25 +++++ .../home}/programs/ssh/backup.pub | 0 modules/home/programs/ssh/default.nix | 45 ++++++++ .../home/programs/ssh/ssh-auth-signers.nix | 7 ++ .../home}/programs/ssh/yubikey-back.pub | 0 .../home}/programs/ssh/yubikey-main.pub | 0 .../home}/programs/ssh/yubikey-new.pub | 0 modules/home/programs/starship/default.nix | 15 +++ modules/home/programs/starship/settings.nix | 100 ++++++++++++++++++ .../home/programs/vscodium/default.nix | 10 +- 18 files changed, 223 insertions(+), 218 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/files/ssh-auth-signers.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/emacs/default.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/helix.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/neovim.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/ssh/default.nix delete mode 100644 homes/x86_64-linux/pyrox/programs/starship.nix rename homes/x86_64-linux/pyrox/programs/fish.nix => modules/home/programs/fish/default.nix (84%) create mode 100644 modules/home/programs/helix/default.nix create mode 100644 modules/home/programs/helix/settings.nix rename {homes/x86_64-linux/pyrox => modules/home}/programs/ssh/backup.pub (100%) create mode 100644 modules/home/programs/ssh/default.nix create mode 100644 modules/home/programs/ssh/ssh-auth-signers.nix rename {homes/x86_64-linux/pyrox => modules/home}/programs/ssh/yubikey-back.pub (100%) rename {homes/x86_64-linux/pyrox => modules/home}/programs/ssh/yubikey-main.pub (100%) rename {homes/x86_64-linux/pyrox => modules/home}/programs/ssh/yubikey-new.pub (100%) create mode 100644 modules/home/programs/starship/default.nix create mode 100644 modules/home/programs/starship/settings.nix rename homes/x86_64-linux/pyrox/programs/vscodium.nix => modules/home/programs/vscodium/default.nix (87%) diff --git a/homes/x86_64-linux/pyrox/files/ssh-auth-signers.nix b/homes/x86_64-linux/pyrox/files/ssh-auth-signers.nix deleted file mode 100644 index bfc2336e..00000000 --- a/homes/x86_64-linux/pyrox/files/ssh-auth-signers.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - home.file.".ssh/authorized_signatures".text = '' - hedgehog@mrhedgehog.xyz ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== - hedgehog@mrhedgehog.xyz ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= - me@thehedgehog.me ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== - me@thehedgehog.me ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= - me@thehedgehog.me ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK97n2SgV/U1mLzxcaEDl85iF5D3jm7xboZ+S01+CbM/8zxVoWyjVHCqTwDcrLwP0c5Z51BNj7U0UkGIgR4zTSM= - ''; -} diff --git a/homes/x86_64-linux/pyrox/programs/emacs/default.nix b/homes/x86_64-linux/pyrox/programs/emacs/default.nix deleted file mode 100644 index f77f325f..00000000 --- a/homes/x86_64-linux/pyrox/programs/emacs/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{pkgs, ...}: { - programs.emacs = { - enable = true; - package = - (pkgs.emacsPackagesFor pkgs.emacs-pgtk).emacsWithPackages - (epkgs: [epkgs.vterm]); - }; - services.emacs = { - enable = true; - package = - (pkgs.emacsPackagesFor pkgs.emacs-pgtk).emacsWithPackages - (epkgs: [epkgs.vterm]); - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/helix.nix b/homes/x86_64-linux/pyrox/programs/helix.nix deleted file mode 100644 index 3c883be6..00000000 --- a/homes/x86_64-linux/pyrox/programs/helix.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - programs.helix = { - enable = true; - catppuccin.enable = true; - catppuccin.useItalics = true; - settings = { - editor = { - line-number = "absolute"; - mouse = false; - auto-save = true; - true-color = true; - bufferline = "multiple"; - cursor-shape = { - normal = "block"; - insert = "bar"; - select = "underline"; - }; - lsp = { - display-messages = true; - auto-signature-help = true; - display-signature-help-docs = true; - }; - whitespace.render = { - space = "none"; - tab = "all"; - newline = "all"; - }; - indent-guides.render = true; - }; - }; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/neovim.nix b/homes/x86_64-linux/pyrox/programs/neovim.nix deleted file mode 100644 index 43c2c34e..00000000 --- a/homes/x86_64-linux/pyrox/programs/neovim.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - pkgs, - ... -}: { - programs.neovim = { - enable = true; - package = pkgs.py.nvim; - viAlias = true; - vimAlias = true; - vimdiffAlias = true; - withNodeJs = false; - withPython3 = false; - withRuby = false; - extraPackages = [ - pkgs.fd - pkgs.ffmpegthumbnailer - pkgs.fontpreview - pkgs.gcc - pkgs.nodejs - pkgs.poppler - pkgs.ueberzug - ]; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/ssh/default.nix b/homes/x86_64-linux/pyrox/programs/ssh/default.nix deleted file mode 100644 index 7ef1e5d5..00000000 --- a/homes/x86_64-linux/pyrox/programs/ssh/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - programs.ssh = { - enable = true; - compression = true; - matchBlocks = { - "marvin" = { - hostname = "100.123.15.72"; - user = "thehedgehog"; - port = 22; - extraOptions = { - "IdentitiesOnly" = "no"; - "PreferredAuthentications" = "publickey"; - }; - }; - "prefect" = { - hostname = "100.93.63.54"; - user = "thehedgehog"; - port = 22; - extraOptions = { - "IdentitiesOnly" = "no"; - "PreferredAuthentications" = "publickey"; - }; - }; - "botw" = { - hostname = "bandit.labs.overthewire.org"; - port = 2220; - sendEnv = ["WECHALLUSER" "WECHALLTOKEN"]; - }; - }; - extraOptionOverrides = { - "Match" = ''host * exec "gpg-connect-agent UPDATESTARTUPTTY /bye"''; - }; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/starship.nix b/homes/x86_64-linux/pyrox/programs/starship.nix deleted file mode 100644 index f715c9d8..00000000 --- a/homes/x86_64-linux/pyrox/programs/starship.nix +++ /dev/null @@ -1,100 +0,0 @@ -{lib, ...}: { - programs.starship = { - enable = true; - catppuccin.enable = true; - enableFishIntegration = true; - enableBashIntegration = true; - enableZshIntegration = true; - settings = { - format = lib.concatStrings [ - "$hostname" - "$directory" - "$rust" - "$python" - "$golang" - "$nodejs" - "$lua" - "$git_branch" - "$git_status" - "$battery" - "$shlvl" - " " - "$character" - ]; - right_format = lib.concatStrings ["$nix_shell"]; - - directory = {read_only = " ";}; - git_branch = { - symbol = " "; - format = "\\[[$symbol$branch]($style)\\]"; - }; - git_status = {format = "([\\[$all_status$ahead_behind\\]]($style))";}; - golang = { - symbol = " "; - format = "\\[[$symbol($version)]($style)\\]"; - }; - nodejs = {format = "\\[[$symbol($version)]($style)\\]";}; - lua = { - symbol = " "; - format = "\\[[\${symbol}\${version}]($style)\\]"; - }; - package = { - symbol = " "; - format = "\\[[$symbol$version]($style)\\]"; - }; - python = { - symbol = " "; - format = "\\[[\${symbol}\${pyenv_prefix}(\${version})(\\($virtualenv\\))]($style)\\]"; - }; - rust = { - symbol = " "; - format = "\\[[$symbol($version)]($style)\\]"; - }; - shlvl = {symbol = " ";}; - nix_shell = { - symbol = " "; - format = "\\[[$symbol($name)]($style)\\]"; - }; - aws.disabled = true; - conda.disabled = true; - crystal.disabled = true; - dart.disabled = true; - deno.disabled = true; - docker_context.disabled = true; - dotnet.disabled = true; - elixir.disabled = true; - elm.disabled = true; - env_var.disabled = true; - erlang.disabled = true; - gcloud.disabled = true; - helm.disabled = true; - hostname.disabled = true; - java.disabled = true; - jobs.disabled = true; - julia.disabled = true; - kotlin.disabled = true; - kubernetes.disabled = true; - memory_usage.disabled = true; - hg_branch.disabled = true; - nim.disabled = true; - ocaml.disabled = true; - openstack.disabled = true; - perl.disabled = true; - php.disabled = true; - purescript.disabled = true; - rlang.disabled = true; - red.disabled = true; - ruby.disabled = true; - scala.disabled = true; - singularity.disabled = true; - swift.disabled = true; - terraform.disabled = true; - time.disabled = true; - username.disabled = true; - vagrant.disabled = true; - vlang.disabled = true; - vcsh.disabled = true; - zig.disabled = true; - }; - }; -} diff --git a/homes/x86_64-linux/pyrox/programs/fish.nix b/modules/home/programs/fish/default.nix similarity index 84% rename from homes/x86_64-linux/pyrox/programs/fish.nix rename to modules/home/programs/fish/default.nix index c2f77577..011e55ad 100644 --- a/homes/x86_64-linux/pyrox/programs/fish.nix +++ b/modules/home/programs/fish/default.nix @@ -1,9 +1,16 @@ -{ pkgs, lib, ... }: +{ + pkgs, + lib, + config, + ... +}: let - inherit (lib) getExe; + inherit (lib) getExe mkEnableOption mkIf; + cfg = config.py.programs.fish; in { - programs.fish = { + options.py.programs.fish.enable = mkEnableOption "fish shell"; + config.programs.fish = mkIf cfg.enable { enable = true; catppuccin.enable = true; shellAliases = { diff --git a/modules/home/programs/helix/default.nix b/modules/home/programs/helix/default.nix new file mode 100644 index 00000000..1a95b76b --- /dev/null +++ b/modules/home/programs/helix/default.nix @@ -0,0 +1,13 @@ +{ config, lib, ... }: +let + cfg = config.py.programs.helix; +in +{ + options.py.programs.helix.enable = lib.mkEnableOption "helix editor"; + config.programs.helix = lib.mkIf cfg.enable { + enable = true; + catppuccin.enable = true; + catppuccin.useItalics = true; + settings = import ./settings.nix; + }; +} diff --git a/modules/home/programs/helix/settings.nix b/modules/home/programs/helix/settings.nix new file mode 100644 index 00000000..e95c597b --- /dev/null +++ b/modules/home/programs/helix/settings.nix @@ -0,0 +1,25 @@ +{ + editor = { + line-number = "absolute"; + mouse = false; + auto-save = true; + true-color = true; + bufferline = "multiple"; + cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; + lsp = { + display-messages = true; + auto-signature-help = true; + display-signature-help-docs = true; + }; + whitespace.render = { + space = "none"; + tab = "all"; + newline = "all"; + }; + indent-guides.render = true; + }; +} diff --git a/homes/x86_64-linux/pyrox/programs/ssh/backup.pub b/modules/home/programs/ssh/backup.pub similarity index 100% rename from homes/x86_64-linux/pyrox/programs/ssh/backup.pub rename to modules/home/programs/ssh/backup.pub diff --git a/modules/home/programs/ssh/default.nix b/modules/home/programs/ssh/default.nix new file mode 100644 index 00000000..bbe15784 --- /dev/null +++ b/modules/home/programs/ssh/default.nix @@ -0,0 +1,45 @@ +{ lib, config, ... }: +let + cfg = config.py.programs.ssh; +in +{ + options.py.programs.ssh.enable = lib.mkEnableOption "ssh"; + config = lib.mkEnableOption cfg.enable { + programs.ssh = { + enable = true; + compression = true; + matchBlocks = { + "marvin" = { + hostname = "100.123.15.72"; + user = "thehedgehog"; + port = 22; + extraOptions = { + "IdentitiesOnly" = "no"; + "PreferredAuthentications" = "publickey"; + }; + }; + "prefect" = { + hostname = "100.93.63.54"; + user = "thehedgehog"; + port = 22; + extraOptions = { + "IdentitiesOnly" = "no"; + "PreferredAuthentications" = "publickey"; + }; + }; + "botw" = { + hostname = "bandit.labs.overthewire.org"; + port = 2220; + sendEnv = [ + "WECHALLUSER" + "WECHALLTOKEN" + ]; + }; + }; + extraOptionOverrides = { + "Match" = ''host * exec "gpg-connect-agent UPDATESTARTUPTTY /bye"''; + }; + }; + home.file.".ssh/authorized_signatures".text = lib.mkIf cfg.enable import ./ssh-auth-signers.nix; + }; +} diff --git a/modules/home/programs/ssh/ssh-auth-signers.nix b/modules/home/programs/ssh/ssh-auth-signers.nix new file mode 100644 index 00000000..0d7fc1eb --- /dev/null +++ b/modules/home/programs/ssh/ssh-auth-signers.nix @@ -0,0 +1,7 @@ +'' + hedgehog@mrhedgehog.xyz ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== + hedgehog@mrhedgehog.xyz ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= + me@thehedgehog.me ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTVGi3PItsbUhFgnFZlqo1iUggL4npMg94+9FsyhEPfShcQwJK2/jJzjv5S9KPuk3cY7aoqyVFLbnasSBZPXmscJmOiVNvtWvHoC3QPXvf3IAcVZ5KOLpY2NJlPx/pAb31C6ewtg8v3VlyhL4zEp6M+AGwXX51tFDh2GnYD+7SNF+aMhKCrX63syAhgPy3F8mZ2RIDLAu+lsYlwdpWRkSEv9kcjX/6+3QgUWjfPBaKEeYID22ihSuj7+AiuAt0gM4q0TY/Hpcx+qDLonrIuBnm1hMZDgbv//D0sHIUxJQkGTKTEbkZxoh0Qri7UV/V6l3mETaG40deuemMU7RFY7Khl8RajNZ+9z0FdquS/HCt8+fYQk6eLneJrMIQ1bI4awrtblG3P2Yf2QUu+H3kfCQe44R3WjUugTbNtumVgyQBzl2dzlIVn1pZBeyZy70XCgbaFKkDR8Y/qZiUoZ0afP3vTOXhkn5UBfutTKwUiSGh3S8Ge5YhNgKHWE2eQp1ckEm0IMJV/q5Nsw/yBBXj/kfD8ekz96LQ+gP5JFLq4EaipXI7FM4aZNOBUZU1l/sCEuq7m997nrBucTKqGm7Ho3rq7bgdj4f6GyUJXSMOM1cN61LLrRumZGGTH8WghVL7ligxZyNFcQoudR8jfpf4mrgRxipQOe1A2umvuufMr+l/bw== + me@thehedgehog.me ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM= + me@thehedgehog.me ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK97n2SgV/U1mLzxcaEDl85iF5D3jm7xboZ+S01+CbM/8zxVoWyjVHCqTwDcrLwP0c5Z51BNj7U0UkGIgR4zTSM= +'' diff --git a/homes/x86_64-linux/pyrox/programs/ssh/yubikey-back.pub b/modules/home/programs/ssh/yubikey-back.pub similarity index 100% rename from homes/x86_64-linux/pyrox/programs/ssh/yubikey-back.pub rename to modules/home/programs/ssh/yubikey-back.pub diff --git a/homes/x86_64-linux/pyrox/programs/ssh/yubikey-main.pub b/modules/home/programs/ssh/yubikey-main.pub similarity index 100% rename from homes/x86_64-linux/pyrox/programs/ssh/yubikey-main.pub rename to modules/home/programs/ssh/yubikey-main.pub diff --git a/homes/x86_64-linux/pyrox/programs/ssh/yubikey-new.pub b/modules/home/programs/ssh/yubikey-new.pub similarity index 100% rename from homes/x86_64-linux/pyrox/programs/ssh/yubikey-new.pub rename to modules/home/programs/ssh/yubikey-new.pub diff --git a/modules/home/programs/starship/default.nix b/modules/home/programs/starship/default.nix new file mode 100644 index 00000000..a939943b --- /dev/null +++ b/modules/home/programs/starship/default.nix @@ -0,0 +1,15 @@ +{ lib, config, ... }: +let + cfg = config.py.programs.starship; +in +{ + options.py.programs.starship.enable = lib.mkEnableOption "starship"; + config.programs.starship = lib.mkIf cfg.enable { + enable = true; + catppuccin.enable = true; + enableFishIntegration = true; + enableBashIntegration = true; + enableZshIntegration = true; + settings = import ./settings.nix lib; + }; +} diff --git a/modules/home/programs/starship/settings.nix b/modules/home/programs/starship/settings.nix new file mode 100644 index 00000000..927bcdbf --- /dev/null +++ b/modules/home/programs/starship/settings.nix @@ -0,0 +1,100 @@ +{ lib }: +{ + format = lib.concatStrings [ + "$hostname" + "$directory" + "$rust" + "$python" + "$golang" + "$nodejs" + "$lua" + "$git_branch" + "$git_status" + "$battery" + "$shlvl" + " " + "$character" + ]; + right_format = lib.concatStrings [ "$nix_shell" ]; + + directory = { + read_only = " "; + }; + git_branch = { + symbol = " "; + format = "\\[[$symbol$branch]($style)\\]"; + }; + git_status = { + format = "([\\[$all_status$ahead_behind\\]]($style))"; + }; + golang = { + symbol = " "; + format = "\\[[$symbol($version)]($style)\\]"; + }; + nodejs = { + format = "\\[[$symbol($version)]($style)\\]"; + }; + lua = { + symbol = " "; + format = "\\[[\${symbol}\${version}]($style)\\]"; + }; + package = { + symbol = " "; + format = "\\[[$symbol$version]($style)\\]"; + }; + python = { + symbol = " "; + format = "\\[[\${symbol}\${pyenv_prefix}(\${version})(\\($virtualenv\\))]($style)\\]"; + }; + rust = { + symbol = " "; + format = "\\[[$symbol($version)]($style)\\]"; + }; + shlvl = { + symbol = " "; + }; + nix_shell = { + symbol = " "; + format = "\\[[$symbol($name)]($style)\\]"; + }; + aws.disabled = true; + conda.disabled = true; + crystal.disabled = true; + dart.disabled = true; + deno.disabled = true; + docker_context.disabled = true; + dotnet.disabled = true; + elixir.disabled = true; + elm.disabled = true; + env_var.disabled = true; + erlang.disabled = true; + gcloud.disabled = true; + helm.disabled = true; + hostname.disabled = true; + java.disabled = true; + jobs.disabled = true; + julia.disabled = true; + kotlin.disabled = true; + kubernetes.disabled = true; + memory_usage.disabled = true; + hg_branch.disabled = true; + nim.disabled = true; + ocaml.disabled = true; + openstack.disabled = true; + perl.disabled = true; + php.disabled = true; + purescript.disabled = true; + rlang.disabled = true; + red.disabled = true; + ruby.disabled = true; + scala.disabled = true; + singularity.disabled = true; + swift.disabled = true; + terraform.disabled = true; + time.disabled = true; + username.disabled = true; + vagrant.disabled = true; + vlang.disabled = true; + vcsh.disabled = true; + zig.disabled = true; +} diff --git a/homes/x86_64-linux/pyrox/programs/vscodium.nix b/modules/home/programs/vscodium/default.nix similarity index 87% rename from homes/x86_64-linux/pyrox/programs/vscodium.nix rename to modules/home/programs/vscodium/default.nix index 4b7e7dd6..996672ea 100644 --- a/homes/x86_64-linux/pyrox/programs/vscodium.nix +++ b/modules/home/programs/vscodium/default.nix @@ -1,9 +1,15 @@ { pkgs, lib, + config, ... -}: { - programs.vscode = { +}: +let + cfg = config.py.programs.vscodium; +in +{ + options.py.programs.vscodium.enable = lib.mkEnableOption "VSCodium"; + config.programs.vscode = lib.mkIf cfg.enable { enable = false; package = pkgs.vscodium; userSettings = { -- 2.51.2 From 1dec6f064a311059c11e29509956e8af8c1ba520 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 23:55:36 -0400 Subject: [PATCH 055/105] [systems.zaphod] Remove unused lambda arguments --- systems/x86_64-linux/zaphod/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systems/x86_64-linux/zaphod/default.nix b/systems/x86_64-linux/zaphod/default.nix index f9ba23fe..f339ec34 100644 --- a/systems/x86_64-linux/zaphod/default.nix +++ b/systems/x86_64-linux/zaphod/default.nix @@ -1,4 +1,4 @@ -{ inputs, ... }: { +{ imports = [ # Machine specific configs ./bootloader.nix @@ -44,5 +44,5 @@ device = "/dev/disk/by-uuid/2F06-FA92"; }; }; - swapDevices = [{device = "/dev/disk/by-uuid/5f64b6ad-f471-4c6f-8536-59f581e16827";}]; + swapDevices = [ { device = "/dev/disk/by-uuid/5f64b6ad-f471-4c6f-8536-59f581e16827"; } ]; } -- 2.51.2 From d6b277a8822fcb090a14a9757dcd2191acb4bfeb Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 23:56:39 -0400 Subject: [PATCH 056/105] [chore] Format --- .git-blame-ignore-revs | 1 + modules/home/wayland/sway.nix | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index f60a0eba..1ee056bf 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -1,3 +1,4 @@ +cac271dac3932c8e45c9cf2dfbf0fa5cf6b20cb8 c453a5533bfc010443fd49da0031991fffbf62c2 53feadf2897699a2dc1a05902f60a9965e2ebbd8 bf16926ba528d750002b2456d0b2b49cf5aaeb83 diff --git a/modules/home/wayland/sway.nix b/modules/home/wayland/sway.nix index eff58e0f..d9b73ced 100644 --- a/modules/home/wayland/sway.nix +++ b/modules/home/wayland/sway.nix @@ -1,4 +1,9 @@ -{ pkgs, config, lib, ... }: +{ + pkgs, + config, + lib, + ... +}: let term = config.wayland.windowManager.sway.config.terminal; homeDir = config.home.homeDirectory; -- 2.51.2 From cc1aad3e1534978e63db5665ed82274b3f5de667 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Wed, 5 Jun 2024 23:57:25 -0400 Subject: [PATCH 057/105] [meta] Update git blame ignore --- .git-blame-ignore-revs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 1ee056bf..06e38fb0 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -1,4 +1,4 @@ -cac271dac3932c8e45c9cf2dfbf0fa5cf6b20cb8 +d6b277a8822fcb090a14a9757dcd2191acb4bfeb c453a5533bfc010443fd49da0031991fffbf62c2 53feadf2897699a2dc1a05902f60a9965e2ebbd8 bf16926ba528d750002b2456d0b2b49cf5aaeb83 -- 2.51.2 From 07202b6e11316d1ba48580fddf65f73e38dbb3e1 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 6 Jun 2024 16:30:17 -0400 Subject: [PATCH 058/105] [modules.home] Move a bunch of service modules --- homes/x86_64-linux/pyrox/services/kdeconnect.nix | 6 ------ homes/x86_64-linux/pyrox/services/syncthing.nix | 6 ------ .../home/services/gpg-agent/default.nix | 7 ++++++- modules/home/services/kdeconnect/default.nix | 11 +++++++++++ .../home/services/mako/default.nix | 7 ++++++- .../home/services/swayidle/default.nix | 14 ++++++++++++-- modules/home/services/syncthing/default.nix | 11 +++++++++++ 7 files changed, 46 insertions(+), 16 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/services/kdeconnect.nix delete mode 100644 homes/x86_64-linux/pyrox/services/syncthing.nix rename homes/x86_64-linux/pyrox/services/gpg-agent.nix => modules/home/services/gpg-agent/default.nix (68%) create mode 100644 modules/home/services/kdeconnect/default.nix rename homes/x86_64-linux/pyrox/services/mako.nix => modules/home/services/mako/default.nix (51%) rename homes/x86_64-linux/pyrox/services/swayidle.nix => modules/home/services/swayidle/default.nix (66%) create mode 100644 modules/home/services/syncthing/default.nix diff --git a/homes/x86_64-linux/pyrox/services/kdeconnect.nix b/homes/x86_64-linux/pyrox/services/kdeconnect.nix deleted file mode 100644 index 388d1a50..00000000 --- a/homes/x86_64-linux/pyrox/services/kdeconnect.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.kdeconnect = { - enable = false; - indicator = true; - }; -} diff --git a/homes/x86_64-linux/pyrox/services/syncthing.nix b/homes/x86_64-linux/pyrox/services/syncthing.nix deleted file mode 100644 index bb32d69f..00000000 --- a/homes/x86_64-linux/pyrox/services/syncthing.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.syncthing = { - enable = true; - tray.enable = true; - }; -} diff --git a/homes/x86_64-linux/pyrox/services/gpg-agent.nix b/modules/home/services/gpg-agent/default.nix similarity index 68% rename from homes/x86_64-linux/pyrox/services/gpg-agent.nix rename to modules/home/services/gpg-agent/default.nix index 59cf2bad..a9f81a67 100644 --- a/homes/x86_64-linux/pyrox/services/gpg-agent.nix +++ b/modules/home/services/gpg-agent/default.nix @@ -1,5 +1,10 @@ +{ lib, config, ... }: +let + cfg = config.py.services.gpg-agent; +in { - services.gpg-agent = { + options.py.services.gpg-agent.enable = lib.mkEnableOption "gpg-agent"; + config.services.gpg-agent = lib.mkIf cfg.enable { enable = true; enableExtraSocket = true; enableScDaemon = true; diff --git a/modules/home/services/kdeconnect/default.nix b/modules/home/services/kdeconnect/default.nix new file mode 100644 index 00000000..bf618d9c --- /dev/null +++ b/modules/home/services/kdeconnect/default.nix @@ -0,0 +1,11 @@ +{ lib, config, ... }: +let + cfg = config.py.services.kdeconnect; +in +{ + options.py.services.kdeconnect.enable = lib.mkEnableOption "KDEConnect"; + config.services.kdeconnect = lib.mkIf cfg.enable { + enable = true; + indicator = true; + }; +} diff --git a/homes/x86_64-linux/pyrox/services/mako.nix b/modules/home/services/mako/default.nix similarity index 51% rename from homes/x86_64-linux/pyrox/services/mako.nix rename to modules/home/services/mako/default.nix index 55eb9eaa..6c27ef5d 100644 --- a/homes/x86_64-linux/pyrox/services/mako.nix +++ b/modules/home/services/mako/default.nix @@ -1,5 +1,10 @@ +{ lib, config, ... }: +let + cfg = config.py.services.mako; +in { - services.mako = { + options.py.services.mako.enable = lib.mkEnableOption "mako"; + config.services.mako = lib.mkIf cfg.enable { enable = true; catppuccin.enable = true; actions = true; diff --git a/homes/x86_64-linux/pyrox/services/swayidle.nix b/modules/home/services/swayidle/default.nix similarity index 66% rename from homes/x86_64-linux/pyrox/services/swayidle.nix rename to modules/home/services/swayidle/default.nix index 5818ecfd..6881b9ad 100644 --- a/homes/x86_64-linux/pyrox/services/swayidle.nix +++ b/modules/home/services/swayidle/default.nix @@ -1,5 +1,15 @@ -{pkgs, ...}: { - services.swayidle = { +{ + pkgs, + config, + lib, + ... +}: +let + cfg = config.py.services.swayidle; +in +{ + options.py.services.swayidle.enable = lib.mkEnableOption "swayidle"; + config.services.swayidle = lib.mkIf cfg.enable { enable = true; events = [ { diff --git a/modules/home/services/syncthing/default.nix b/modules/home/services/syncthing/default.nix new file mode 100644 index 00000000..3e6e7b1f --- /dev/null +++ b/modules/home/services/syncthing/default.nix @@ -0,0 +1,11 @@ +{ lib, config, ... }: +let + cfg = config.py.services.syncthing; +in +{ + options.py.services.syncthing.enable = lib.mkEnableOption "Syncthing"; + config.services.syncthing = lib.mkIf cfg.enable { + enable = true; + tray.enable = true; + }; +} -- 2.51.2 From 7fc75302852398d46d5dbd4d4fa1df4276f6cb07 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 6 Jun 2024 16:30:47 -0400 Subject: [PATCH 059/105] [homes.pyrox] Remove unused services --- homes/x86_64-linux/pyrox/services/emacs.nix | 8 -------- homes/x86_64-linux/pyrox/services/mpd.nix | 19 ------------------- .../pyrox/services/pantalaimon.nix | 16 ---------------- 3 files changed, 43 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox/services/emacs.nix delete mode 100644 homes/x86_64-linux/pyrox/services/mpd.nix delete mode 100644 homes/x86_64-linux/pyrox/services/pantalaimon.nix diff --git a/homes/x86_64-linux/pyrox/services/emacs.nix b/homes/x86_64-linux/pyrox/services/emacs.nix deleted file mode 100644 index eeaad5ef..00000000 --- a/homes/x86_64-linux/pyrox/services/emacs.nix +++ /dev/null @@ -1,8 +0,0 @@ -{programs, ...}: { - services.emacs = { - inherit (programs.emacs) package; - enable = true; - # package = programs.emacs.package; - socketActivation.enable = true; - }; -} diff --git a/homes/x86_64-linux/pyrox/services/mpd.nix b/homes/x86_64-linux/pyrox/services/mpd.nix deleted file mode 100644 index 035df28c..00000000 --- a/homes/x86_64-linux/pyrox/services/mpd.nix +++ /dev/null @@ -1,19 +0,0 @@ -{config, ...}: { - services.mpd = { - enable = true; - musicDirectory = "${config.home.homeDirectory}/Music"; - extraConfig = '' - audio_output { - type "fifo" - name "viz" - path "/tmp/mpd.fifo" - format "44100:16:2" - buffer_time "100000" - } - audio_output { - type "pipewire" - name "PipeWire Sound Server" - } - ''; - }; -} diff --git a/homes/x86_64-linux/pyrox/services/pantalaimon.nix b/homes/x86_64-linux/pyrox/services/pantalaimon.nix deleted file mode 100644 index 69554f7b..00000000 --- a/homes/x86_64-linux/pyrox/services/pantalaimon.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - services.pantalaimon = { - enable = true; - settings = { - Default = { - LogLevel = "Debug"; - SSL = true; - }; - thehedgeh0g = { - Homeserver = "https://colony.jupiterbroadcasting.com"; - ListenAddress = "127.0.0.1"; - ListenPort = 8008; - }; - }; - }; -} -- 2.51.2 From c8628eabc33b8dec8c141eccb7f01ba2b3087783 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 6 Jun 2024 16:32:05 -0400 Subject: [PATCH 060/105] [modules.nixos] chromium: Actually have extraOpts file properly moved --- modules/nixos/programs/{ => chromium}/extraOpts.nix | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename modules/nixos/programs/{ => chromium}/extraOpts.nix (100%) diff --git a/modules/nixos/programs/extraOpts.nix b/modules/nixos/programs/chromium/extraOpts.nix similarity index 100% rename from modules/nixos/programs/extraOpts.nix rename to modules/nixos/programs/chromium/extraOpts.nix -- 2.51.2 From b9ba474c15de69aea797e594a2e15711af484f99 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Thu, 6 Jun 2024 16:34:03 -0400 Subject: [PATCH 061/105] [modules.nixos] Move services to services subdir --- modules/nixos/{ => services}/buildbot/default.nix | 0 modules/nixos/{ => services}/dn42-pingfinder/default.nix | 0 modules/nixos/{ => services}/forgejo-runner/default.nix | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename modules/nixos/{ => services}/buildbot/default.nix (100%) rename modules/nixos/{ => services}/dn42-pingfinder/default.nix (100%) rename modules/nixos/{ => services}/forgejo-runner/default.nix (100%) diff --git a/modules/nixos/buildbot/default.nix b/modules/nixos/services/buildbot/default.nix similarity index 100% rename from modules/nixos/buildbot/default.nix rename to modules/nixos/services/buildbot/default.nix diff --git a/modules/nixos/dn42-pingfinder/default.nix b/modules/nixos/services/dn42-pingfinder/default.nix similarity index 100% rename from modules/nixos/dn42-pingfinder/default.nix rename to modules/nixos/services/dn42-pingfinder/default.nix diff --git a/modules/nixos/forgejo-runner/default.nix b/modules/nixos/services/forgejo-runner/default.nix similarity index 100% rename from modules/nixos/forgejo-runner/default.nix rename to modules/nixos/services/forgejo-runner/default.nix -- 2.51.2 From a9d31f2842d7741df9315d42fd69fb21e63773bd Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 22:15:16 -0400 Subject: [PATCH 062/105] [overlays] Remove mesa overlay --- flake.nix | 2 -- overlays/mesa/default.nix | 4 ---- 2 files changed, 6 deletions(-) delete mode 100644 overlays/mesa/default.nix diff --git a/flake.nix b/flake.nix index 3f018be7..ff6cf47f 100644 --- a/flake.nix +++ b/flake.nix @@ -35,7 +35,6 @@ }; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; stable.url = "github:nixos/nixpkgs/nixos-24.05"; - nixpkgs-mesa.url = "github:K900/nixpkgs/mesa-24.1"; nixpkgs-nvim.url = "github:nixos/nixpkgs?rev=d5786c1b5dd2d560724b78f3ce51f1f4ef52d053"; # Overrides flake-compat.url = "github:edolstra/flake-compat"; @@ -222,7 +221,6 @@ overlays = [ self.overlays.pyronet-packages self.overlays.alejandra - self.overlays.mesa self.overlays.nix-index self.overlays.nixos-option inputs.my-pkgs.overlays.cinny diff --git a/overlays/mesa/default.nix b/overlays/mesa/default.nix deleted file mode 100644 index 9d660f42..00000000 --- a/overlays/mesa/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -# deadnix: skip -{ inputs, ... }: -# deadnix: skip -final: prev: { inherit (inputs.nixpkgs-mesa.legacyPackages.${prev.system}) mesa directx-headers; } -- 2.51.2 From 66b16d0775b521a68912cecded06de2bce9cc6c5 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 22:20:31 -0400 Subject: [PATCH 063/105] [modules.nixos] Add misc programs module --- modules/nixos/programs/misc/default.nix | 23 +++++++++++++++++++ .../x86_64-linux/zaphod/programs/dconf.nix | 1 - .../x86_64-linux/zaphod/programs/default.nix | 1 - systems/x86_64-linux/zaphod/programs/less.nix | 1 - systems/x86_64-linux/zaphod/programs/misc.nix | 22 ------------------ .../zaphod/programs/noisetorch.nix | 3 --- .../zaphod/programs/proxychains.nix | 13 ----------- 7 files changed, 23 insertions(+), 41 deletions(-) create mode 100644 modules/nixos/programs/misc/default.nix delete mode 100644 systems/x86_64-linux/zaphod/programs/dconf.nix delete mode 100644 systems/x86_64-linux/zaphod/programs/default.nix delete mode 100644 systems/x86_64-linux/zaphod/programs/less.nix delete mode 100644 systems/x86_64-linux/zaphod/programs/misc.nix delete mode 100644 systems/x86_64-linux/zaphod/programs/noisetorch.nix delete mode 100644 systems/x86_64-linux/zaphod/programs/proxychains.nix diff --git a/modules/nixos/programs/misc/default.nix b/modules/nixos/programs/misc/default.nix new file mode 100644 index 00000000..b872c280 --- /dev/null +++ b/modules/nixos/programs/misc/default.nix @@ -0,0 +1,23 @@ +{ config, lib, ... }: +let + cfg = config.py.programs; + inherit (lib) mkEnableOption mkIf; +in +{ + options.py.programs = { + dconf.enable = mkEnableOption "dconf"; + fish.enable = mkEnableOption "fish shell"; + less.enable = mkEnableOption "less"; + noisetorch.enable = mkEnableOption "NoiseTorch"; + steam.enable = mkEnableOption "Steam"; + wireshark.enable = mkEnableOption "Wireshark"; + }; + config.programs = { + dconf.enable = mkIf cfg.dconf.enable true; + fish.enable = mkIf cfg.fish.enable true; + less.enable = mkIf cfg.less.enable true; + noisetorch.enable = mkIf cfg.noisetorch.enable true; + steam.enable = mkIf cfg.steam.enable true; + wireshark.enable = mkIf cfg.wireshark.enable true; + }; +} diff --git a/systems/x86_64-linux/zaphod/programs/dconf.nix b/systems/x86_64-linux/zaphod/programs/dconf.nix deleted file mode 100644 index f839c8fc..00000000 --- a/systems/x86_64-linux/zaphod/programs/dconf.nix +++ /dev/null @@ -1 +0,0 @@ -{programs.dconf.enable = true;} diff --git a/systems/x86_64-linux/zaphod/programs/default.nix b/systems/x86_64-linux/zaphod/programs/default.nix deleted file mode 100644 index 0967ef42..00000000 --- a/systems/x86_64-linux/zaphod/programs/default.nix +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/systems/x86_64-linux/zaphod/programs/less.nix b/systems/x86_64-linux/zaphod/programs/less.nix deleted file mode 100644 index da6918ab..00000000 --- a/systems/x86_64-linux/zaphod/programs/less.nix +++ /dev/null @@ -1 +0,0 @@ -{programs.less = {enable = true;};} diff --git a/systems/x86_64-linux/zaphod/programs/misc.nix b/systems/x86_64-linux/zaphod/programs/misc.nix deleted file mode 100644 index f5e70ce6..00000000 --- a/systems/x86_64-linux/zaphod/programs/misc.nix +++ /dev/null @@ -1,22 +0,0 @@ -{pkgs, ...}: {programs = { - # Bandwhich - Bandwidth monitor TUI - bandwhich.enable = true; - # Fish shell - fish.enable = true; - # Git - git = { - enable = true; - package = pkgs.py.customGit; - lfs.enable = true; - }; - # KDEConnect - kdeconnect.enable = true; - kdeconnect.package = pkgs.kdePackages.kdeconnect-kde; - # Steam - steam.enable = true; - # Java - adb.enable = true; - java.enable = false; - # Wireshark - wireshark.enable = true; -};} diff --git a/systems/x86_64-linux/zaphod/programs/noisetorch.nix b/systems/x86_64-linux/zaphod/programs/noisetorch.nix deleted file mode 100644 index 19d8d248..00000000 --- a/systems/x86_64-linux/zaphod/programs/noisetorch.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - programs.noisetorch.enable = true; -} diff --git a/systems/x86_64-linux/zaphod/programs/proxychains.nix b/systems/x86_64-linux/zaphod/programs/proxychains.nix deleted file mode 100644 index 623f7dcf..00000000 --- a/systems/x86_64-linux/zaphod/programs/proxychains.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - programs.proxychains = { - enable = true; - proxies = { - ssh = { - enable = true; - type = "socks5"; - host = "127.0.0.1"; - port = 9999; - }; - }; - }; -} -- 2.51.2 From 1b572e70e7212e3e690af6fd5497155a42fd403a Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 22:20:40 -0400 Subject: [PATCH 064/105] [meta] Update flake lock --- flake.lock | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/flake.lock b/flake.lock index fbe59b95..e8c94ee0 100644 --- a/flake.lock +++ b/flake.lock @@ -865,11 +865,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1715804156, - "narHash": "sha256-GtIHP86Cz1kD9xZO/cKbNQACHKdoT9WFbLJAq6W2EDY=", + "lastModified": 1717698186, + "narHash": "sha256-e3/cvm7bAn0RsTBcPfHwuYOi2lwoO4jpTn4nmMSvHfU=", "owner": "nix-community", "repo": "nix-eval-jobs", - "rev": "bb95091f6c6f38f6cfc215a1797a2dd466312c8b", + "rev": "b6169e08e76e10b673d1b54f944cddb1e7cbea97", "type": "github" }, "original": { @@ -1036,22 +1036,6 @@ "type": "github" } }, - "nixpkgs-mesa": { - "locked": { - "lastModified": 1716453601, - "narHash": "sha256-4hY5oXwp2rBUNI09Jgph4UjmQuifLyZrYquz8FSEJNU=", - "owner": "K900", - "repo": "nixpkgs", - "rev": "12d474c0f0db6aba9d3763ba0b7c7368766eb0ac", - "type": "github" - }, - "original": { - "owner": "K900", - "ref": "mesa-24.1", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-nvim": { "locked": { "lastModified": 1716426505, @@ -1126,11 +1110,11 @@ ] }, "locked": { - "lastModified": 1716213921, - "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", "type": "github" }, "original": { @@ -1195,7 +1179,6 @@ "nixos-generators": "nixos-generators", "nixpkgs": "nixpkgs", "nixpkgs-lib": "nixpkgs-lib", - "nixpkgs-mesa": "nixpkgs-mesa", "nixpkgs-nvim": "nixpkgs-nvim", "nur": "nur", "nvim": "nvim", -- 2.51.2 From fbe796fe068389f6a4eb9024025af27a17a5e316 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 22:23:19 -0400 Subject: [PATCH 065/105] [systems.zaphod] Move to my custom options --- systems/x86_64-linux/zaphod/default.nix | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/systems/x86_64-linux/zaphod/default.nix b/systems/x86_64-linux/zaphod/default.nix index f339ec34..b4c6cd07 100644 --- a/systems/x86_64-linux/zaphod/default.nix +++ b/systems/x86_64-linux/zaphod/default.nix @@ -18,14 +18,6 @@ ./services/modules.nix # Machine-specific programs. - ./programs/chromium.nix - ./programs/default.nix - ./programs/dconf.nix - ./programs/gnupg.nix - ./programs/less.nix - ./programs/misc.nix - ./programs/noisetorch.nix - # ./programs/proxychains.nix ./programs/ssh.nix ./programs/sway.nix ./programs/zsh.nix @@ -33,7 +25,21 @@ # Agenix secrets # ./secret-files.nix ]; - py.users.default.enable = true; + py = { + users.default.enable = true; + programs = { + chromium.enable = true; + firefox.enable = true; + neovim.enable = true; + dconf.enable = true; + fish.enable = true; + less.enable = true; + noisetorch.enable = true; + steam.enable = true; + wireshark.enable = true; + }; + }; + fileSystems = { "/" = { fsType = "btrfs"; -- 2.51.2 From 6d7039a6b0b8491043170b92aed163cd9018005c Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 22:35:30 -0400 Subject: [PATCH 066/105] [meta] Remove oldconfig --- oldconfig/beets/config.yaml | 40 ---------- oldconfig/beets/library.db | Bin 45056 -> 0 bytes oldconfig/beets/spotify_token.json | 1 - oldconfig/beets/state.pickle | Bin 8938 -> 0 bytes oldconfig/rbw/config.json | 1 - oldconfig/sway/apps | 14 ---- oldconfig/sway/colors | 5 -- oldconfig/waybar/config | 96 ----------------------- oldconfig/waybar/mocha.css | 37 --------- oldconfig/waybar/style.css | 117 ----------------------------- 10 files changed, 311 deletions(-) delete mode 100755 oldconfig/beets/config.yaml delete mode 100644 oldconfig/beets/library.db delete mode 100644 oldconfig/beets/spotify_token.json delete mode 100644 oldconfig/beets/state.pickle delete mode 100644 oldconfig/rbw/config.json delete mode 100644 oldconfig/sway/apps delete mode 100644 oldconfig/sway/colors delete mode 100644 oldconfig/waybar/config delete mode 100644 oldconfig/waybar/mocha.css delete mode 100644 oldconfig/waybar/style.css diff --git a/oldconfig/beets/config.yaml b/oldconfig/beets/config.yaml deleted file mode 100755 index 9291544c..00000000 --- a/oldconfig/beets/config.yaml +++ /dev/null @@ -1,40 +0,0 @@ -directory: ~/Music/ -library: ~/Music/library.db - -threaded: yes -sort_case_insensitive: yes - -ui: - color: yes - -import: - write: yes - move: yes - resume: yes - from_scratch: yes - default_action: apply - language: en - group_albums: yes - autotag: yes - duplicate_action: keep - bell: no - incremental: yes - - -match: - strong_rec_thresh: 0.04 - medium_rec_thresh: 0.10 - -paths: - default: $artist/$album/$disc-$track $title - -plugins: chroma lyrics mbsync fetchart lastgenre deezer spotify - -lyrics: - sources: genius - -chroma: - auto: yes - -acoustid: - apikey: 6KzkSx8Lcp diff --git a/oldconfig/beets/library.db b/oldconfig/beets/library.db deleted file mode 100644 index c9d6283a701946d6924d844507a5f04c89d498eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45056 zcmWFz^vNtqRY=P(%1ta$FlG>7U}R))P*7lCVBlh4VBm(*j0_A6YzzzxEDQ($5<~E? zv$z=a!aaDoIv6;Z&oFRJ;MC#rRTMYH@s0WqfL0NoGkUx(ugtkgH>etAeMWi)(}ex-3E; zmjV{x?}wp7K?7n>d}fMflPnv%xUMc^b8bmuQcfzm;plvJs8d25oqSxe7>v~knJEgM zej%>zu0aX`L7u*jL6HjHu8}%e)xuo{(}G=Dc50gb~biH5|YlFZ@~h^LW7;*0Z(un8v@rKV(}NI>xLV^T7U6LXU?)1l@eI{;lO9pdNs^u)|OXd)~a~hgTG%hpL8IXbuO;SMvYuSWI!9%Ycvt?!z57fq0j-mNK-VjXy z)UM{pmI(^&f}+ekSakrG!r}@@bik`AL=BT!T$Bur zWvW&-xv43ciBN;VIRwqq(9i+93rz|fp-A~NH7_|o1)i{q(jk$ARxN=8HXgZJf>l+- zR9_I?V3qLdtB8j6nvOzdUS>&VVop4~jj526nwMUZ0j*S%GE0gQOHvVO6WTe4v_6Ux za|?1(Q57U*mZYQ>AUAQ6GZORiQgezChUAuH=B7ezK(y^Nc^McO82JPk_yj8Tq-X`ng3JsVV8H8Tsk@zNN*P$@0 zfWt9nmgc6WiAjdKCI*(Ny2gnq=DL;!Mrpdni5A9|1|~-4mX^uv$3^6rm@LwaP0S6G zOm)pu%@TD@EK(A6EzA-vb(0N~4a^e_(oD<~Q_Uw_4Rs9@lZ|vuj4hIMlafu0b(1WNK=b>c_+sL}#K8Za z|I$cFo@4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=Cp&tU$Osou?%E~E; zC5iFH`K3k4so?Pzr=rBnyefW1Rt8Rae#n}K#GDdS&?0{({)Y_w5BWb0eZPe85 znv@yU7#P^KwY5XRhZukkFW?LfRW=k304MPrkErq8|xZdrkU%Sm>Z<(TACRr>YAFF8dxTqnwS}zn}g1)gr1iG zK2*_K0ZGI)%+b_1DcR68)lxUjFx5cU*x1xeH_61vK-VnM($c~*(LB}M%+TD@!qmjf z$S1KRFEuaS&xidusQ=F}diLM&&I+Tx8x4Wc5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C z(GVE%AplzcKidBv@yTE`07gS#Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E1Vc?gX5 z|A%=5k9u!31V%$(Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!nMnhmU1V%$( zGz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONV8nz#s-cNxN=k~U0WrrAn3-D|7+9E@>KYgt zo9h}ISQ_glrJ1DYrY4&h8KfE{8X1`zAstMB^{4{JKu4Dn*TP`$(ClEZDDUiYk94=F z0>4~SmjVM*_Y7y>sE{BRV}o2>Keq}GgGyZ!N6X5HNPjb@ken(vUn4gU69YqkuOK5! zU)O*li&W!$7u`e)T}SgUpZK60<19}n16}`&jO0}3WXlR&XV)B4r<71n-DHoV$_#Tu z=OPQ!fUKZAN7uA6R}X(@-9nRmgVF%g;*yH|bj!-%^!P&8Al<}B)BIHDiinI1GsAMr ztc-#%U-R;c(&)_T%VbBdXRiufzubVrj64I6q)O-bqAYheKl7j{i{Ok@ zgCMuc4Cj!Pyetz>|M(y$bHjAYD$mk_eD5?@|8S2ii=cw^s8rW9r)={Or(8FWEF*&u zuTld~FEf8*gYc}ph|Eflj0iWAa@|x{uVf=jPxrJ)UtJGZ;|$MG-{6#B7e`}PL!+Py z6YuZ>17H6rV~@ZzgAgwt&(MH?va)hlf43?>7u`Y+-Q*y%ysV%U%M1@gkNk>=(4z9H zs`OOz^z-> zznqMSl(2G()bt_`m-y0rOV`lE#7zHui{R99KV7%nY@f=4=eVuKwUFm*T9gdkl<7k&)^h~EKA)0=M=M4&#H27 zm(U>73TL0tfcOfxGF`W_{0PHH!=h{x1IwU*z{C)fsyydBr`%wpgm#S2gO5?)hpkRxn^bkW&W24GI-I9uu z$V``ti~zHI-L#5|@XVq}6QfY4B#{2>$~0fUkd&&-AWz>4j|kuFun4zY_xRil0}~5R z(>&jtDpTLo5RXvfijZP=gQ%~;=uS^mk3|? zBm?(M|A_3O3XA0M5WkR8|ID0%N|WSNuZ$emaAView5%K#i^TlENYkkDK+~%D)ckS_%Xrt|EGNTM=TM8(ER+0{BImG(63<}WAVXhQ zmn4fcw+P>04`<7?KrfSGmw2NrBNKn03SYOJApeTeTo0ezbT1440ACZ`^x%}7jJ!}c z-+1$ka7!oeOwWq!obuwTihR@DU?=00-24=ephS!0FjFTtgUnF(R5PFSe6QS01E0{; zGMAJT3lA6HvJ`hC-=x5bjI{WSDkInI;t0nwi~RJA0*}BPuP|@V(s-w+!i)%K3zM?U zfE>pngVN;mq>At?BNON3)cmNDka7bzbGPC=FJsTllyt-Fr~psPpwN)K3J>?HP!rvd zATOf~3zHCwQkR0%u>2I)3bW+Y0E_%o^K!GuTvNxwU=IsR6O;1nsyz3sWD^tfa+7l1 z!VKTk0GCAfNFNXP^vd!KW2f-M(EM^;m!L{-kIKBf3^U#IC{q_hg9zV3*DRArU8iK@ zDCb0XBOi~<@Nx@X=TL*->@tIN6W7wHtQ=1xPhF!d{|YA`GZR;@Fqh=y;;1yIjCh}% za__v13~z%h6HixN*I`M`l1P)nVBe&S%6QkrQeFRy_{4z3 zAXB3ZBa_MiqkQL}f;8V0mx4^+!ZH^(vj`{8(hOgVfVAXFzX*S?j6@5M0{1H2(nL?! ztfbJifB>HiBTM&8e>0ELbhF~{tbowW5a%jCLrd4BDvzq1ssOJ-H#bZ33QtQjm*A?h zLX(p404Lq3LX#kmO4n@NbZ5&j6R&`>43nz#kUXa_U6?d! zDl^yMNN-m&ZwnLelw#lXfFR@CT;~Y4O4qWqiVT-1e^&$ZToaeV)PR%>m(a9~azF3T z{0c_{7r$hqp!|5ZpiJ|;axof^mwz(FlX2B$Phy(lMKfa(_E(%Z=+DJ zD)XQ`vnc0`470>s@64(yXAfQ1cz23fD+u7ZU^1ya3@`&;a)=BNL0!3lDG8$_SsL^i)SrM@OeHSLevoMX$8=A}@(?HY5^pDWN7qniufWW}s6gk8^k7GKw@f#8XJ1d} zKm#{VuL{RN$B^_4S0@*Df6q`~$KXI$&!E6^*I-w7M`vdrCr5WbPuFtCK$ncboJ>bI zmkbXVXGdq(Kra)|^gvHXrx2&~OlLP&$JF4&;Ny1F`=I8|f^Wu$vJrF(n3yBj&WB|DZo zW<~~ul{@BpxVSnwy1KfiyM}stfuq66$-~(t*w@)JJlQoc!!t6!JS#mT%hlP@+0oN8 zG1)cQF(}{DDc#jE!_CXZ)!jL;*wHuL#L3Y&Bqzu@%hA=@%iY~K)G^d6$kVaH$=T64 zBR$>K+cDJLBtOvA(bF+8-6$wC-7(WW)ZNwJ)796}Brq^CIIujc*wHC0z|}R--xZ|H zF)}+S-O<&}Dbw9O(B0d~F*`rq+&kUTF+JO<(9u8G(c95AEXXl3*b$TrvYav<9UWbL zJwqei0=+U!(p`enGaX%>TphgwT>~AM-CS}#90NTAvmG6M z^PL<$oyuJ@y<8jv{T&@01B(sP(=$AS(yP)PGc(*=J$;>>6CE8xJweLK9UYyVv%MUh zT|+$sBMl;*TnZc=L!DiHT^yamodcZ%9RnS`oSY3pf?XYRb6mol-9eG*=;-8C;OOM& z=;7$*=;i3>>zeH9>*y2}7#bMjl#!n0>g?|u8tCTe=;&$c8RU}g>geR=?BwVe?pf?v z>=;=d7#tGf;+&r0<);^=78g&cozlZql9-;6SzMA|R5_)8iiWe1enx(7 zs(x-!MrulWYDRv#zHe!9X0m=@X>O^0K#+fkzrKN?u7RNfn5~zVlbAfEb&7KchBlY{ z^1Ph<#FSzr1LAe#of7l1@^!rvtMcm)dQ-CBP1^?v4qRhNRkVr^oF2XtFYKJ>67rWy;^YlY9QWb(rN()l+ zQZh?(!Cbe@yi^5HIxbNF$@-U;q!uZJ=NILq6e|Sh=cOy?D!618XDb-$8yG6+g4H0j z=;am|gUU7^3>$IePRG2=+{B!C=c4@LVo2U}&yV-k^VW+G%1lWuf_q^ChJi@Q-l-In zj1r4e6(FS;ER>NW86p#}si5JUUzS<~D}Kn)3U`zPhNE!!(z&!CBQ-GvRPtn|#(U(K z7N^1uvB59|>@&|iNc{n>L_h>6+=DX}f-~|9K!Ki{s#l&^1`6vb*bRVa56MqVQ7=|- zOH2k;SFnJAq75XzUUXE)L>#p|n$ec`;H}-GMJ4L-SHni_(koOY>4-{sWs0EsDVgD;UKqMCKP~ zWU3b{coyd*=B40Fq0}-C9wK;aE4Q5dqQo2px6&ebI)LSDSeC)31a3(mz7TTD%t=)U zPR&V8F2NQ;pb8sWhM{LyGIYY7RE5t;jwKm6sU?}oka7o`tHALFPm@Hehg)xfVLgtL z)HgFT-Z>*NFE16*B=RCwvsYqORlHYXa&}Q-Qc`9~yl#9*W=T$Jd`L!WE}}s8CDu5f z(#-VC;&|W0JW!z-ZxpW^?~|ESlvq?5ACQ@tmk;+{B(Wxf%jI}bxf~B}|G5<<78In$ z2j}INgR?UhHFJhYF8+rZToq_%O@Q*cjA0aZ9YiAm7b9Eun$?SO+$y;uPjc8E48WPwwW>gEtYAGpXP=xoaFuaE&Av#y)m1JZl#s{V5W>&yMCk#V7*j8+nIeL#sL018(FBA{& zLBXndYYd|iE`zoYAV%sc_$C%-r=}>lq^6{%z?%ud82Z6ZgG5|NQDSDELQrXO1~k?X z0rL2^L^%muYH zb%BY3Z+>ZB2`IN|_+{p0B`UZlW~QX(DHy@*$Lz{dGx$vv{8IBlc{n|_2-)|>FzacX z@XQn(D-+d=VGW6p{L+m4Qkd1W^|`r%XI@EBKBzJP4NGAry;7P+yoEwYVs@%Rex8DF zs)B~2u16xw+n9rD)QoUTh2WB+)YOt*|~WNLBXythcwVK85$ZZxECdsfjY8Isi`G7sYp=~0WSlpY3c+MaKPs( z_?M%Uzb3E%plLB+XbQF6H8CC4_fYFgrZ^X2cps@nu%Heaw53Co zT3DU$OmtHR+{`PEcPUCu%msG~bmQHNQbD8jAQCZ{P5eASeqLsBykkmPYFGHL zwBg+|K*P-7!9`fx6FFU?cF~Db4EIY0rp2ixi8Nvupv%1PA(4?sH`lV|`$mkWuyic%95ObszCwP5LF~DR>rT7H24AWu{{| zjl@WCA}d6kDYe#_ENfjTwbq3!Yh5X|)|D)4-6*xzjVx>3DYe!eY;DODXX0x{q#1Jm zl*;1bRL~T;S7~lRd}u*DxOfFk(jw-mdN49SQVAVWl$uyvT9m2~Qj}kossNgZf|b;0 z;~&rwUf8HI=^EiBH)gK}>>zAaHDnwgG+P83;MP?LPEO1%NG$?QITfWAE9fc&=VTTH zXD61VDg@``7o>tp{LJF)N`>%@%;N0SBIsZ}te(eTS>=}&<))S>1SKZJr+~oqAap{}" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } - }, - "tray": { - "spacing": 10 - }, - "clock": { - "timezone": "US/Eastern", - "interval": 1, - "format": "{:%R:%S}", - "tooltip-format": "{:%R : %S}\n{calendar}", - "format-alt": "{:%d %b %Y}" - }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "temperature": { - "critical-threshold": 80, - "format": "{temperatureC}°C {icon}", - "format-icons": ["", "", ""] - }, - "backlight": { - "format": "{percent}% {icon}", - "format-icons": ["", ""] - }, - "battery": { - "states": { - "good": 80, - "warning": 30, - "critical": 15 - }, - "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ", - "format-plugged": "{capacity}% ", - "format-alt": "{time} {icon}", - "format-icons": ["", "", "", "", ""] - }, - "battery#bat2": { - "bat": "BAT2" - }, - "network": { - "format-wifi": "{essid}", - "format-ethernet": "{ifname}: {ipaddr}/{cidr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected! ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - - "pulseaudio": { - "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", - "format-source": "{volume}% ", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol" - }, - "custom/media": { - "format": "{icon}{}", - "return-type": "json", - "format-icons": { - "Playing": " ", - "Paused": " ", - }, - "max-length":70, - "exec": "playerctl -a metadata --format '{\"text\": \"{{playerName}}: {{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F", - "on-click": "playerctl play-pause", - }, -} diff --git a/oldconfig/waybar/mocha.css b/oldconfig/waybar/mocha.css deleted file mode 100644 index 98e218a1..00000000 --- a/oldconfig/waybar/mocha.css +++ /dev/null @@ -1,37 +0,0 @@ -/* -* -* Catppuccin Mocha palette -* Maintainer: rubyowo -* -*/ - -@define-color base #1e1e2e; -@define-color mantle #181825; -@define-color crust #11111b; - -@define-color text #cdd6f4; -@define-color subtext0 #a6adc8; -@define-color subtext1 #bac2de; - -@define-color surface0 #313244; -@define-color surface1 #45475a; -@define-color surface2 #585b70; - -@define-color overlay0 #6c7086; -@define-color overlay1 #7f849c; -@define-color overlay2 #9399b2; - -@define-color blue #89b4fa; -@define-color lavender #b4befe; -@define-color sapphire #74c7ec; -@define-color sky #89dceb; -@define-color teal #94e2d5; -@define-color green #a6e3a1; -@define-color yellow #f9e2af; -@define-color peach #fab387; -@define-color maroon #eba0ac; -@define-color red #f38ba8; -@define-color mauve #cba6f7; -@define-color pink #f5c2e7; -@define-color flamingo #f2cdcd; -@define-color rosewater #f5e0dc; diff --git a/oldconfig/waybar/style.css b/oldconfig/waybar/style.css deleted file mode 100644 index 8c19a2c2..00000000 --- a/oldconfig/waybar/style.css +++ /dev/null @@ -1,117 +0,0 @@ -@import "mocha.css"; -#waybar { - font-family: BlexMono Nerd Font, sans-serif; - font-size: 16px; -} - -#window { - padding: 0 10px; -} - -window#waybar { - border: none; - border-radius: 0; - box-shadow: none; - text-shadow: none; - transition-duration: 0s; - color: @text; - background: @base; -} - -#workspaces { - margin: 0 5px; -} - -#workspaces button { - padding: 0 8px; - color: @text; - border: 2px solid @subtext0; - border-radius: 10px; - min-width: 25px; - margin-right: 8px; -} - -#workspaces button.visible { - color: @subtext0; -} - -#workspaces button.focused { - border: 3px solid @mauve; -} - -#workspaces button.urgent { - background-color: @red; -} - -#workspaces button:hover { - box-shadow: inherit; - border-color: @blue; - color: @blue; -} - -/* Repeat style here to ensure properties are overwritten as there's no !important and button:hover above resets the colour */ - -#workspaces button.focused { - color: @subtext0; -} -#workspaces button.focused:hover { - color: @text; -} - -#tray, -#mode, -#battery, -#temperature, -#cpu, -#memory, -#network, -#pulseaudio, -#clock, -#idle_inhibitor, -#sway-language, -#backlight { - padding: 2px 8px; - margin: 2px 5px; - color: @text; -} - -#tray:hover, -#mode:hover, -#battery:hover, -#temperature:hover, -#cpu:hover, -#memory:hover, -#network:hover, -#pulseaudio:hover, -#clock:hover, -#idle_inhibitor:hover, -#sway-language:hover, -#backlight:hover { - padding: 2px 8px; - margin: 2px 5px; - color: @base; - background-color: @subtext1; -} - -#clock { - font-weight: bold; -} - -#battery.warning { - color: @yellow; -} - -#battery.critical { - color: @red; -} - -#battery.charging { - color: @green; -} - -@keyframes blink { - to { - background-color: #ffffff; - color: black; - } -} -- 2.51.2 From c86c56fca0ac91a63b77af978d59444551639db0 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 22:55:35 -0400 Subject: [PATCH 067/105] [modules.home] Actually make profiles options --- modules/home/profiles/base/default.nix | 37 +++--- modules/home/profiles/cli/default.nix | 93 +++++++-------- modules/home/profiles/cli/rbw-config.json | 1 + modules/home/profiles/desktop/default.nix | 65 ++++++----- modules/home/profiles/development/default.nix | 31 +++-- modules/home/profiles/gui/default.nix | 108 +++++++++--------- modules/home/profiles/server/default.nix | 16 ++- 7 files changed, 180 insertions(+), 171 deletions(-) create mode 100644 modules/home/profiles/cli/rbw-config.json diff --git a/modules/home/profiles/base/default.nix b/modules/home/profiles/base/default.nix index da96786d..a0f864c8 100644 --- a/modules/home/profiles/base/default.nix +++ b/modules/home/profiles/base/default.nix @@ -1,18 +1,25 @@ -{ ... }: { - imports = [ - ../programs/gpg.nix - ../xdg.nix - ]; - programs.home-manager.enable = true; - home.stateVersion = "24.05"; - home.language = { - base = "en_US.utf8"; - }; - manual = { - manpages.enable = false; - html.enable = false; - json.enable = false; + config, + lib, + osConfig, + ... +}: +let + cfg = config.py.profiles.base; +in +{ + options.py.profiles.base.enable = lib.mkEnableOption "Base Home Profile"; + config = lib.mkIf cfg.enable { + programs.home-manager.enable = true; + home.stateVersion = osConfig.system.stateVersion; + home.language = { + base = "en_US.utf8"; + }; + manual = { + manpages.enable = false; + html.enable = false; + json.enable = false; + }; + programs.man.enable = false; }; - programs.man.enable = false; } diff --git a/modules/home/profiles/cli/default.nix b/modules/home/profiles/cli/default.nix index 688f4200..f68f42f2 100644 --- a/modules/home/profiles/cli/default.nix +++ b/modules/home/profiles/cli/default.nix @@ -1,55 +1,48 @@ -{ pkgs, ... }: { - imports = [ - ../programs/bat.nix - ../programs/direnv.nix - ../programs/fish.nix - ../programs/fzf.nix - ../programs/helix.nix - ../programs/neovim.nix - ../programs/nix-index.nix - ../programs/nushell - ../programs/pandoc.nix - ../programs/ssh - ../programs/starship.nix - ../programs/zoxide.nix - ../programs/zsh.nix - - ../files/distrobox-config.nix - ]; - py.programs = { - git.enable = true; - gh.enable = true; - lazygit.enable = true; - }; - programs = { - eza = { - enable = true; - icons = true; - git = true; - enableBashIntegration = false; - enableIonIntegration = false; + pkgs, + lib, + config, + ... +}: +let + cfg = config.py.profiles.cli; +in +{ + options.py.profiles.cli.enable = lib.mkEnableOption "CLI Profile"; + config = lib.mkIf cfg.enable { + py.programs = { + git.enable = true; + gh.enable = true; + lazygit.enable = true; }; - btop = { - enable = true; - catppuccin.enable = true; + programs = { + eza = { + enable = true; + icons = true; + git = true; + enableBashIntegration = false; + enableIonIntegration = false; + }; + btop = { + enable = true; + catppuccin.enable = true; + }; + glamour.catppuccin.enable = true; }; - glamour.catppuccin.enable = true; - }; - xdg.configFile = { - "rbw".source = ../../oldconfig/rbw; - "rbw".recursive = true; + xdg.configFile = { + "rbw/config.json".source = ./rbw-config.json; + }; + home.packages = with pkgs; [ + btrfs-progs + fd + fzf + glow + gnupg + pinentry + rbw + rsync + xdg-utils + yt-dlp + ]; }; - home.packages = with pkgs; [ - btrfs-progs - fd - fzf - glow - gnupg - pinentry - rbw - rsync - xdg-utils - yt-dlp - ]; } diff --git a/modules/home/profiles/cli/rbw-config.json b/modules/home/profiles/cli/rbw-config.json new file mode 100644 index 00000000..13817d89 --- /dev/null +++ b/modules/home/profiles/cli/rbw-config.json @@ -0,0 +1 @@ +{"email":"pyrox@pyrox.dev","base_url":"https://bw.pyrox.dev","identity_url":null,"lock_timeout":3600,"pinentry":"pinentry"} diff --git a/modules/home/profiles/desktop/default.nix b/modules/home/profiles/desktop/default.nix index bdc29740..65c91136 100644 --- a/modules/home/profiles/desktop/default.nix +++ b/modules/home/profiles/desktop/default.nix @@ -1,37 +1,36 @@ -{ pkgs, ... }: { - imports = [ - ./base.nix - ./cli.nix - ./gui.nix - ./development.nix - # ../email.nix - # ../programs/email.nix - ]; - programs.mpv.enable = true; - home.packages = with pkgs; [ - appimage-run - brightnessctl - ciscoPacketTracer8 - dex - keepassxc - (mumble.override { pipewireSupport = true; }) - playerctl - pulseaudio-ctl - thunderbird - wlogout - wl-clipboard - zotero - ]; - xdg.configFile = { - "waybar/style.css" = { - source = ../../oldconfig/waybar/style.css; - recursive = false; - }; - "waybar/mocha.css" = { - source = ../../oldconfig/waybar/mocha.css; - recursive = false; + pkgs, + config, + lib, + ... +}: +let + cfg = config.py.profiles.desktop; + inherit (lib) mkIf mkDefault mkEnableOption; +in +{ + options.py.profiles.desktop.enable = mkEnableOption "Desktop Config"; + config = mkIf cfg.enable { + py.profiles = { + base.enable = mkDefault true; + gui.enable = mkDefault true; + development.enable = mkDefault true; }; + programs.mpv.enable = mkDefault true; + home.packages = with pkgs; [ + appimage-run + brightnessctl + ciscoPacketTracer8 + dex + keepassxc + (mumble.override { pipewireSupport = true; }) + playerctl + pulseaudio-ctl + thunderbird + wlogout + wl-clipboard + zotero + ]; + services.easyeffects.enable = mkDefault true; }; - services.easyeffects.enable = true; } diff --git a/modules/home/profiles/development/default.nix b/modules/home/profiles/development/default.nix index 1c39e99d..6965463a 100644 --- a/modules/home/profiles/development/default.nix +++ b/modules/home/profiles/development/default.nix @@ -1,16 +1,25 @@ -{ pkgs, ... }: +{ + pkgs, + lib, + config, + ... +}: let customPython = pkgs.python312.withPackages (ps: [ ps.pip ]); + cfg = config.py.profiles.dev; in { - home.packages = with pkgs; [ - alejandra - any-nix-shell - cargo - colmena - customPython - editorconfig-core-c - nil - nixd - ]; + options.py.profiles.development.enable = lib.mkEnableOption "Development Profile"; + config.home.packages = + with pkgs; + lib.mkIf cfg.enable [ + alejandra + any-nix-shell + cargo + colmena + customPython + editorconfig-core-c + nil + nixd + ]; } diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix index b439c8b1..36fb65bf 100644 --- a/modules/home/profiles/gui/default.nix +++ b/modules/home/profiles/gui/default.nix @@ -1,65 +1,59 @@ { pkgs, - # games ? true, - # social ? true, + lib, + config, ... }: +let + cfg = config.py.profiles.gui; + inherit (lib) mkEnableOption mkIf mkDefault; +in { - imports = [ - ../wayland/sway.nix - - ../programs/kitty.nix - ../programs/obs.nix - ../programs/vscodium.nix - ../programs/wlogout - - ../services/gpg-agent.nix - ../services/kanshi.nix - ../services/mako.nix - ../services/mpd.nix - ../services/syncthing.nix - - ../theming.nix - - ../files/ssh-auth-signers.nix - ../files/rbw-gc.nix - ../files/pamKeys.nix - ]; - home.sessionVariables = { - XDG_CURRENT_DESKTOP = "sway"; - }; - py.programs = { - firefox = { - enable = true; - prefs.enable = true; - policies.enable = true; + options.py.profiles.gui.enable = mkEnableOption "GUI Profile"; + config = mkIf cfg.enable { + home.sessionVariables = { + XDG_CURRENT_DESKTOP = "sway"; + }; + py = { + gui.enable = true; + programs = { + chromium.enable = mkDefault true; + firefox = { + enable = mkDefault true; + prefs.enable = mkDefault true; + policies.enable = mkDefault true; + }; + kitty.enable = mkDefault true; + obs.enable = mkDefault true; + vscodium.enable = mkDefault true; + wlogout.enable = mkDefault true; + }; + services = { + gpg-agent.enable = mkDefault true; + mako.enable = mkDefault true; + syncthing.enable = mkDefault true; + }; }; - chromium.enable = true; + home.packages = with pkgs; [ + jetbrains-toolbox + libappindicator + libappindicator-gtk3 + pavucontrol + grim + slurp + satty + sway-launcher-desktop + ueberzug + lutris + py.olympus + py.git-credential-rbw + prismlauncher + protontricks + proton-caller + gajim + tauon + (vesktop.override { withSystemVencord = false; }) + krita + ]; }; - home.packages = with pkgs; [ - jetbrains-toolbox - libappindicator - libappindicator-gtk3 - pavucontrol - grim - slurp - satty - sway-launcher-desktop - ueberzug - vscode - # ] ++ lib.optionals games [ - # factorio-experimental - lutris - # py.olympus - prismlauncher - protontricks - proton-caller - # ] ++ lib.optionals social [ - gajim - tauon - (vesktop.override { withSystemVencord = false; }) - # pidginWithPlugins - # ] ++ lib.optionals drawing [ - krita - ]; } diff --git a/modules/home/profiles/server/default.nix b/modules/home/profiles/server/default.nix index ada53487..8848258c 100644 --- a/modules/home/profiles/server/default.nix +++ b/modules/home/profiles/server/default.nix @@ -1,7 +1,13 @@ -{ ... }: +{ lib, config, ... }: +let + cfg = config.py.profiles.server; +in { - imports = [ - ./base.nix - ./cli.nix - ]; + options.py.profiles.server.enable = lib.mkEnableOption "Server Profile"; + config = lib.mkIf cfg.enable { + py.profiles = { + base.enable = lib.mkDefault true; + cli.enable = lib.mkDefault true; + }; + }; } -- 2.51.2 From b2cbefdcd02338dd8a8509cda064ac4182123298 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 22:55:56 -0400 Subject: [PATCH 068/105] [modules.home] Update theming, wayland, and xdg modules --- modules/home/theming/default.nix | 5 +- modules/home/wayland/keybindings.nix | 3 +- modules/home/wayland/sway.nix | 2 +- modules/home/wayland/swaylock.nix | 8 +- modules/home/wayland/waybar-mocha.css | 37 ++++ modules/home/wayland/waybar-style.css | 119 +++++++++++ modules/home/wayland/waybar.nix | 274 ++++++++++++++------------ modules/home/xdg/default.nix | 9 +- 8 files changed, 315 insertions(+), 142 deletions(-) create mode 100644 modules/home/wayland/waybar-mocha.css create mode 100644 modules/home/wayland/waybar-style.css diff --git a/modules/home/theming/default.nix b/modules/home/theming/default.nix index e2a2f10a..007f6296 100644 --- a/modules/home/theming/default.nix +++ b/modules/home/theming/default.nix @@ -2,18 +2,17 @@ pkgs, config, lib, - osConfig, ... }: let - osPro = osConfig.py.profiles; + pro = config.py.profiles; in { catppuccin = { flavor = "mocha"; accent = "blue"; }; - gtk = lib.mkIf osPro.graphical.enable { + gtk = lib.mkIf pro.gui.enable { enable = true; catppuccin = { enable = true; diff --git a/modules/home/wayland/keybindings.nix b/modules/home/wayland/keybindings.nix index 9ecd60d9..4da6733d 100644 --- a/modules/home/wayland/keybindings.nix +++ b/modules/home/wayland/keybindings.nix @@ -7,9 +7,10 @@ let slurp-screen = "\"$(slurp -c -b '#1e1e2e80' -o -r)\" -"; slurp-box = "\"$(slurp -c '#f38ba8ff' -b '#1e1e2e80' -w 1 -d -F 'IBM Plex Mono')\" -"; satty = "satty -f -"; + cfg = config.py.gui; in { - wayland.windowManager.sway.config.keybindings = lib.mkOptionDefault { + config.wayland.windowManager.sway.config.keybindings = lib.mkOptionDefault lib.mkIf cfg.enable { "${mod}+d" = "${menu}"; "${mod}+Shift+F" = "exec MOZ_DISABLE_RDD_SANDBOX=1 firefox"; "${mod}+Return" = "exec ${term}"; diff --git a/modules/home/wayland/sway.nix b/modules/home/wayland/sway.nix index d9b73ced..cd2c8ca4 100644 --- a/modules/home/wayland/sway.nix +++ b/modules/home/wayland/sway.nix @@ -18,7 +18,7 @@ in XDG_CURRENT_DESKTOP = "sway"; }; wayland.windowManager.sway = { - enable = true; + enable = lib.mkDefault true; package = null; catppuccin.enable = true; # nix-community/home-manager/issues/5311 diff --git a/modules/home/wayland/swaylock.nix b/modules/home/wayland/swaylock.nix index 393aec93..760283d5 100644 --- a/modules/home/wayland/swaylock.nix +++ b/modules/home/wayland/swaylock.nix @@ -1,6 +1,10 @@ +{ lib, config, ... }: +let + cfg = config.py.gui; +in { - programs.swaylock = { - enable = true; + programs.swaylock = lib.mkIf cfg.enable { + enable = lib.mkDefault true; catppuccin.enable = true; settings = { daemonize = true; diff --git a/modules/home/wayland/waybar-mocha.css b/modules/home/wayland/waybar-mocha.css new file mode 100644 index 00000000..98e218a1 --- /dev/null +++ b/modules/home/wayland/waybar-mocha.css @@ -0,0 +1,37 @@ +/* +* +* Catppuccin Mocha palette +* Maintainer: rubyowo +* +*/ + +@define-color base #1e1e2e; +@define-color mantle #181825; +@define-color crust #11111b; + +@define-color text #cdd6f4; +@define-color subtext0 #a6adc8; +@define-color subtext1 #bac2de; + +@define-color surface0 #313244; +@define-color surface1 #45475a; +@define-color surface2 #585b70; + +@define-color overlay0 #6c7086; +@define-color overlay1 #7f849c; +@define-color overlay2 #9399b2; + +@define-color blue #89b4fa; +@define-color lavender #b4befe; +@define-color sapphire #74c7ec; +@define-color sky #89dceb; +@define-color teal #94e2d5; +@define-color green #a6e3a1; +@define-color yellow #f9e2af; +@define-color peach #fab387; +@define-color maroon #eba0ac; +@define-color red #f38ba8; +@define-color mauve #cba6f7; +@define-color pink #f5c2e7; +@define-color flamingo #f2cdcd; +@define-color rosewater #f5e0dc; diff --git a/modules/home/wayland/waybar-style.css b/modules/home/wayland/waybar-style.css new file mode 100644 index 00000000..65f6b37b --- /dev/null +++ b/modules/home/wayland/waybar-style.css @@ -0,0 +1,119 @@ +@import "mocha.css"; +#waybar { + font-family: + BlexMono Nerd Font, + sans-serif; + font-size: 16px; +} + +#window { + padding: 0 10px; +} + +window#waybar { + border: none; + border-radius: 0; + box-shadow: none; + text-shadow: none; + transition-duration: 0s; + color: @text; + background: @base; +} + +#workspaces { + margin: 0 5px; +} + +#workspaces button { + padding: 0 8px; + color: @text; + border: 2px solid @subtext0; + border-radius: 10px; + min-width: 25px; + margin-right: 8px; +} + +#workspaces button.visible { + color: @subtext0; +} + +#workspaces button.focused { + border: 3px solid @mauve; +} + +#workspaces button.urgent { + background-color: @red; +} + +#workspaces button:hover { + box-shadow: inherit; + border-color: @blue; + color: @blue; +} + +/* Repeat style here to ensure properties are overwritten as there's no !important and button:hover above resets the colour */ + +#workspaces button.focused { + color: @subtext0; +} +#workspaces button.focused:hover { + color: @text; +} + +#tray, +#mode, +#battery, +#temperature, +#cpu, +#memory, +#network, +#pulseaudio, +#clock, +#idle_inhibitor, +#sway-language, +#backlight { + padding: 2px 8px; + margin: 2px 5px; + color: @text; +} + +#tray:hover, +#mode:hover, +#battery:hover, +#temperature:hover, +#cpu:hover, +#memory:hover, +#network:hover, +#pulseaudio:hover, +#clock:hover, +#idle_inhibitor:hover, +#sway-language:hover, +#backlight:hover { + padding: 2px 8px; + margin: 2px 5px; + color: @base; + background-color: @subtext1; +} + +#clock { + font-weight: bold; +} + +#battery.warning { + color: @yellow; +} + +#battery.critical { + color: @red; +} + +#battery.charging { + color: @green; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: black; + } +} diff --git a/modules/home/wayland/waybar.nix b/modules/home/wayland/waybar.nix index a96ae11b..cb39d1d5 100644 --- a/modules/home/wayland/waybar.nix +++ b/modules/home/wayland/waybar.nix @@ -1,138 +1,152 @@ -{ pkgs, lib, ... }: { - programs.waybar = { - enable = true; - catppuccin.enable = false; - systemd.enable = true; - systemd.target = "sway-session.target"; - # style = "/home/thehedgehog/.config/waybar/style.css" - settings = { - mainBar = { - layer = "top"; - position = "top"; - height = 32; - modules-left = [ - "sway/workspaces" - "sway/mode" - ]; - modules-center = [ "custom/media" ]; - modules-right = [ - "idle_inhibitor" - "wireplumber" - "network" - "temperature" - "backlight" - "battery" - "clock" - "tray" - ]; - "sway/workspaces" = { - disable-scroll = true; - enable-bar-scroll = false; - active-only = false; - all-outputs = false; - format = "{icon}"; - }; - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - "activated" = ""; - "deactivated" = ""; - }; - }; - "tray" = { - icon-size = 25; - spacing = 12; - }; - "clock" = { - tooltip-format = "{calendar}"; - format = "{:%H:%M:%S}  "; - format-alt = "{%d %b %Y}"; - interval = 1; - }; - "cpu" = { - format = "{usage}% "; - interval = 5; - tooltip = false; - }; - "memory" = { - format = "{}% "; - }; - "temperature" = { - critical-threshold = 80; - format = "{temperatureC}°C {icon}"; - format-icons = [ - "" - "" - "" - "" - "" + pkgs, + lib, + config, + ... +}: +let + cfg = config.py.gui; +in +{ + config = { + xdg.configFile."waybar/mocha.css" = lib.mkIf cfg.enable { + source = ./waybar-mocha.css; + recursive = false; + }; + programs.waybar = lib.mkIf cfg.enable { + enable = lib.mkDefault true; + catppuccin.enable = false; + systemd.enable = true; + systemd.target = "sway-session.target"; + style = ./waybar-style.css; + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 32; + modules-left = [ + "sway/workspaces" + "sway/mode" ]; - }; - "backlight" = { - format = "{percent}% {icon}"; - format-icons = [ - "󰃚" - "󰃛" - "󰃜" - "󰃝" - "󰃞" - "󰃟" - "󰃠" + modules-center = [ "custom/media" ]; + modules-right = [ + "idle_inhibitor" + "wireplumber" + "network" + "temperature" + "backlight" + "battery" + "clock" + "tray" ]; - }; - "battery" = { - states = { - good = 80; - warning = 30; - critical = 15; + "sway/workspaces" = { + disable-scroll = true; + enable-bar-scroll = false; + active-only = false; + all-outputs = false; + format = "{icon}"; }; - format = "{capacity}% {icon}"; - format-charging = "{capacity}% 󰂄"; - format-plugged = "{capacity}% "; - format-alt = "{time} {icon}"; - format-icons = [ - "󰂎" - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" - ]; - }; - "network" = { - format-wifi = "{essid} "; - format-ethernet = "{ifname}: {ipaddr}/{cidr} 󰈀"; - format-linked = "{ifname} (No IP) 󰄡"; - format-disconnected = "Disconnected! ⚠"; - format-alt = "{ifname}: {ipaddr}/{cidr}"; - on-click = lib.getExe pkgs.networkmanagerapplet; - }; - "wireplumber" = { - format = "{volume}% {icon}"; - format-muted = "󰝟"; - format-icons = [ - "" - "" - "" - ]; - on-click = lib.getExe pkgs.helvum; - }; - "custom/media" = { - format = "{icon}{}"; - return-type = "json"; - format-icons = { - Paused = " "; - Playing = " "; + "idle_inhibitor" = { + format = "{icon}"; + format-icons = { + "activated" = ""; + "deactivated" = ""; + }; + }; + "tray" = { + icon-size = 25; + spacing = 12; + }; + "clock" = { + tooltip-format = "{calendar}"; + format = "{:%H:%M:%S}  "; + format-alt = "{%d %b %Y}"; + interval = 1; + }; + "cpu" = { + format = "{usage}% "; + interval = 5; + tooltip = false; + }; + "memory" = { + format = "{}% "; + }; + "temperature" = { + critical-threshold = 80; + format = "{temperatureC}°C {icon}"; + format-icons = [ + "" + "" + "" + "" + "" + ]; + }; + "backlight" = { + format = "{percent}% {icon}"; + format-icons = [ + "󰃚" + "󰃛" + "󰃜" + "󰃝" + "󰃞" + "󰃟" + "󰃠" + ]; + }; + "battery" = { + states = { + good = 80; + warning = 30; + critical = 15; + }; + format = "{capacity}% {icon}"; + format-charging = "{capacity}% 󰂄"; + format-plugged = "{capacity}% "; + format-alt = "{time} {icon}"; + format-icons = [ + "󰂎" + "󰁺" + "󰁻" + "󰁼" + "󰁽" + "󰁾" + "󰁿" + "󰂀" + "󰂁" + "󰂂" + "󰁹" + ]; + }; + "network" = { + format-wifi = "{essid} "; + format-ethernet = "{ifname}: {ipaddr}/{cidr} 󰈀"; + format-linked = "{ifname} (No IP) 󰄡"; + format-disconnected = "Disconnected! ⚠"; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + on-click = lib.getExe pkgs.networkmanagerapplet; + }; + "wireplumber" = { + format = "{volume}% {icon}"; + format-muted = "󰝟"; + format-icons = [ + "" + "" + "" + ]; + on-click = lib.getExe pkgs.helvum; + }; + "custom/media" = { + format = "{icon}{}"; + return-type = "json"; + format-icons = { + Paused = " "; + Playing = " "; + }; + max-length = 70; + exec = ''${lib.getExe pkgs.playerctl} -a metadata --format '{"text": "{{playerName}}: {{artist}} - {{markup_escape(title)}}", "tooltip": "{{playerName}} : {{markup_escape(title)}}", "alt": "{{status}}", "class": "{{status}}"}' -F''; + on-click = "${lib.getExe pkgs.playerctl} play-pause"; }; - max-length = 70; - exec = ''${lib.getExe pkgs.playerctl} -a metadata --format '{"text": "{{playerName}}: {{artist}} - {{markup_escape(title)}}", "tooltip": "{{playerName}} : {{markup_escape(title)}}", "alt": "{{status}}", "class": "{{status}}"}' -F''; - on-click = "${lib.getExe pkgs.playerctl} play-pause"; }; }; }; diff --git a/modules/home/xdg/default.nix b/modules/home/xdg/default.nix index ba8678a7..b94c7802 100644 --- a/modules/home/xdg/default.nix +++ b/modules/home/xdg/default.nix @@ -2,20 +2,19 @@ config, lib, pkgs, - osConfig, ... }: let homeDir = config.home.homeDirectory; - osPro = osConfig.py.profiles; + pro = config.py.profiles; in { xdg = { enable = true; - mime.enable = lib.mkIf osPro.graphical.enable true; + mime.enable = lib.mkIf pro.gui.enable true; configHome = lib.mkForce "${homeDir}/.config"; dataHome = lib.mkForce "${homeDir}/.local/share"; - portal = lib.mkIf osPro.graphical.enable { + portal = lib.mkIf pro.gui.enable { enable = true; xdgOpenUsePortal = true; extraPortals = [ @@ -30,7 +29,7 @@ in }; }; }; - mimeApps = lib.mkIf osPro.graphical.enable { + mimeApps = lib.mkIf pro.gui.enable { enable = true; associations.added = { "application/pdf" = [ "firefox.desktop" ]; -- 2.51.2 From 6a7ab018b42f977e648f595cbb7ef13c17729b16 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 22:56:17 -0400 Subject: [PATCH 069/105] [homes.pyrox] Enable desktop profile --- homes/x86_64-linux/pyrox/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/homes/x86_64-linux/pyrox/default.nix b/homes/x86_64-linux/pyrox/default.nix index 92a2f5dd..e3c7a553 100644 --- a/homes/x86_64-linux/pyrox/default.nix +++ b/homes/x86_64-linux/pyrox/default.nix @@ -1,7 +1,15 @@ { + imports = [ + ./services/kanshi.nix + ./files/pamKeys.nix + ./files/distrobox-config.nix + ]; snowfallorg.user = { enable = true; name = "pyrox"; home = "/home/pyrox"; }; + py = { + profiles.desktop.enable = true; + }; } -- 2.51.2 From 8056db86715111f4634d9e7ad1df3fde4913afcf Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 23:24:45 -0400 Subject: [PATCH 070/105] [packages] git-credential-rbw: Remove check phase --- packages/git-credential-rbw/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/git-credential-rbw/default.nix b/packages/git-credential-rbw/default.nix index b67d6ccc..e94e46e3 100644 --- a/packages/git-credential-rbw/default.nix +++ b/packages/git-credential-rbw/default.nix @@ -2,6 +2,7 @@ pkgs.writeShellApplication { name = "git-credential-rbw"; runtimeInputs = [ pkgs.rbw ]; + checkPhase = "true"; text = '' #${pkgs.bash}/bin/bash -- 2.51.2 From 9fa28e02fefb1729103c0bbe4c4f6f9fc11f1045 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 23:43:14 -0400 Subject: [PATCH 071/105] [homes] Remove name and home declarations --- homes/x86_64-linux/pyrox/default.nix | 2 -- homes/x86_64-linux/thehedgehog/default.nix | 5 +++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/homes/x86_64-linux/pyrox/default.nix b/homes/x86_64-linux/pyrox/default.nix index e3c7a553..67d897c7 100644 --- a/homes/x86_64-linux/pyrox/default.nix +++ b/homes/x86_64-linux/pyrox/default.nix @@ -6,8 +6,6 @@ ]; snowfallorg.user = { enable = true; - name = "pyrox"; - home = "/home/pyrox"; }; py = { profiles.desktop.enable = true; diff --git a/homes/x86_64-linux/thehedgehog/default.nix b/homes/x86_64-linux/thehedgehog/default.nix index f581edcb..3fbb0f5a 100644 --- a/homes/x86_64-linux/thehedgehog/default.nix +++ b/homes/x86_64-linux/thehedgehog/default.nix @@ -1,7 +1,8 @@ +{ osConfig, ... }: { snowfallorg.user = { enable = true; - name = "thehedgehog"; - home = "/home/thehedgehog"; }; + home.stateVersion = osConfig.system.stateVersion; + py.profiles.gui.enable = true; } -- 2.51.2 From 13c7e8e5e6f279fcd95d9163c612daba988a2f6b Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 23:43:27 -0400 Subject: [PATCH 072/105] [modules.home] Profiles: Actually enable stuff --- modules/home/profiles/cli/default.nix | 25 +++++++++++++++---- modules/home/profiles/development/default.nix | 11 +++++--- modules/home/profiles/gui/default.nix | 6 +---- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/modules/home/profiles/cli/default.nix b/modules/home/profiles/cli/default.nix index f68f42f2..298f0859 100644 --- a/modules/home/profiles/cli/default.nix +++ b/modules/home/profiles/cli/default.nix @@ -6,14 +6,29 @@ }: let cfg = config.py.profiles.cli; + inherit (lib) mkEnableOption mkDefault mkIf; in { - options.py.profiles.cli.enable = lib.mkEnableOption "CLI Profile"; - config = lib.mkIf cfg.enable { + options.py.profiles.cli.enable = mkEnableOption "CLI Profile"; + config = mkIf cfg.enable { py.programs = { - git.enable = true; - gh.enable = true; - lazygit.enable = true; + bat.enable = mkDefault true; + direnv.enable = mkDefault true; + fish.enable = mkDefault true; + fzf.enable = mkDefault true; + git = { + enable = mkDefault true; + gh.enable = mkDefault true; + lazygit.enable = mkDefault true; + }; + gpg.enable = mkDefault true; + helix.enable = mkDefault true; + nix-index = mkDefault true; + nushell.enable = mkDefault true; + pandoc.enable = mkDefault true; + ssh.enable = mkDefault true; + starship.enable = mkDefault true; + zoxide.enable = mkDefault true; }; programs = { eza = { diff --git a/modules/home/profiles/development/default.nix b/modules/home/profiles/development/default.nix index 6965463a..20720c74 100644 --- a/modules/home/profiles/development/default.nix +++ b/modules/home/profiles/development/default.nix @@ -6,13 +6,15 @@ }: let customPython = pkgs.python312.withPackages (ps: [ ps.pip ]); - cfg = config.py.profiles.dev; + cfg = config.py.profiles.development; in { options.py.profiles.development.enable = lib.mkEnableOption "Development Profile"; - config.home.packages = - with pkgs; - lib.mkIf cfg.enable [ + config = lib.mkIf cfg.enable { + py.programs = { + neovim.enable = true; + }; + home.packages = with pkgs; [ alejandra any-nix-shell cargo @@ -22,4 +24,5 @@ in nil nixd ]; + }; } diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix index 36fb65bf..36499267 100644 --- a/modules/home/profiles/gui/default.nix +++ b/modules/home/profiles/gui/default.nix @@ -18,11 +18,7 @@ in gui.enable = true; programs = { chromium.enable = mkDefault true; - firefox = { - enable = mkDefault true; - prefs.enable = mkDefault true; - policies.enable = mkDefault true; - }; + firefox.enable = mkDefault true; kitty.enable = mkDefault true; obs.enable = mkDefault true; vscodium.enable = mkDefault true; -- 2.51.2 From 73f93fd0ab0f0178a58118ea41da486ad37c5e7f Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 23:43:50 -0400 Subject: [PATCH 073/105] [modules.home] fix eval errors --- modules/home/profiles/cli/default.nix | 2 +- modules/home/profiles/gui/default.nix | 2 + .../home/programs/misc-programs/default.nix | 2 +- modules/home/programs/neovim/default.nix | 8 ++- modules/home/programs/ssh/default.nix | 2 +- modules/home/programs/wlogout/default.nix | 4 +- modules/home/programs/wlogout/style.nix | 2 +- modules/home/scripts/default.nix | 2 +- modules/home/wayland/keybindings.nix | 64 ++++++++++--------- 9 files changed, 47 insertions(+), 41 deletions(-) diff --git a/modules/home/profiles/cli/default.nix b/modules/home/profiles/cli/default.nix index 298f0859..fe3646d8 100644 --- a/modules/home/profiles/cli/default.nix +++ b/modules/home/profiles/cli/default.nix @@ -23,7 +23,7 @@ in }; gpg.enable = mkDefault true; helix.enable = mkDefault true; - nix-index = mkDefault true; + nix-index.enable = mkDefault true; nushell.enable = mkDefault true; pandoc.enable = mkDefault true; ssh.enable = mkDefault true; diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix index 36499267..b8dc1041 100644 --- a/modules/home/profiles/gui/default.nix +++ b/modules/home/profiles/gui/default.nix @@ -26,7 +26,9 @@ in }; services = { gpg-agent.enable = mkDefault true; + kdeconnect.enable = mkDefault true; mako.enable = mkDefault true; + swayidle.enable = mkDefault true; syncthing.enable = mkDefault true; }; }; diff --git a/modules/home/programs/misc-programs/default.nix b/modules/home/programs/misc-programs/default.nix index 89690bc0..acc5233f 100644 --- a/modules/home/programs/misc-programs/default.nix +++ b/modules/home/programs/misc-programs/default.nix @@ -44,7 +44,7 @@ in enableFishIntegration = true; enableZshIntegration = true; }; - obs = mkIf cfg.obs.enable { + obs-studio = mkIf cfg.obs.enable { enable = true; plugins = with pkgs.obs-studio-plugins; [ obs-ndi diff --git a/modules/home/programs/neovim/default.nix b/modules/home/programs/neovim/default.nix index 93028e29..525331a1 100644 --- a/modules/home/programs/neovim/default.nix +++ b/modules/home/programs/neovim/default.nix @@ -1,6 +1,5 @@ { pkgs, - osConfig, config, lib, ... @@ -13,10 +12,13 @@ in config.programs.neovim = lib.mkIf cfg.enable { enable = true; - package = osConfig.programs.neovim.finalPackage; + package = pkgs.py.nvim; viAlias = true; vimAlias = true; vimdiffAlias = true; + withRuby = false; + withNodeJs = false; + withPython3 = false; extraPackages = [ pkgs.bottom @@ -26,7 +28,7 @@ in pkgs.nodejs ] ++ ( - if config.py.profiles.graphical.enable then + if config.py.profiles.gui.enable then [ pkgs.ffmpegthumbnailer pkgs.fontpreview diff --git a/modules/home/programs/ssh/default.nix b/modules/home/programs/ssh/default.nix index bbe15784..54123f5d 100644 --- a/modules/home/programs/ssh/default.nix +++ b/modules/home/programs/ssh/default.nix @@ -4,7 +4,7 @@ let in { options.py.programs.ssh.enable = lib.mkEnableOption "ssh"; - config = lib.mkEnableOption cfg.enable { + config = lib.mkIf cfg.enable { programs.ssh = { enable = true; compression = true; diff --git a/modules/home/programs/wlogout/default.nix b/modules/home/programs/wlogout/default.nix index f8b6acfb..a45649cc 100644 --- a/modules/home/programs/wlogout/default.nix +++ b/modules/home/programs/wlogout/default.nix @@ -5,14 +5,14 @@ ... }: let - cfg = config.programs.py.wlogout; + cfg = config.py.programs.wlogout; pkg = config.programs.wlogout.package; in { options.py.programs.wlogout.enable = lib.mkEnableOption "wlogout"; config.programs.wlogout = lib.mkIf cfg.enable { enable = true; - style = import ./style.nix pkg; + style = import ./style.nix { inherit pkg; }; layout = [ { label = "hibernate"; diff --git a/modules/home/programs/wlogout/style.nix b/modules/home/programs/wlogout/style.nix index a945044d..3a594558 100644 --- a/modules/home/programs/wlogout/style.nix +++ b/modules/home/programs/wlogout/style.nix @@ -1,4 +1,4 @@ -{ pkg }: +{ pkg, ... }: let icon-path = "${pkg}/share/wlogout/icons"; in diff --git a/modules/home/scripts/default.nix b/modules/home/scripts/default.nix index a7da7f94..81164ccc 100644 --- a/modules/home/scripts/default.nix +++ b/modules/home/scripts/default.nix @@ -1,7 +1,7 @@ { lib, config, ... }: { home.activation = { - removeLocalFonts = lib.hm.dag.entryAfter [ "writeBoundary" ] '' + removeLocalFonts = config.lib.dag.entryAfter [ "writeBoundary" ] '' unlink ${config.home.homeDirectory}/.local/share/fonts ''; }; diff --git a/modules/home/wayland/keybindings.nix b/modules/home/wayland/keybindings.nix index 4da6733d..64035184 100644 --- a/modules/home/wayland/keybindings.nix +++ b/modules/home/wayland/keybindings.nix @@ -10,35 +10,37 @@ let cfg = config.py.gui; in { - config.wayland.windowManager.sway.config.keybindings = lib.mkOptionDefault lib.mkIf cfg.enable { - "${mod}+d" = "${menu}"; - "${mod}+Shift+F" = "exec MOZ_DISABLE_RDD_SANDBOX=1 firefox"; - "${mod}+Return" = "exec ${term}"; - # "${mod}+Shift+Return" = "exec ${pkgs.wezterm}/bin/wezterm"; - "${mod}+x" = "exec wlogout"; - "${mod}+s" = null; - "${mod}+w" = null; - "XF86MonBrightnessDown" = "exec brightnessctl set 5%-"; - "XF86MonBrightnessUp" = "exec brightnessctl set +5%"; - "XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +5%"; - "XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -5%"; - "XF86AudioMute" = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle"; - "XF86AudioMicMute" = "exec pactl set-source-mute @DEFAULT_SOURCE@ toggle"; - "XF86AudioPlay" = "exec playerctl play-pause"; - "XF86AudioNext" = "exec playerctl next"; - "XF86AudioPrev" = "exec playerctl previous"; - "Shift+F3" = "exec ${grim} ${slurp-screen} | ${satty}"; - "Shift+F4" = "exec ${grim} ${slurp-box} | ${satty}"; - "${mod}+Shift+1" = "move container to workspace number 1"; - "${mod}+Shift+2" = "move container to workspace number 2"; - "${mod}+Shift+3" = "move container to workspace number 3"; - "${mod}+Shift+4" = "move container to workspace number 4"; - "${mod}+Shift+5" = "move container to workspace number 5"; - "${mod}+Shift+6" = "move container to workspace number 6"; - "${mod}+Shift+7" = "move container to workspace number 7"; - "${mod}+Shift+8" = "move container to workspace number 8"; - "${mod}+Shift+9" = "move container to workspace number 9"; - "${mod}+Shift+0" = "move container to workspace number 10"; - "${mod}+0" = "workspace number 10"; - }; + config.wayland.windowManager.sway.config.keybindings = lib.mkIf cfg.enable ( + lib.mkOptionDefault { + "${mod}+d" = "${menu}"; + "${mod}+Shift+F" = "exec MOZ_DISABLE_RDD_SANDBOX=1 firefox"; + "${mod}+Return" = "exec ${term}"; + # "${mod}+Shift+Return" = "exec ${pkgs.wezterm}/bin/wezterm"; + "${mod}+x" = "exec wlogout"; + "${mod}+s" = null; + "${mod}+w" = null; + "XF86MonBrightnessDown" = "exec brightnessctl set 5%-"; + "XF86MonBrightnessUp" = "exec brightnessctl set +5%"; + "XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +5%"; + "XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -5%"; + "XF86AudioMute" = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle"; + "XF86AudioMicMute" = "exec pactl set-source-mute @DEFAULT_SOURCE@ toggle"; + "XF86AudioPlay" = "exec playerctl play-pause"; + "XF86AudioNext" = "exec playerctl next"; + "XF86AudioPrev" = "exec playerctl previous"; + "Shift+F3" = "exec ${grim} ${slurp-screen} | ${satty}"; + "Shift+F4" = "exec ${grim} ${slurp-box} | ${satty}"; + "${mod}+Shift+1" = "move container to workspace number 1"; + "${mod}+Shift+2" = "move container to workspace number 2"; + "${mod}+Shift+3" = "move container to workspace number 3"; + "${mod}+Shift+4" = "move container to workspace number 4"; + "${mod}+Shift+5" = "move container to workspace number 5"; + "${mod}+Shift+6" = "move container to workspace number 6"; + "${mod}+Shift+7" = "move container to workspace number 7"; + "${mod}+Shift+8" = "move container to workspace number 8"; + "${mod}+Shift+9" = "move container to workspace number 9"; + "${mod}+Shift+0" = "move container to workspace number 10"; + "${mod}+0" = "workspace number 10"; + } + ); } -- 2.51.2 From c6dae1f745f9b02f65e7ccda0b9341695e649ac8 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 23:44:23 -0400 Subject: [PATCH 074/105] [modules.nixos] Fix eval errors --- modules/nixos/default-config/users.nix | 15 ++---------- modules/nixos/default-users/default.nix | 26 +++++++++++++++++++++ modules/nixos/programs/neovim/default.nix | 2 +- modules/nixos/services/buildbot/default.nix | 7 +++++- 4 files changed, 35 insertions(+), 15 deletions(-) diff --git a/modules/nixos/default-config/users.nix b/modules/nixos/default-config/users.nix index 9925e136..60498695 100644 --- a/modules/nixos/default-config/users.nix +++ b/modules/nixos/default-config/users.nix @@ -1,7 +1,7 @@ -{ lib, pkgs, ... }: +{ lib, ... }: { users.users = { - pyrox = { + pyrox = lib.mkDefault { isNormalUser = true; description = lib.mkDefault "Pyrox"; extraGroups = [ @@ -12,15 +12,4 @@ ]; }; }; - # Set default editor - programs.neovim = { - enable = true; - defaultEditor = true; - viAlias = true; - vimAlias = true; - withNodeJs = true; - withPython3 = true; - withRuby = false; - package = pkgs.py.nvim; - }; } diff --git a/modules/nixos/default-users/default.nix b/modules/nixos/default-users/default.nix index d1f6d04d..ef298abc 100644 --- a/modules/nixos/default-users/default.nix +++ b/modules/nixos/default-users/default.nix @@ -11,6 +11,32 @@ in options.py.users.default.enable = lib.mkEnableOption "Default PyroNet Users"; config = lib.mkIf cfg.enable { + users.users.pyrox = { + description = "Pyrox"; + isNormalUser = true; + extraGroups = [ + "adbusers" + "wheel" + "networkmanager" + "video" + "docker" + "wireshark" + "input" + ]; + hashedPassword = "$6$6EtuZhVOJdfI9DYP$1Qnd7R8qdN.E5yE2kDQCNg2zgJ5cIjNBKsIW/qJgb8wcKlUpIoVg/fEKvBkAgCiLyojVG2kzfu4J9LR8rA8a2/"; + shell = pkgs.fish; + openssh = { + authorizedKeys = { + keyFiles = [ + ./yubikey-new.pub + ./yubikey-main.pub + ./yubikey-back.pub + ./backup.pub + ]; + keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP532AB5mkNvE29MkDDY8HEf8ZdktGWiI0PzLrvbmLQe" ]; + }; + }; + }; users.users.thehedgehog = { description = "The Hedgehog"; isNormalUser = true; diff --git a/modules/nixos/programs/neovim/default.nix b/modules/nixos/programs/neovim/default.nix index 264141c9..8c2980a5 100644 --- a/modules/nixos/programs/neovim/default.nix +++ b/modules/nixos/programs/neovim/default.nix @@ -8,7 +8,7 @@ let cfg = config.py.programs.neovim; in { - options.py.programs.neovim = lib.mkEnableOption "Neovim configuration"; + options.py.programs.neovim.enable = lib.mkEnableOption "Neovim configuration"; config.programs.neovim = lib.mkIf cfg.enable { enable = true; diff --git a/modules/nixos/services/buildbot/default.nix b/modules/nixos/services/buildbot/default.nix index 5f32689f..916aab4d 100644 --- a/modules/nixos/services/buildbot/default.nix +++ b/modules/nixos/services/buildbot/default.nix @@ -5,11 +5,16 @@ in { options.py.services.buildbot.worker = { enable = lib.mkEnableOption "buildbot worker"; + passwordFile = lib.mkOption { + type = lib.types.path; + description = "Password file for the worker"; + default = null; + }; }; config.services.buildbot-nix.worker = lib.mkIf cfg.enable { enable = true; name = config.networking.hostName; masterUrl = "tcp:host=marvin:port=6915"; - workerPasswordFile = config.age.secrets.buildbot-worker-password.path; + workerPasswordFile = cfg.passwordFile; }; } -- 2.51.2 From 048b8e4c1e3baf35dce1534eca71efd54a64507a Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 23:57:45 -0400 Subject: [PATCH 075/105] [homes] Update profiles and state versions --- homes/x86_64-linux/pyrox/default.nix | 2 ++ homes/x86_64-linux/thehedgehog/default.nix | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/homes/x86_64-linux/pyrox/default.nix b/homes/x86_64-linux/pyrox/default.nix index 67d897c7..03beeace 100644 --- a/homes/x86_64-linux/pyrox/default.nix +++ b/homes/x86_64-linux/pyrox/default.nix @@ -1,3 +1,4 @@ +{ osConfig, ... }: { imports = [ ./services/kanshi.nix @@ -7,6 +8,7 @@ snowfallorg.user = { enable = true; }; + home.stateVersion = osConfig.system.stateVersion; py = { profiles.desktop.enable = true; }; diff --git a/homes/x86_64-linux/thehedgehog/default.nix b/homes/x86_64-linux/thehedgehog/default.nix index 3fbb0f5a..2f5c3f70 100644 --- a/homes/x86_64-linux/thehedgehog/default.nix +++ b/homes/x86_64-linux/thehedgehog/default.nix @@ -4,5 +4,5 @@ enable = true; }; home.stateVersion = osConfig.system.stateVersion; - py.profiles.gui.enable = true; + py.profiles.desktop.enable = true; } -- 2.51.2 From 8d927e206a03d2b67bf4239b456da134a8c21b3c Mon Sep 17 00:00:00 2001 From: Pyrox Date: Fri, 7 Jun 2024 23:58:00 -0400 Subject: [PATCH 076/105] [systems.zaphod] Update program sorting --- systems/x86_64-linux/zaphod/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systems/x86_64-linux/zaphod/default.nix b/systems/x86_64-linux/zaphod/default.nix index b4c6cd07..5b30d262 100644 --- a/systems/x86_64-linux/zaphod/default.nix +++ b/systems/x86_64-linux/zaphod/default.nix @@ -29,11 +29,11 @@ users.default.enable = true; programs = { chromium.enable = true; - firefox.enable = true; - neovim.enable = true; dconf.enable = true; + firefox.enable = true; fish.enable = true; less.enable = true; + neovim.enable = true; noisetorch.enable = true; steam.enable = true; wireshark.enable = true; -- 2.51.2 From 0d5e3ba29020231e6a9568e46b0015afe5e6e6f2 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 00:01:13 -0400 Subject: [PATCH 077/105] [modules.home] add cli profile --- modules/home/profiles/desktop/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/profiles/desktop/default.nix b/modules/home/profiles/desktop/default.nix index 65c91136..e35bbd67 100644 --- a/modules/home/profiles/desktop/default.nix +++ b/modules/home/profiles/desktop/default.nix @@ -13,6 +13,7 @@ in config = mkIf cfg.enable { py.profiles = { base.enable = mkDefault true; + cli.enable = mkDefault true; gui.enable = mkDefault true; development.enable = mkDefault true; }; -- 2.51.2 From bd98ce64c86db047d71623e191d9dfb8a0aa8080 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 00:12:41 -0400 Subject: [PATCH 078/105] [flake] Final updates --- modules/home/profiles/gui/default.nix | 1 - modules/home/programs/git/default.nix | 2 +- modules/home/programs/ssh/default.nix | 2 +- modules/home/programs/starship/default.nix | 2 +- packages/git-credential-rbw/default.nix | 46 ---------------------- 5 files changed, 3 insertions(+), 50 deletions(-) delete mode 100644 packages/git-credential-rbw/default.nix diff --git a/modules/home/profiles/gui/default.nix b/modules/home/profiles/gui/default.nix index b8dc1041..7130c7d5 100644 --- a/modules/home/profiles/gui/default.nix +++ b/modules/home/profiles/gui/default.nix @@ -44,7 +44,6 @@ in ueberzug lutris py.olympus - py.git-credential-rbw prismlauncher protontricks proton-caller diff --git a/modules/home/programs/git/default.nix b/modules/home/programs/git/default.nix index 269de875..61b72cb5 100644 --- a/modules/home/programs/git/default.nix +++ b/modules/home/programs/git/default.nix @@ -93,7 +93,7 @@ in settings = { editor = lib.getExe pkgs.py.nvim; git_protocol = "https"; - browser = lib.mkIf config.py.sway.enable pkgs.firefox-wayland; + browser = lib.mkIf config.py.gui.enable pkgs.firefox; prompt = "enabled"; }; }; diff --git a/modules/home/programs/ssh/default.nix b/modules/home/programs/ssh/default.nix index 54123f5d..f0c7132b 100644 --- a/modules/home/programs/ssh/default.nix +++ b/modules/home/programs/ssh/default.nix @@ -40,6 +40,6 @@ in "Match" = ''host * exec "gpg-connect-agent UPDATESTARTUPTTY /bye"''; }; }; - home.file.".ssh/authorized_signatures".text = lib.mkIf cfg.enable import ./ssh-auth-signers.nix; + home.file.".ssh/authorized_signatures".text = import ./ssh-auth-signers.nix; }; } diff --git a/modules/home/programs/starship/default.nix b/modules/home/programs/starship/default.nix index a939943b..6714d867 100644 --- a/modules/home/programs/starship/default.nix +++ b/modules/home/programs/starship/default.nix @@ -10,6 +10,6 @@ in enableFishIntegration = true; enableBashIntegration = true; enableZshIntegration = true; - settings = import ./settings.nix lib; + settings = import ./settings.nix { inherit lib; }; }; } diff --git a/packages/git-credential-rbw/default.nix b/packages/git-credential-rbw/default.nix deleted file mode 100644 index e94e46e3..00000000 --- a/packages/git-credential-rbw/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ pkgs, ... }: -pkgs.writeShellApplication { - name = "git-credential-rbw"; - runtimeInputs = [ pkgs.rbw ]; - checkPhase = "true"; - text = '' - #${pkgs.bash}/bin/bash - - declare -A params - - if [ "x$1" == "xget" ]; then - read line - while [ -n "$line" ]; do - key=''${line%%=*} - value=''${line#*=} - params[$key]=$value - read line - done - - if [ "''${params['protocol']}" != "xhttps" ]; then - exit - fi - - if [ -z "''${params["host"]}" ]; then - exit - fi - - rbw ls > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "Please login to rbw to use git credential helper" > /dev/stderr - exit - fi - - user=`rbw get --full ''${params["host"]} | grep "Username:" | cut -d' ' -f2-` - pass=`rbw get ''${params["host"]}` - - if [ "x$user" == "x" ] || [ "x$pass" == "x" ]; then - echo "Couldn't find host in rbw DB." > /dev/stderr - exit - fi - - echo username=$user - echo password=$pass - fi - ''; -} -- 2.51.2 From 63f21108d0d62fab46108c2aef539d77c714752d Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 00:13:21 -0400 Subject: [PATCH 079/105] [flake] Update system modules --- flake.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index ff6cf47f..c665699c 100644 --- a/flake.nix +++ b/flake.nix @@ -246,9 +246,10 @@ systems = { # Modules for all systems modules.nixos = with inputs; [ + agenix.nixosModules.default + buildbot-nix.nixosModules.buildbot-worker ctp.nixosModules.catppuccin lix-module.nixosModules.default - agenix.nixosModules.default ]; hosts = { # Zaphod, my personal Framework 16 laptop @@ -265,10 +266,9 @@ # Marvin, my main homelab machine marvin.modules = with inputs; [ - iceshrimp.nixosModules.default - golink.nixosModules.default buildbot-nix.nixosModules.buildbot-master - buildbot-nix.nixosModules.buildbot-worker + golink.nixosModules.default + iceshrimp.nixosModules.default ]; }; }; -- 2.51.2 From 689bb8ca6dc92d8f2f95d05bd11f4bf02cc8fd5f Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 00:51:31 -0400 Subject: [PATCH 080/105] [modules.home] Remove unused script --- modules/home/scripts/default.nix | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/modules/home/scripts/default.nix b/modules/home/scripts/default.nix index 81164ccc..958608a5 100644 --- a/modules/home/scripts/default.nix +++ b/modules/home/scripts/default.nix @@ -1,8 +1 @@ -{ lib, config, ... }: -{ - home.activation = { - removeLocalFonts = config.lib.dag.entryAfter [ "writeBoundary" ] '' - unlink ${config.home.homeDirectory}/.local/share/fonts - ''; - }; -} +_: { } -- 2.51.2 From 4d76d61854b04258bea742926f15f133b8381212 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 00:51:56 -0400 Subject: [PATCH 081/105] [flake] Remove unnecessarily locked inputs --- flake.lock | 16 ++++++++-------- flake.nix | 24 +++--------------------- 2 files changed, 11 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index e8c94ee0..9a69b3bb 100644 --- a/flake.lock +++ b/flake.lock @@ -688,11 +688,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1717173858, - "narHash": "sha256-J51iC/XwFTJ6se9eRnrnjfXhHmRxgFZuvZJ+768VvO4=", + "lastModified": 1717732411, + "narHash": "sha256-cxK0tBbUxXtIYKLbjHpH+swiIzEoj61c82I/pN/yBoE=", "ref": "refs/heads/main", - "rev": "ff08d954206a557ec7afe7301cdb4bb72114875f", - "revCount": 15707, + "rev": "4f94531209510c7d580e525a017ea01f18894ded", + "revCount": 15739, "type": "git", "url": "https://git.lix.systems/lix-project/lix" }, @@ -715,11 +715,11 @@ ] }, "locked": { - "lastModified": 1717036776, - "narHash": "sha256-joKTxvywYlKspGGKOIXho6oRbggOPyayEqAyuZCavO0=", + "lastModified": 1717647344, + "narHash": "sha256-m8XYt8NU2T4gvkien7H7LFGXHhSA5z4tHOeuXQ3DJi4=", "ref": "refs/heads/main", - "rev": "b4b38e6b5fe18da9464f291ae5fbf2ea9acb9ccb", - "revCount": 86, + "rev": "4e25f1ab68f2270f9cff59216056c21073db0164", + "revCount": 87, "type": "git", "url": "https://git.lix.systems/lix-project/nixos-module" }, diff --git a/flake.nix b/flake.nix index c665699c..cd8e4440 100644 --- a/flake.nix +++ b/flake.nix @@ -74,12 +74,6 @@ flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; - attic.inputs = { - flake-utils.follows = "flake-utils"; - flake-compat.follows = "flake-compat"; - nixpkgs.follows = "nixpkgs"; - nixpkgs-stable.follows = "nixpkgs"; - }; }; }; ctp = { @@ -172,11 +166,6 @@ flake-compat.follows = "flake-compat"; flake-parts.follows = "flake-parts"; nixpkgs.follows = "nixpkgs"; - pre-commit-hooks.inputs = { - flake-compat.follows = "flake-compat"; - nixpkgs.follows = "nixpkgs"; - nixpkgs-stable.follows = "nixpkgs"; - }; }; }; my-pkgs = { @@ -188,10 +177,6 @@ inputs = { flake-compat.follows = "flake-compat"; nixpkgs.follows = "nixpkgs"; - nix-eval-jobs.inputs.flake-parts.follows = "flake-parts"; - nix-eval-jobs.inputs.nixpkgs.follows = "nixpkgs"; - lib-aggregate.inputs.flake-utils.follows = "flake-utils"; - lib-aggregate.inputs.nixpkgs-lib.follows = "nixpkgs-lib"; }; }; }; @@ -222,10 +207,10 @@ self.overlays.pyronet-packages self.overlays.alejandra self.overlays.nix-index - self.overlays.nixos-option + # self.overlays.nixos-option inputs.my-pkgs.overlays.cinny inputs.golink.overlay - # inputs.lix-module.overlays.default + inputs.lix-module.overlays.default inputs.neovim.overlay inputs.nixd.overlays.default inputs.nur.overlay @@ -253,10 +238,7 @@ ]; hosts = { # Zaphod, my personal Framework 16 laptop - zaphod.modules = with inputs; [ - hardware.nixosModules.framework-16-7040-amd - lix-module.nixosModules.default - ]; + zaphod.modules = with inputs; [ hardware.nixosModules.framework-16-7040-amd ]; # Prefect, my main VPS prefect.modules = with inputs; [ mailserver.nixosModule ]; -- 2.51.2 From 06a1e8d9d16bce9d2466df2de67b531047ba0b8e Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 00:52:08 -0400 Subject: [PATCH 082/105] [modules.nixos] Update default stateversion --- modules/nixos/default-config/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/nixos/default-config/default.nix b/modules/nixos/default-config/default.nix index 81398bc5..20883acc 100644 --- a/modules/nixos/default-config/default.nix +++ b/modules/nixos/default-config/default.nix @@ -1,3 +1,4 @@ +{ inputs, system, ... }: { imports = [ ./bootloader.nix @@ -12,7 +13,8 @@ ./ssh.nix ./users.nix ]; - system.stateVersion = "24.05"; + system.stateVersion = "24.11"; + nix.package = inputs.lix.packages.${system}.default; catppuccin.flavor = "mocha"; console.catppuccin.enable = true; } -- 2.51.2 From 0a2afa9c70628105240fe8b546b2340af9152e14 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 01:58:17 -0400 Subject: [PATCH 083/105] [modules.home] Unpin chromium from stable --- modules/home/programs/chromium/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/home/programs/chromium/default.nix b/modules/home/programs/chromium/default.nix index f845cab4..7e14ebea 100644 --- a/modules/home/programs/chromium/default.nix +++ b/modules/home/programs/chromium/default.nix @@ -1,9 +1,7 @@ { pkgs, - inputs, config, lib, - system, ... }: let @@ -14,7 +12,7 @@ in config.programs.chromium = lib.mkIf cfg.enable { enable = true; - package = inputs.stable.legacyPackages.${system}.ungoogled-chromium; + package = pkgs.ungoogled-chromium; dictionaries = [ pkgs.hunspellDictsChromium.en_US ]; }; } -- 2.51.2 From c1eda62b692cb597acca1d6b319ab9b7cee6f5e3 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 01:58:32 -0400 Subject: [PATCH 084/105] [modules.nixos] Unpin firefox --- modules/nixos/programs/firefox/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/nixos/programs/firefox/default.nix b/modules/nixos/programs/firefox/default.nix index 5d03dd7d..8235cdd0 100644 --- a/modules/nixos/programs/firefox/default.nix +++ b/modules/nixos/programs/firefox/default.nix @@ -1,13 +1,11 @@ { - inputs, config, lib, - system, + pkgs, ... }: let cfg = config.py.programs.firefox; - spkgs = inputs.stable.legacyPackages.${system}; in { options.py.programs.firefox = { @@ -17,7 +15,7 @@ in config = lib.mkIf cfg.enable { programs.firefox = { enable = true; - package = spkgs.firefox; + package = pkgs.firefox; wrapperConfig.cfg = { smartcardSupport = true; pipewireSupport = true; -- 2.51.2 From c6484062b9437a9097fbc32ed4a0cf85b79ea173 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 01:58:45 -0400 Subject: [PATCH 085/105] [systems.zaphod] Re-enable virtualbox --- systems/x86_64-linux/zaphod/misc.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/systems/x86_64-linux/zaphod/misc.nix b/systems/x86_64-linux/zaphod/misc.nix index e66c1304..0e8dfeb7 100644 --- a/systems/x86_64-linux/zaphod/misc.nix +++ b/systems/x86_64-linux/zaphod/misc.nix @@ -1,8 +1,6 @@ # Misc settings(documentation etc} +{ lib, ... }: { - lib, - ... -}: { documentation = { enable = true; doc.enable = false; @@ -25,13 +23,13 @@ # systemd.tmpfiles.rules = ["L+ /lib64 - - - - /run/current-system/sw/lib64"]; virtualisation.virtualbox = { - host.enable = false; + host.enable = true; host.enableExtensionPack = false; guest = { - enable = false; + enable = true; clipboard = true; seamless = false; - draganddrop = true; + dragAndDrop = true; }; }; # Enable Virt-manager @@ -39,7 +37,10 @@ programs.dconf.enable = true; # environment.systemPackages = with pkgs; [virt-manager]; - users.extraGroups.vboxusers.members = ["thehedgehog" "pyrox"]; + users.extraGroups.vboxusers.members = [ + "thehedgehog" + "pyrox" + ]; # users.extraGroups.libvirtd.members = ["thehedgehog" "pyrox"]; # xdg.portal.extraPortals = [ # pkgs.xdg-desktop-portal-gtk -- 2.51.2 From f889a1dc37ffe6168ab2bea2ea9aec355ef28634 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 02:01:04 -0400 Subject: [PATCH 086/105] [modules.nixos] Unset default package --- modules/nixos/default-config/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/nixos/default-config/default.nix b/modules/nixos/default-config/default.nix index 20883acc..c3078abd 100644 --- a/modules/nixos/default-config/default.nix +++ b/modules/nixos/default-config/default.nix @@ -1,4 +1,3 @@ -{ inputs, system, ... }: { imports = [ ./bootloader.nix @@ -14,7 +13,6 @@ ./users.nix ]; system.stateVersion = "24.11"; - nix.package = inputs.lix.packages.${system}.default; catppuccin.flavor = "mocha"; console.catppuccin.enable = true; } -- 2.51.2 From c87bb9e1e54d6f055ba3184f828dd677b61ce251 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 02:01:13 -0400 Subject: [PATCH 087/105] [meta] Flake update --- flake.lock | 370 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 253 insertions(+), 117 deletions(-) diff --git a/flake.lock b/flake.lock index 9a69b3bb..3166a9de 100644 --- a/flake.lock +++ b/flake.lock @@ -14,11 +14,11 @@ ] }, "locked": { - "lastModified": 1715290355, - "narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=", + "lastModified": 1716561646, + "narHash": "sha256-UIGtLO89RxKt7RF2iEgPikSdU53r6v/6WYB0RW3k89I=", "owner": "ryantm", "repo": "agenix", - "rev": "8d37c5bdeade12b6479c85acd133063ab53187a0", + "rev": "c2fc0762bbe8feb06a2e59a364fa81b3a57671c9", "type": "github" }, "original": { @@ -54,25 +54,17 @@ "attic": { "inputs": { "crane": "crane", - "flake-compat": [ - "flake-compat" - ], - "flake-utils": [ - "flake-utils" - ], - "nixpkgs": [ - "nixpkgs" - ], - "nixpkgs-stable": [ - "nixpkgs" - ] + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1717279440, - "narHash": "sha256-kH04ReTjxOpQumgWnqy40vvQLSnLGxWP6RF3nq5Esrk=", + "lastModified": 1707922053, + "narHash": "sha256-wSZjK+rOXn+UQiP1NbdNn5/UW6UcBxjvlqr2wh++MbM=", "owner": "zhaofengli", "repo": "attic", - "rev": "717cc95983cdc357bc347d70be20ced21f935843", + "rev": "6eabc3f02fae3683bffab483e614bebfcd476b21", "type": "github" }, "original": { @@ -109,11 +101,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1716168159, - "narHash": "sha256-eYGbXW/0+R6TG8zdt4MGxYbX8XrRvWsmkCyz6cJz/dw=", + "lastModified": 1717749509, + "narHash": "sha256-rzss2EuyT/RFX/5LUVBDhIivIlhBd7Y5JgUdumzKP0A=", "owner": "Mic92", "repo": "buildbot-nix", - "rev": "051f97f9f9a64ed6749aef1977cee369fef68652", + "rev": "b0526ceab2ec89bed5e194a206391a7d85a833e7", "type": "github" }, "original": { @@ -139,11 +131,11 @@ ] }, "locked": { - "lastModified": 1715719041, - "narHash": "sha256-Zi/NDGvZULPVzRV/bF6fLK/h24XKRfxiUYtfFRM0Bks=", + "lastModified": 1717708867, + "narHash": "sha256-3QlCdDPspP4IQ8tj61Q+N79JMLquwcNFYxmZL1w9Aqk=", "owner": "famedly", "repo": "conduit", - "rev": "9b8ec21e6e580e880cd824550fc47cc762c70345", + "rev": "a36ccff06ad0b82402d6ae322242e9f68ff895b9", "type": "gitlab" }, "original": { @@ -198,11 +190,11 @@ }, "ctp": { "locked": { - "lastModified": 1716337435, - "narHash": "sha256-eZqH1vLI9eKL/N5toXxOrQO80G0y4pWZrYCp472YBVQ=", + "lastModified": 1717565621, + "narHash": "sha256-uU6GeSbzopVcPga+Fy5n3tKfzUhuw4FVMv7h61/13XY=", "owner": "catppuccin", "repo": "nix", - "rev": "fea5242c0eacc5efa81be0e36206a62e889dbd82", + "rev": "0cdfa29b902976fc2941468d326325d24e148437", "type": "github" }, "original": { @@ -301,6 +293,22 @@ } }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -315,7 +323,7 @@ "type": "github" } }, - "flake-compat_2": { + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -331,7 +339,7 @@ "type": "github" } }, - "flake-compat_3": { + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1650374568, @@ -354,11 +362,11 @@ ] }, "locked": { - "lastModified": 1715865404, - "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -388,6 +396,28 @@ "type": "indirect" } }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "wayland", + "nix-eval-jobs", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-root": { "locked": { "lastModified": 1713493429, @@ -404,17 +434,12 @@ } }, "flake-utils": { - "inputs": { - "systems": [ - "systems" - ] - }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -425,7 +450,7 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_2" + "flake-utils": "flake-utils_3" }, "locked": { "lastModified": 1715533576, @@ -443,6 +468,26 @@ } }, "flake-utils_2": { + "inputs": { + "systems": [ + "systems" + ] + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { "inputs": { "systems": "systems" }, @@ -460,6 +505,24 @@ "type": "github" } }, + "flake-utils_4": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flakey-profile": { "locked": { "lastModified": 1712898590, @@ -477,7 +540,7 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "gitignore": "gitignore", "nixpkgs": [ "nvim", @@ -489,11 +552,11 @@ ] }, "locked": { - "lastModified": 1716213921, - "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", "type": "github" }, "original": { @@ -556,11 +619,11 @@ ] }, "locked": { - "lastModified": 1715211201, - "narHash": "sha256-WsoNDwmY3L1rN1/xw6P7NBjIqr+PJi8hrkpv82BDZe8=", + "lastModified": 1717682029, + "narHash": "sha256-BkEKMDY4G3Futom0UkfFGvfDxSs/F/MOTJC5/K7QrUQ=", "owner": "tailscale", "repo": "golink", - "rev": "55a3c6e2fe19671ca82f92cc85882f530440608d", + "rev": "2ca2d9dd4878d167a0774e3445bb873c65da8d6a", "type": "github" }, "original": { @@ -571,11 +634,11 @@ }, "hardware": { "locked": { - "lastModified": 1716173274, - "narHash": "sha256-FC21Bn4m6ctajMjiUof30awPBH/7WjD0M5yqrWepZbY=", + "lastModified": 1717574423, + "narHash": "sha256-cz3P5MZffAHwL2IQaNzsqUBsJS+u0J/AAwArHMAcCa0=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d9e0b26202fd500cf3e79f73653cce7f7d541191", + "rev": "d6c6cf6f5fead4057d8fb2d5f30aa8ac1727f177", "type": "github" }, "original": { @@ -613,11 +676,11 @@ ] }, "locked": { - "lastModified": 1715930644, - "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", + "lastModified": 1717525419, + "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", "owner": "nix-community", "repo": "home-manager", - "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", + "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", "type": "github" }, "original": { @@ -648,12 +711,8 @@ }, "lib-aggregate": { "inputs": { - "flake-utils": [ - "flake-utils" - ], - "nixpkgs-lib": [ - "nixpkgs-lib" - ] + "flake-utils": "flake-utils_4", + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { "lastModified": 1717330178, @@ -742,11 +801,11 @@ ] }, "locked": { - "lastModified": 1714720456, - "narHash": "sha256-e0WFe1BHqX23ADpGBc4ZRu38Mg+GICCZCqyS6EWCbHc=", + "lastModified": 1717515088, + "narHash": "sha256-nWOLpPA7+k7V1OjXTuxdsVd5jeeI0b13Di57wvnqkic=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "41059fc548088e49e3ddb3a2b4faeb5de018e60f", + "rev": "0d51a32e4799d081f260eb4db37145f5f4ee7456", "type": "gitlab" }, "original": { @@ -820,11 +879,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1716642936, - "narHash": "sha256-l53vGzYIy6tI1rYBlbxW502sDgpmZ4i/uTdWWtPKPtM=", + "lastModified": 1717789397, + "narHash": "sha256-dgpdjyU8t45bJNg8bZ3FeHo3Wx5FQs9+01qMmxzzBgk=", "owner": "neovim", "repo": "neovim", - "rev": "52389e724366ebb2fb58f08c657f580900dd09ee", + "rev": "da6f68ee6966ebf434eee840b22a4f45e61d77dd", "type": "github" }, "original": { @@ -840,11 +899,11 @@ ] }, "locked": { - "lastModified": 1714905986, - "narHash": "sha256-Vj7iFkLrd7MDeeMVVol5uHTcaLwDq4a3vNx+6Sy1FLU=", + "lastModified": 1717227663, + "narHash": "sha256-f6wh1HMkW7Ks9PKOsS95odyCjZOMuiK6B9NJTRsMApg=", "owner": "viperML", "repo": "nh", - "rev": "127a23c82aa41091e97466092d2547c08c2a9a9d", + "rev": "0d76479fcdec0243ea560d1e2fde854337787e3a", "type": "github" }, "original": { @@ -855,13 +914,9 @@ }, "nix-eval-jobs": { "inputs": { - "flake-parts": [ - "flake-parts" - ], + "flake-parts": "flake-parts_3", "nix-github-actions": "nix-github-actions", - "nixpkgs": [ - "nixpkgs" - ], + "nixpkgs": "nixpkgs_3", "treefmt-nix": "treefmt-nix_2" }, "locked": { @@ -925,11 +980,11 @@ ] }, "locked": { - "lastModified": 1715446403, - "narHash": "sha256-Cw6Q9rHcLjPKzab5O4G7cetFAaTZCex2VLvYIhJCbpg=", + "lastModified": 1716412349, + "narHash": "sha256-zvG3+V5jhZNMG2yTt1u3DnpHCK511aMeWwB9l+m6D90=", "owner": "nix-community", "repo": "nix-index", - "rev": "195fb3525038e40836b8d286371365f5e7857c0c", + "rev": "987b3cc16118f598a667de6c59f6143362b9505b", "type": "github" }, "original": { @@ -945,11 +1000,11 @@ ] }, "locked": { - "lastModified": 1716170277, - "narHash": "sha256-fCAiox/TuzWGVaAz16PxrR4Jtf9lN5dwWL2W74DS0yI=", + "lastModified": 1717744769, + "narHash": "sha256-1usk5faO+KRn/03xKW3G3ex9/wHeLfwKTa7x8QNcygc=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "e0638db3db43b582512a7de8c0f8363a162842b9", + "rev": "4ac3639cebb6286f1a68d015b80e9e0c6c869ce6", "type": "github" }, "original": { @@ -969,11 +1024,11 @@ ] }, "locked": { - "lastModified": 1716179952, - "narHash": "sha256-YYAkj/wBEMO75nnJbcB4cjSfGzlkmaRao1WeULDIdGc=", + "lastModified": 1717293270, + "narHash": "sha256-twDibXDWwmySk6C/hFUpeBewB5heSyCDDHWOAeRSp40=", "owner": "nix-community", "repo": "nixd", - "rev": "ff3eb7117ea030d8d466d364513394cf47b58715", + "rev": "be5ad5ec113595e2900e6391a08cf0e4784a9cfe", "type": "github" }, "original": { @@ -1007,15 +1062,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1716358718, - "narHash": "sha256-NQbegJb2ZZnAqp2EJhWwTf6DrZXSpA6xZCEq+RGV1r0=", - "owner": "nixos", + "lastModified": 1702539185, + "narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "3f316d2a50699a78afe5e77ca486ad553169061e", + "rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" @@ -1023,11 +1078,26 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1716079763, - "narHash": "sha256-DGRfb7fO7c3XDS3twmuaV5NAGPPdU3W7Q35fjIZc8iY=", + "lastModified": 1717289404, + "narHash": "sha256-4q6ZO3BqHgdd3Aacb/xiQXB4g9TQKpQg/praTpD9vbI=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "0df131b5ee4d928a4b664b6d0cd99cf134d6ab6b", + "rev": "e090cb30ae82f4b4461aafdb808847c6c97b08c2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1717289404, + "narHash": "sha256-4q6ZO3BqHgdd3Aacb/xiQXB4g9TQKpQg/praTpD9vbI=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "e090cb30ae82f4b4461aafdb808847c6c97b08c2", "type": "github" }, "original": { @@ -1052,13 +1122,61 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1702780907, + "narHash": "sha256-blbrBBXjjZt6OKTcYX1jpe9SRof2P9ZYWPzq22tzXAA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1e2e384c5b7c50dbf8e9c441a9e58d85f408b01f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1717681334, + "narHash": "sha256-HlvsMH8BNgdmQCwbBDmWp5/DfkEQYhXZHagJQCgbJU0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "31f40991012489e858517ec20102f033e4653afb", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1715037484, + "narHash": "sha256-OUt8xQFmBU96Hmm4T9tOWTu4oCswCzoVl+pxSq/kiFc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ad7efee13e0d216bf29992311536fce1d3eefbef", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "locked": { - "lastModified": 1716406862, - "narHash": "sha256-bTjSaps3xYW1Vkqq1s8Uu8rjMublBhHXM62I5wNbXAc=", + "lastModified": 1717821758, + "narHash": "sha256-9iQreGkOPNBSMloULfv45dzAuaihK9ESR26bRs//tW0=", "owner": "nix-community", "repo": "nur", - "rev": "8357d594efaf5a65897e31c66f82661e2be3533a", + "rev": "f4f3dcd9f8be9eee489df9ec268e395cbbd215f3", "type": "github" }, "original": { @@ -1083,11 +1201,11 @@ ] }, "locked": { - "lastModified": 1716827514, - "narHash": "sha256-5qS9Jn3FaEFMGGhS/1mLOUifMFDLPcLczjcdaN7xgyE=", + "lastModified": 1717806683, + "narHash": "sha256-11GHW2BLRQVupjjSGw+oiAVhODUrHdfyg2ZGWft1Hxg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7849e018a09688cd71bde887113954b3ce08739c", + "rev": "645fb803eb27b6eebb4ccacaebc350b328046221", "type": "github" }, "original": { @@ -1099,22 +1217,25 @@ "pre-commit-hooks": { "inputs": { "flake-compat": [ + "prismlauncher", "flake-compat" ], "gitignore": "gitignore_2", "nixpkgs": [ + "prismlauncher", "nixpkgs" ], "nixpkgs-stable": [ + "prismlauncher", "nixpkgs" ] }, "locked": { - "lastModified": 1717664902, - "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "lastModified": 1716213921, + "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", "type": "github" }, "original": { @@ -1138,11 +1259,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1716218305, - "narHash": "sha256-xGgcuNZ5XSOWJNIgIHS7Y5r5l/hRr6rQL9KKTRFed2Q=", + "lastModified": 1717787840, + "narHash": "sha256-qGHSbzo7F3aZv7x9g6GooAzO+hqOCFUMdCVCn2sudbY=", "owner": "PrismLauncher", "repo": "PrismLauncher", - "rev": "0ecdceccd2ea7432ae6810a7e41afe848ccc452f", + "rev": "3ef5cd20f4fa8456d581ab6c00664cf7288014fc", "type": "github" }, "original": { @@ -1159,9 +1280,9 @@ "conduit": "conduit", "ctp": "ctp", "dns": "dns", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "golink": "golink", "hardware": "hardware", "home-manager": "home-manager", @@ -1177,7 +1298,7 @@ "nix-index-database": "nix-index-database", "nixd": "nixd", "nixos-generators": "nixos-generators", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-lib": "nixpkgs-lib", "nixpkgs-nvim": "nixpkgs-nvim", "nur": "nur", @@ -1225,7 +1346,7 @@ }, "snowfall": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "flake-utils-plus": "flake-utils-plus", "nixpkgs": [ "nixpkgs" @@ -1247,11 +1368,11 @@ }, "stable": { "locked": { - "lastModified": 1717144377, - "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", + "lastModified": 1717696253, + "narHash": "sha256-1+ua0ggXlYYPLTmMl3YeYYsBXDSCqT+Gw3u6l4gvMhA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "805a384895c696f802a9bf5bf4720f37385df547", + "rev": "9b5328b7f761a7bbdc0e332ac4cf076a3eedb89b", "type": "github" }, "original": { @@ -1291,6 +1412,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -1299,11 +1435,11 @@ ] }, "locked": { - "lastModified": 1715940852, - "narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=", + "lastModified": 1717278143, + "narHash": "sha256-u10aDdYrpiGOLoxzY/mJ9llST9yO8Q7K/UlROoNxzDw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "2fba33a182602b9d49f0b2440513e5ee091d838b", + "rev": "3eb96ca1ae9edf792a8e0963cc92fddfa5a87706", "type": "github" }, "original": { @@ -1346,11 +1482,11 @@ ] }, "locked": { - "lastModified": 1716402128, - "narHash": "sha256-0GiKUz7JImcx+TG082iSep1Ap/sFJ36IPzSYVSQDBhA=", + "lastModified": 1717784639, + "narHash": "sha256-AfyQclkLlsyGIzP0gLzvFtBDxdO3a/QtJxzRr5WB5m0=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "8b85dc01079bc537183cf9bcf4c17eb714121643", + "rev": "3dac7060bfd7896e31d623a7bc88bd89d380c007", "type": "github" }, "original": { -- 2.51.2 From 2a5f41fa2a1f8b96317073b2cb356af4927c57bb Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 02:01:26 -0400 Subject: [PATCH 088/105] [flake] Try some stuff --- flake.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index cd8e4440..d83e3e8f 100644 --- a/flake.nix +++ b/flake.nix @@ -207,15 +207,20 @@ self.overlays.pyronet-packages self.overlays.alejandra self.overlays.nix-index - # self.overlays.nixos-option inputs.my-pkgs.overlays.cinny inputs.golink.overlay - inputs.lix-module.overlays.default + # inputs.lix-module.overlays.default inputs.neovim.overlay inputs.nixd.overlays.default inputs.nur.overlay inputs.prismlauncher.overlays.default inputs.wayland.overlays.default + (import "${inputs.lix-module}/overlay.nix" { + inherit (inputs) lix; + versionSuffix = "pre${builtins.substring 0 8 inputs.lix.lastModifiedDate}-${ + inputs.lix.shortRev or inputs.lix.dirtyShortRev + }"; + }) ]; # Home-manager configurations @@ -234,7 +239,6 @@ agenix.nixosModules.default buildbot-nix.nixosModules.buildbot-worker ctp.nixosModules.catppuccin - lix-module.nixosModules.default ]; hosts = { # Zaphod, my personal Framework 16 laptop -- 2.51.2 From ee8cfeb5d787be54b7efaaa8690db0054cf66e91 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 02:18:31 -0400 Subject: [PATCH 089/105] [flake] Re-set nix.package in system config, this time in a way that works. --- flake.nix | 9 ++------- modules/nixos/default-config/default.nix | 2 ++ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index d83e3e8f..686166ce 100644 --- a/flake.nix +++ b/flake.nix @@ -209,18 +209,12 @@ self.overlays.nix-index inputs.my-pkgs.overlays.cinny inputs.golink.overlay - # inputs.lix-module.overlays.default + inputs.lix-module.overlays.default inputs.neovim.overlay inputs.nixd.overlays.default inputs.nur.overlay inputs.prismlauncher.overlays.default inputs.wayland.overlays.default - (import "${inputs.lix-module}/overlay.nix" { - inherit (inputs) lix; - versionSuffix = "pre${builtins.substring 0 8 inputs.lix.lastModifiedDate}-${ - inputs.lix.shortRev or inputs.lix.dirtyShortRev - }"; - }) ]; # Home-manager configurations @@ -239,6 +233,7 @@ agenix.nixosModules.default buildbot-nix.nixosModules.buildbot-worker ctp.nixosModules.catppuccin + lix-module.nixosModules.default ]; hosts = { # Zaphod, my personal Framework 16 laptop diff --git a/modules/nixos/default-config/default.nix b/modules/nixos/default-config/default.nix index c3078abd..1be41b21 100644 --- a/modules/nixos/default-config/default.nix +++ b/modules/nixos/default-config/default.nix @@ -1,3 +1,4 @@ +{ pkgs, ... }: { imports = [ ./bootloader.nix @@ -13,6 +14,7 @@ ./users.nix ]; system.stateVersion = "24.11"; + nix.package = pkgs.nixVersions.stable; catppuccin.flavor = "mocha"; console.catppuccin.enable = true; } -- 2.51.2 From 7aa99df72d4a1a661fa3e6a81c9671a56f71b901 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 02:27:39 -0400 Subject: [PATCH 090/105] [homes] Move users to machine-specific configs --- homes/x86_64-linux/{pyrox => pyrox@zaphod}/default.nix | 0 .../{pyrox => pyrox@zaphod}/files/distrobox-config.nix | 0 homes/x86_64-linux/{pyrox => pyrox@zaphod}/files/pamKeys.nix | 0 homes/x86_64-linux/{pyrox => pyrox@zaphod}/services/kanshi.nix | 0 .../x86_64-linux/{thehedgehog => thehedgehog@zaphod}/default.nix | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename homes/x86_64-linux/{pyrox => pyrox@zaphod}/default.nix (100%) rename homes/x86_64-linux/{pyrox => pyrox@zaphod}/files/distrobox-config.nix (100%) rename homes/x86_64-linux/{pyrox => pyrox@zaphod}/files/pamKeys.nix (100%) rename homes/x86_64-linux/{pyrox => pyrox@zaphod}/services/kanshi.nix (100%) rename homes/x86_64-linux/{thehedgehog => thehedgehog@zaphod}/default.nix (100%) diff --git a/homes/x86_64-linux/pyrox/default.nix b/homes/x86_64-linux/pyrox@zaphod/default.nix similarity index 100% rename from homes/x86_64-linux/pyrox/default.nix rename to homes/x86_64-linux/pyrox@zaphod/default.nix diff --git a/homes/x86_64-linux/pyrox/files/distrobox-config.nix b/homes/x86_64-linux/pyrox@zaphod/files/distrobox-config.nix similarity index 100% rename from homes/x86_64-linux/pyrox/files/distrobox-config.nix rename to homes/x86_64-linux/pyrox@zaphod/files/distrobox-config.nix diff --git a/homes/x86_64-linux/pyrox/files/pamKeys.nix b/homes/x86_64-linux/pyrox@zaphod/files/pamKeys.nix similarity index 100% rename from homes/x86_64-linux/pyrox/files/pamKeys.nix rename to homes/x86_64-linux/pyrox@zaphod/files/pamKeys.nix diff --git a/homes/x86_64-linux/pyrox/services/kanshi.nix b/homes/x86_64-linux/pyrox@zaphod/services/kanshi.nix similarity index 100% rename from homes/x86_64-linux/pyrox/services/kanshi.nix rename to homes/x86_64-linux/pyrox@zaphod/services/kanshi.nix diff --git a/homes/x86_64-linux/thehedgehog/default.nix b/homes/x86_64-linux/thehedgehog@zaphod/default.nix similarity index 100% rename from homes/x86_64-linux/thehedgehog/default.nix rename to homes/x86_64-linux/thehedgehog@zaphod/default.nix -- 2.51.2 From 6def14a93a9a975617fbb5087e3bf870a2fe90bc Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 02:27:45 -0400 Subject: [PATCH 091/105] [homes] Add pyrox@marvin --- homes/x86_64-linux/pyrox@marvin/default.nix | 15 +++++++ .../pyrox@marvin/files/distrobox-config.nix | 7 ++++ .../pyrox@marvin/files/pamKeys.nix | 5 +++ .../pyrox@marvin/services/kanshi.nix | 40 +++++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 homes/x86_64-linux/pyrox@marvin/default.nix create mode 100644 homes/x86_64-linux/pyrox@marvin/files/distrobox-config.nix create mode 100644 homes/x86_64-linux/pyrox@marvin/files/pamKeys.nix create mode 100644 homes/x86_64-linux/pyrox@marvin/services/kanshi.nix diff --git a/homes/x86_64-linux/pyrox@marvin/default.nix b/homes/x86_64-linux/pyrox@marvin/default.nix new file mode 100644 index 00000000..4413efbe --- /dev/null +++ b/homes/x86_64-linux/pyrox@marvin/default.nix @@ -0,0 +1,15 @@ +{ osConfig, ... }: +{ + imports = [ + ./services/kanshi.nix + ./files/pamKeys.nix + ./files/distrobox-config.nix + ]; + snowfallorg.user = { + enable = true; + }; + home.stateVersion = osConfig.system.stateVersion; + py = { + profiles.server.enable = true; + }; +} diff --git a/homes/x86_64-linux/pyrox@marvin/files/distrobox-config.nix b/homes/x86_64-linux/pyrox@marvin/files/distrobox-config.nix new file mode 100644 index 00000000..88169691 --- /dev/null +++ b/homes/x86_64-linux/pyrox@marvin/files/distrobox-config.nix @@ -0,0 +1,7 @@ +{ + xdg.configFile."distrobox/distrobox.conf" = { + text = '' + distrobox_sudo_program="doas" + ''; + }; +} diff --git a/homes/x86_64-linux/pyrox@marvin/files/pamKeys.nix b/homes/x86_64-linux/pyrox@marvin/files/pamKeys.nix new file mode 100644 index 00000000..d886c83c --- /dev/null +++ b/homes/x86_64-linux/pyrox@marvin/files/pamKeys.nix @@ -0,0 +1,5 @@ +{ + xdg.configFile."Yubico/u2f_keys".text = '' + thehedgehog:iC1dk7d+DYFX60wpkDlWdwNpkRLXmML7iDjxh4TRXe8OhsAb2pgKiY6tVLHeZIK3WOVA1DuWU8rWlHdma3eqJg==,NdBJTVCvOamU35ad3fJRv6A6YZQIYrojcVk9a8WYMVvTtKO+xyIeBvunlidHv4Zb0rYrOvK6u7Gb4N5x6T6FIQ==,es256,+presence:juWx2IphhNuHZHiv8nG3i2WWTyR5A+CWp5iHz2AmE7aj3b3rgj85Gl1PMpmZlvlwDgbCP+dlcP5PPzTFloB3Ow==,FEXBkP0PzZSURoIbLuGiRRHFIcSiqEz/ieNPRqRY/hqLJ4AsvGwJ1xdIX7F8qAQuMSp8m7usuBLS4u+4FGg3Ng==,es256,+presence + ''; +} diff --git a/homes/x86_64-linux/pyrox@marvin/services/kanshi.nix b/homes/x86_64-linux/pyrox@marvin/services/kanshi.nix new file mode 100644 index 00000000..a2317566 --- /dev/null +++ b/homes/x86_64-linux/pyrox@marvin/services/kanshi.nix @@ -0,0 +1,40 @@ +{ + services.kanshi = { + enable = true; + settings = [ + { + profile = { + name = "default"; + outputs = [ + { + criteria = "eDP-1"; + status = "enable"; + scale = 1.2; + position = "0,0"; + } + ]; + }; + } + { + profile = { + name = "home"; + outputs = [ + { + criteria = "DP-4"; + status = "enable"; + scale = 1.0; + position = "0,0"; + } + { + criteria = "eDP-1"; + # status = "enable"; + status = "disable"; + # scale = 1.0; + # position = "1920,0"; + } + ]; + }; + } + ]; + }; +} -- 2.51.2 From d69ca5d01441aa0b61bbdb78e8ec0a51f7b41ddb Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 02:28:08 -0400 Subject: [PATCH 092/105] [modules.nixos] Fix forgejo-runner service --- .../nixos/services/forgejo-runner/default.nix | 4 ++-- systems/x86_64-linux/marvin/services/git.nix | 24 +++++++++++-------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/modules/nixos/services/forgejo-runner/default.nix b/modules/nixos/services/forgejo-runner/default.nix index 3ce92957..ea95c5e6 100644 --- a/modules/nixos/services/forgejo-runner/default.nix +++ b/modules/nixos/services/forgejo-runner/default.nix @@ -37,10 +37,10 @@ let }; }; }; - cfg = config.pyrox.services.forgejo-runner; + cfg = config.py.services.forgejo-runner; in { - options.pyrox.services.forgejo-runner = { + options.py.services.forgejo-runner = { enable = lib.mkEnableOption "Forgejo Actions Runner configuration"; tokenFile = lib.mkOption { type = lib.types.path; diff --git a/systems/x86_64-linux/marvin/services/git.nix b/systems/x86_64-linux/marvin/services/git.nix index ea05b9f4..470149d2 100644 --- a/systems/x86_64-linux/marvin/services/git.nix +++ b/systems/x86_64-linux/marvin/services/git.nix @@ -1,8 +1,5 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.services.forgejo.settings; age = config.age.secrets; stateDir = "/var/lib/forgejo"; @@ -15,8 +12,9 @@ }; d = lib.data.services.git; -in { - pyrox.services.forgejo-runner = { +in +{ + py.services.forgejo-runner = { enable = true; tokenFile = age.forgejo-default-runner-token.path; }; @@ -34,7 +32,9 @@ in { APP_NAME = "PyroNet Git"; RUN_MODE = "prod"; }; - attachment = {MAX_SIZE = 200;}; + attachment = { + MAX_SIZE = 200; + }; mailer = { ENABLED = true; FROM = "PyroNet Git "; @@ -43,7 +43,9 @@ in { SMTP_PORT = 465; USER = "git@pyrox.dev"; }; - picture = {ENABLE_FEDERATED_AVATAR = true;}; + picture = { + ENABLE_FEDERATED_AVATAR = true; + }; ui = { DEFAULT_SHOW_FULL_NAME = true; DEFAULT_THEME = "catppuccin-mocha-blue"; @@ -54,7 +56,9 @@ in { AUTHOR = "Pyrox"; DESCRIPTION = "PyroNet Git Services"; }; - metrics = {ENABLED = true;}; + metrics = { + ENABLED = true; + }; server = { DISABLE_SSH = true; DOMAIN = d.extUrl; -- 2.51.2 From eb4a7af21fb8950d1d928a27df7c6bcd4a74fc07 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 02:30:10 -0400 Subject: [PATCH 093/105] [systems.marvin] Add custom config options --- systems/x86_64-linux/marvin/default.nix | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/systems/x86_64-linux/marvin/default.nix b/systems/x86_64-linux/marvin/default.nix index 5f61a847..d771f623 100644 --- a/systems/x86_64-linux/marvin/default.nix +++ b/systems/x86_64-linux/marvin/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ imports = [ # Common Config ../default.nix @@ -40,8 +41,12 @@ ]; nix.settings.max-jobs = 12; networking = { - networkmanager = {enable = true;}; - wireless = {enable = false;}; + networkmanager = { + enable = true; + }; + wireless = { + enable = false; + }; }; fileSystems = { "/" = { @@ -56,14 +61,21 @@ "/var" = { fsType = "zfs"; device = "tank/var"; - options = ["zfsutil"]; + options = [ "zfsutil" ]; }; "/var/log/journal" = { fsType = "zfs"; device = "tank/var/log/journal"; - options = ["zfsutil"]; + options = [ "zfsutil" ]; }; }; - swapDevices = [{device = "/dev/disk/by-uuid/e69409bc-9cf0-4795-8620-33a021a4b729";}]; + swapDevices = [ { device = "/dev/disk/by-uuid/e69409bc-9cf0-4795-8620-33a021a4b729"; } ]; users.groups.misc.gid = 1000; + py = { + users.default.enable = true; + programs = { + fish.enable = true; + neovim.enable = true; + }; + }; } -- 2.51.2 From e11021129eb2dbcc07b363977558c7734376ad3a Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 02:38:08 -0400 Subject: [PATCH 094/105] [systems] Remove all imports that are from upper directories --- systems/x86_64-linux/marvin/default.nix | 9 --------- systems/x86_64-linux/prefect/default.nix | 9 ++------- systems/x86_64-linux/thought/default.nix | 9 ++------- 3 files changed, 4 insertions(+), 23 deletions(-) diff --git a/systems/x86_64-linux/marvin/default.nix b/systems/x86_64-linux/marvin/default.nix index d771f623..044e7732 100644 --- a/systems/x86_64-linux/marvin/default.nix +++ b/systems/x86_64-linux/marvin/default.nix @@ -1,20 +1,11 @@ { ... }: { imports = [ - # Common Config - ../default.nix - - # My user, also a default. - ../../users/thehedgehog/default.nix - # Machine-specific configurations. ./firewall.nix ./networking.nix ./hardware.nix - # Common service configs - ../modules/services/buildbot-worker.nix - # Running Services ./services/authentik.nix ./services/avahi.nix diff --git a/systems/x86_64-linux/prefect/default.nix b/systems/x86_64-linux/prefect/default.nix index 54f631fa..16b98ca9 100644 --- a/systems/x86_64-linux/prefect/default.nix +++ b/systems/x86_64-linux/prefect/default.nix @@ -1,11 +1,6 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ imports = [ - # Common Config - ../default.nix - - # My user, also a default. - ../../users/thehedgehog/default.nix - # Machine-specific configurations. ./firewall.nix ./networking.nix diff --git a/systems/x86_64-linux/thought/default.nix b/systems/x86_64-linux/thought/default.nix index 44b2eb48..4aa1924f 100644 --- a/systems/x86_64-linux/thought/default.nix +++ b/systems/x86_64-linux/thought/default.nix @@ -1,11 +1,6 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ imports = [ - # Common Config - ../default.nix - - # My user, also a default. - ../../users/thehedgehog/default.nix - # Machine-specific configurations. ./firewall.nix ./networking.nix -- 2.51.2 From 8b4c95b93ff43e80cb5a7e5acbbaa4efff6b14f3 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 02:38:47 -0400 Subject: [PATCH 095/105] [systems.marvin] Evaluation fixes --- systems/x86_64-linux/marvin/bootloader.nix | 36 +++++++++++++------ systems/x86_64-linux/marvin/default.nix | 1 + systems/x86_64-linux/marvin/services/git.nix | 2 +- .../marvin/services/iceshrimp.nix | 27 +++++++------- 4 files changed, 41 insertions(+), 25 deletions(-) diff --git a/systems/x86_64-linux/marvin/bootloader.nix b/systems/x86_64-linux/marvin/bootloader.nix index 42afaa43..0cd3b3a7 100644 --- a/systems/x86_64-linux/marvin/bootloader.nix +++ b/systems/x86_64-linux/marvin/bootloader.nix @@ -1,21 +1,35 @@ +{ pkgs, lib, ... }: { - pkgs, - lib, - ... -}: { boot = { - extraModulePackages = []; - kernelModules = ["kvm-amd"]; + extraModulePackages = [ ]; + kernelModules = [ "kvm-amd" ]; kernelPackages = pkgs.linuxPackages_6_1; - kernelParams = ["nohibernate"]; - supportedFilesystems = lib.mkForce ["btrfs" "vfat" "f2fs" "zfs"]; + kernelParams = [ "nohibernate" ]; + supportedFilesystems = lib.mkForce [ + "btrfs" + "vfat" + "f2fs" + "zfs" + ]; zfs.devNodes = "/dev/"; # Initrd config initrd = { - availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"]; - supportedFilesystems = ["btrfs" "vfat" "f2fs" "zfs"]; - kernelModules = []; + availableKernelModules = [ + "xhci_pci" + "ahci" + "nvme" + "usbhid" + "usb_storage" + "sd_mod" + ]; + supportedFilesystems = [ + "btrfs" + "vfat" + "f2fs" + "zfs" + ]; + kernelModules = [ ]; }; # Systemd-boot config diff --git a/systems/x86_64-linux/marvin/default.nix b/systems/x86_64-linux/marvin/default.nix index 044e7732..8f7b4520 100644 --- a/systems/x86_64-linux/marvin/default.nix +++ b/systems/x86_64-linux/marvin/default.nix @@ -2,6 +2,7 @@ { imports = [ # Machine-specific configurations. + ./bootloader.nix ./firewall.nix ./networking.nix ./hardware.nix diff --git a/systems/x86_64-linux/marvin/services/git.nix b/systems/x86_64-linux/marvin/services/git.nix index 470149d2..60ddfd2b 100644 --- a/systems/x86_64-linux/marvin/services/git.nix +++ b/systems/x86_64-linux/marvin/services/git.nix @@ -11,7 +11,7 @@ let group = "forgejo"; }; - d = lib.data.services.git; + d = lib.py.data.services.git; in { py.services.forgejo-runner = { diff --git a/systems/x86_64-linux/marvin/services/iceshrimp.nix b/systems/x86_64-linux/marvin/services/iceshrimp.nix index 3a84812c..ce89eb95 100644 --- a/systems/x86_64-linux/marvin/services/iceshrimp.nix +++ b/systems/x86_64-linux/marvin/services/iceshrimp.nix @@ -4,22 +4,23 @@ pkgs, lib, ... -}: let +}: +let - d = lib.data.services.iceshrimp; + d = lib.py.data.services.iceshrimp; - package = inputs.iceshrimp.packages.x86_64-linux.iceshrimp-pre.overrideAttrs - rec { - version = "2023.12.7-pyrox2"; - src = pkgs.fetchgit { - url = "https://iceshrimp.dev/pyrox/iceshrimp"; - sha256 = lib.fakeSha256; - rev = "v${version}"; - fetchLFS = true; - }; - patches = []; + package = inputs.iceshrimp.packages.x86_64-linux.iceshrimp-pre.overrideAttrs rec { + version = "2023.12.7-pyrox2"; + src = pkgs.fetchgit { + url = "https://iceshrimp.dev/pyrox/iceshrimp"; + sha256 = "sha256-eoaStlM5amVRDS5oRSgTyJ/Zjgy1fK7My5jmq2rnbzQ="; + rev = "v${version}"; + fetchLFS = true; }; -in { + patches = [ ]; + }; +in +{ services.iceshrimp = { inherit package; enable = true; -- 2.51.2 From 00086b3106454e6f13b27b14e68e7cd9625df5a4 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 03:09:54 -0400 Subject: [PATCH 096/105] [homes.pyrox] marvin: Remove unneeded stuff --- homes/x86_64-linux/pyrox@marvin/default.nix | 5 --- .../pyrox@marvin/files/distrobox-config.nix | 7 ---- .../pyrox@marvin/files/pamKeys.nix | 5 --- .../pyrox@marvin/services/kanshi.nix | 40 ------------------- 4 files changed, 57 deletions(-) delete mode 100644 homes/x86_64-linux/pyrox@marvin/files/distrobox-config.nix delete mode 100644 homes/x86_64-linux/pyrox@marvin/files/pamKeys.nix delete mode 100644 homes/x86_64-linux/pyrox@marvin/services/kanshi.nix diff --git a/homes/x86_64-linux/pyrox@marvin/default.nix b/homes/x86_64-linux/pyrox@marvin/default.nix index 4413efbe..dd1919dd 100644 --- a/homes/x86_64-linux/pyrox@marvin/default.nix +++ b/homes/x86_64-linux/pyrox@marvin/default.nix @@ -1,10 +1,5 @@ { osConfig, ... }: { - imports = [ - ./services/kanshi.nix - ./files/pamKeys.nix - ./files/distrobox-config.nix - ]; snowfallorg.user = { enable = true; }; diff --git a/homes/x86_64-linux/pyrox@marvin/files/distrobox-config.nix b/homes/x86_64-linux/pyrox@marvin/files/distrobox-config.nix deleted file mode 100644 index 88169691..00000000 --- a/homes/x86_64-linux/pyrox@marvin/files/distrobox-config.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - xdg.configFile."distrobox/distrobox.conf" = { - text = '' - distrobox_sudo_program="doas" - ''; - }; -} diff --git a/homes/x86_64-linux/pyrox@marvin/files/pamKeys.nix b/homes/x86_64-linux/pyrox@marvin/files/pamKeys.nix deleted file mode 100644 index d886c83c..00000000 --- a/homes/x86_64-linux/pyrox@marvin/files/pamKeys.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - xdg.configFile."Yubico/u2f_keys".text = '' - thehedgehog:iC1dk7d+DYFX60wpkDlWdwNpkRLXmML7iDjxh4TRXe8OhsAb2pgKiY6tVLHeZIK3WOVA1DuWU8rWlHdma3eqJg==,NdBJTVCvOamU35ad3fJRv6A6YZQIYrojcVk9a8WYMVvTtKO+xyIeBvunlidHv4Zb0rYrOvK6u7Gb4N5x6T6FIQ==,es256,+presence:juWx2IphhNuHZHiv8nG3i2WWTyR5A+CWp5iHz2AmE7aj3b3rgj85Gl1PMpmZlvlwDgbCP+dlcP5PPzTFloB3Ow==,FEXBkP0PzZSURoIbLuGiRRHFIcSiqEz/ieNPRqRY/hqLJ4AsvGwJ1xdIX7F8qAQuMSp8m7usuBLS4u+4FGg3Ng==,es256,+presence - ''; -} diff --git a/homes/x86_64-linux/pyrox@marvin/services/kanshi.nix b/homes/x86_64-linux/pyrox@marvin/services/kanshi.nix deleted file mode 100644 index a2317566..00000000 --- a/homes/x86_64-linux/pyrox@marvin/services/kanshi.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - services.kanshi = { - enable = true; - settings = [ - { - profile = { - name = "default"; - outputs = [ - { - criteria = "eDP-1"; - status = "enable"; - scale = 1.2; - position = "0,0"; - } - ]; - }; - } - { - profile = { - name = "home"; - outputs = [ - { - criteria = "DP-4"; - status = "enable"; - scale = 1.0; - position = "0,0"; - } - { - criteria = "eDP-1"; - # status = "enable"; - status = "disable"; - # scale = 1.0; - # position = "1920,0"; - } - ]; - }; - } - ]; - }; -} -- 2.51.2 From 781431a32fbfeb897b60c089d99a87d5bdada815 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 03:16:43 -0400 Subject: [PATCH 097/105] [homes.thehedgehog] Add marvin --- homes/x86_64-linux/thehedgehog@marvin/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 homes/x86_64-linux/thehedgehog@marvin/default.nix diff --git a/homes/x86_64-linux/thehedgehog@marvin/default.nix b/homes/x86_64-linux/thehedgehog@marvin/default.nix new file mode 100644 index 00000000..dd1919dd --- /dev/null +++ b/homes/x86_64-linux/thehedgehog@marvin/default.nix @@ -0,0 +1,10 @@ +{ osConfig, ... }: +{ + snowfallorg.user = { + enable = true; + }; + home.stateVersion = osConfig.system.stateVersion; + py = { + profiles.server.enable = true; + }; +} -- 2.51.2 From 7dbf0b6800b89534e5d1d1a59c6a95cf559dd350 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 03:17:02 -0400 Subject: [PATCH 098/105] [marvin.services] Update nextcloud to 29 --- .../marvin/services/nextcloud/default.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/systems/x86_64-linux/marvin/services/nextcloud/default.nix b/systems/x86_64-linux/marvin/services/nextcloud/default.nix index 815f2e40..5dd53ab7 100644 --- a/systems/x86_64-linux/marvin/services/nextcloud/default.nix +++ b/systems/x86_64-linux/marvin/services/nextcloud/default.nix @@ -1,14 +1,21 @@ -{config, pkgs, lib, ...}: let +{ + config, + pkgs, + lib, + ... +}: +let d = lib.py.data.services.nextcloud; i = lib.py.data.services.nextcloud-imaginary; -in { +in +{ imports = [ ./office.nix ./imaginary.nix ]; services.nextcloud = { enable = true; - package = pkgs.nextcloud28; + package = pkgs.nextcloud29; phpPackage = lib.mkForce pkgs.php82; appstoreEnable = true; caching.redis = true; -- 2.51.2 From 83bcf293bcc7642e5370fcaf23bba63223298574 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 12:25:34 -0400 Subject: [PATCH 099/105] [marvin.services] Update iceshrimp --- systems/x86_64-linux/marvin/services/iceshrimp.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systems/x86_64-linux/marvin/services/iceshrimp.nix b/systems/x86_64-linux/marvin/services/iceshrimp.nix index ce89eb95..7bc31160 100644 --- a/systems/x86_64-linux/marvin/services/iceshrimp.nix +++ b/systems/x86_64-linux/marvin/services/iceshrimp.nix @@ -10,10 +10,10 @@ let d = lib.py.data.services.iceshrimp; package = inputs.iceshrimp.packages.x86_64-linux.iceshrimp-pre.overrideAttrs rec { - version = "2023.12.7-pyrox2"; + version = "2023.12.7-pyrox3"; src = pkgs.fetchgit { url = "https://iceshrimp.dev/pyrox/iceshrimp"; - sha256 = "sha256-eoaStlM5amVRDS5oRSgTyJ/Zjgy1fK7My5jmq2rnbzQ="; + sha256 = "sha256-V98On2QFfLA6TazZZYsga0YdPIz+OzZQb290xx1nXvg="; rev = "v${version}"; fetchLFS = true; }; -- 2.51.2 From b5301ad3c018d6ddf52ebc9d352926e37da6c698 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 12:28:23 -0400 Subject: [PATCH 100/105] [systems.prefect] Fix eval errors --- systems/x86_64-linux/prefect/default.nix | 2 ++ systems/x86_64-linux/prefect/dn42/bgp.nix | 1 + systems/x86_64-linux/prefect/services/caddy.nix | 5 +++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/systems/x86_64-linux/prefect/default.nix b/systems/x86_64-linux/prefect/default.nix index 16b98ca9..0c9eaf7a 100644 --- a/systems/x86_64-linux/prefect/default.nix +++ b/systems/x86_64-linux/prefect/default.nix @@ -2,6 +2,7 @@ { imports = [ # Machine-specific configurations. + ./bootloader.nix ./firewall.nix ./networking.nix ./hardware.nix @@ -37,4 +38,5 @@ programs.fish.interactiveShellInit = '' ${pkgs.direnv}/bin/direnv hook fish | source ''; + py.users.default.enable = true; } diff --git a/systems/x86_64-linux/prefect/dn42/bgp.nix b/systems/x86_64-linux/prefect/dn42/bgp.nix index 9d9f79ef..b83043fa 100644 --- a/systems/x86_64-linux/prefect/dn42/bgp.nix +++ b/systems/x86_64-linux/prefect/dn42/bgp.nix @@ -1,3 +1,4 @@ +{ ... }: { sessions = [ # Lutoma diff --git a/systems/x86_64-linux/prefect/services/caddy.nix b/systems/x86_64-linux/prefect/services/caddy.nix index 24e47cc9..e7ebf6f2 100644 --- a/systems/x86_64-linux/prefect/services/caddy.nix +++ b/systems/x86_64-linux/prefect/services/caddy.nix @@ -1,7 +1,8 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ services.caddy = { enable = true; - package = pkgs.callPackage ../../../pkgs/caddyBin.nix {}; + package = pkgs.py.caddy; configFile = ./Caddyfile; adapter = "caddyfile"; }; -- 2.51.2 From 5aeee6afdd5480a3c8f2128c9f09f98058a8e0e7 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 12:58:51 -0400 Subject: [PATCH 101/105] [homes] Add prefect users --- homes/x86_64-linux/pyrox@prefect | 1 + homes/x86_64-linux/thehedgehog@prefect | 1 + 2 files changed, 2 insertions(+) create mode 120000 homes/x86_64-linux/pyrox@prefect create mode 120000 homes/x86_64-linux/thehedgehog@prefect diff --git a/homes/x86_64-linux/pyrox@prefect b/homes/x86_64-linux/pyrox@prefect new file mode 120000 index 00000000..2980772c --- /dev/null +++ b/homes/x86_64-linux/pyrox@prefect @@ -0,0 +1 @@ +pyrox@marvin \ No newline at end of file diff --git a/homes/x86_64-linux/thehedgehog@prefect b/homes/x86_64-linux/thehedgehog@prefect new file mode 120000 index 00000000..7c174aaf --- /dev/null +++ b/homes/x86_64-linux/thehedgehog@prefect @@ -0,0 +1 @@ +thehedgehog@marvin \ No newline at end of file -- 2.51.2 From 7e1bbc046c2350526f3295f618676a87bcde08ad Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 12:59:02 -0400 Subject: [PATCH 102/105] [systems] Fix thought configuration --- systems/x86_64-linux/thought/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/systems/x86_64-linux/thought/default.nix b/systems/x86_64-linux/thought/default.nix index 4aa1924f..a4d2f966 100644 --- a/systems/x86_64-linux/thought/default.nix +++ b/systems/x86_64-linux/thought/default.nix @@ -2,6 +2,7 @@ { imports = [ # Machine-specific configurations. + ./bootloader.nix ./firewall.nix ./networking.nix ./hardware.nix -- 2.51.2 From 9388568c6f8b8a8d48e8a2a83e16ed03ca0886e3 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 12:59:11 -0400 Subject: [PATCH 103/105] [lib.data] Add cache service --- lib/data/services.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/data/services.toml b/lib/data/services.toml index 3e76d9b2..b885639b 100644 --- a/lib/data/services.toml +++ b/lib/data/services.toml @@ -12,6 +12,11 @@ port = 6915 host = "marvin" extUrl = "buildbot.pyrox.dev" +[cache] +port = 6900 +host = "marvin" +extUrl = "cache.coelacanth-dragon.ts.net" + [deemix] port = 6907 host = "marvin" -- 2.51.2 From e423e7181f8c038ed5f9c0663dd890bf2557c399 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 13:03:42 -0400 Subject: [PATCH 104/105] [systems.prefect] Update --- homes/x86_64-linux/pyrox@prefect | 1 - homes/x86_64-linux/pyrox@prefect/default.nix | 10 ++++++++++ homes/x86_64-linux/thehedgehog@prefect | 1 - homes/x86_64-linux/thehedgehog@prefect/default.nix | 10 ++++++++++ systems/x86_64-linux/prefect/default.nix | 8 +++++++- 5 files changed, 27 insertions(+), 3 deletions(-) delete mode 120000 homes/x86_64-linux/pyrox@prefect create mode 100644 homes/x86_64-linux/pyrox@prefect/default.nix delete mode 120000 homes/x86_64-linux/thehedgehog@prefect create mode 100644 homes/x86_64-linux/thehedgehog@prefect/default.nix diff --git a/homes/x86_64-linux/pyrox@prefect b/homes/x86_64-linux/pyrox@prefect deleted file mode 120000 index 2980772c..00000000 --- a/homes/x86_64-linux/pyrox@prefect +++ /dev/null @@ -1 +0,0 @@ -pyrox@marvin \ No newline at end of file diff --git a/homes/x86_64-linux/pyrox@prefect/default.nix b/homes/x86_64-linux/pyrox@prefect/default.nix new file mode 100644 index 00000000..dd1919dd --- /dev/null +++ b/homes/x86_64-linux/pyrox@prefect/default.nix @@ -0,0 +1,10 @@ +{ osConfig, ... }: +{ + snowfallorg.user = { + enable = true; + }; + home.stateVersion = osConfig.system.stateVersion; + py = { + profiles.server.enable = true; + }; +} diff --git a/homes/x86_64-linux/thehedgehog@prefect b/homes/x86_64-linux/thehedgehog@prefect deleted file mode 120000 index 7c174aaf..00000000 --- a/homes/x86_64-linux/thehedgehog@prefect +++ /dev/null @@ -1 +0,0 @@ -thehedgehog@marvin \ No newline at end of file diff --git a/homes/x86_64-linux/thehedgehog@prefect/default.nix b/homes/x86_64-linux/thehedgehog@prefect/default.nix new file mode 100644 index 00000000..dd1919dd --- /dev/null +++ b/homes/x86_64-linux/thehedgehog@prefect/default.nix @@ -0,0 +1,10 @@ +{ osConfig, ... }: +{ + snowfallorg.user = { + enable = true; + }; + home.stateVersion = osConfig.system.stateVersion; + py = { + profiles.server.enable = true; + }; +} diff --git a/systems/x86_64-linux/prefect/default.nix b/systems/x86_64-linux/prefect/default.nix index 0c9eaf7a..2f50b107 100644 --- a/systems/x86_64-linux/prefect/default.nix +++ b/systems/x86_64-linux/prefect/default.nix @@ -38,5 +38,11 @@ programs.fish.interactiveShellInit = '' ${pkgs.direnv}/bin/direnv hook fish | source ''; - py.users.default.enable = true; + py = { + users.default.enable = true; + programs = { + fish.enable = true; + neovim.enable = true; + }; + }; } -- 2.51.2 From cb74c98f86a62e1657dbba56bd0e8494adc3c0f7 Mon Sep 17 00:00:00 2001 From: Pyrox Date: Sat, 8 Jun 2024 13:22:22 -0400 Subject: [PATCH 105/105] [prefect.bgp] Remove unused or inactive dn42 peers --- systems/x86_64-linux/prefect/dn42/bgp.nix | 39 ------- systems/x86_64-linux/prefect/dn42/tunnels.nix | 110 ++++++++++-------- 2 files changed, 62 insertions(+), 87 deletions(-) diff --git a/systems/x86_64-linux/prefect/dn42/bgp.nix b/systems/x86_64-linux/prefect/dn42/bgp.nix index b83043fa..f5df4cf1 100644 --- a/systems/x86_64-linux/prefect/dn42/bgp.nix +++ b/systems/x86_64-linux/prefect/dn42/bgp.nix @@ -1,25 +1,6 @@ { ... }: { sessions = [ - # Lutoma - # { - # multi = true; - # multihop = false; - # gracefulRestart = true; - # name = "lutoma"; - # neigh = "fe80::acab%wg42_lutoma"; - # as = "64719"; - # link = "3"; - # } - # { - # multi = true; - # multihop = false; - # gracefulRestart = true; - # name = "JK-Network"; - # neigh = "fe80::2717%wg42_jknet"; - # as = "4242422717"; - # link = "2"; - # } # Chrismoos { multi = true; @@ -40,16 +21,6 @@ as = "4242423914"; link = "3"; } - #Liki.link - { - multi = true; - multihop = false; - gracefulRestart = true; - name = "liki"; - neigh = "fe80::927%wg42_liki"; - as = "4242420927"; - link = "5"; - } # IEDON { multi = true; @@ -80,16 +51,6 @@ as = "4242421411"; link = "6"; } - # USMAN - { - multi = true; - multihop = false; - gracefulRestart = true; - name = "usman"; - neigh = "172.22.132.166"; - as = "4242421869"; - link = "5"; - } # Potat0 { multi = true; diff --git a/systems/x86_64-linux/prefect/dn42/tunnels.nix b/systems/x86_64-linux/prefect/dn42/tunnels.nix index 62504372..046e065f 100644 --- a/systems/x86_64-linux/prefect/dn42/tunnels.nix +++ b/systems/x86_64-linux/prefect/dn42/tunnels.nix @@ -1,72 +1,86 @@ -{ - tunnel, - ... -}: let +{ tunnel, ... }: +let # deadnix: skip defaultPubKey = "e6kp9sca4XIzncKa9GEQwyOnMjje299Xg9ZdgXWMwHg="; defaultPrivKeyFile = "/run/agenix/dn42-privkey"; defaultLocalIPv4 = "172.20.43.96"; -in { - wg42_lutoma = - tunnel 485 defaultPrivKeyFile "PVrvKh7MAkLfCdO2u1t6WqAsAMw1afeQ8OewdL/K2Cw=" - defaultLocalIPv4 "fe80::1" "us-nyc.dn42.lutoma.org:42518" "wg42_lutoma" - "172.22.119.10" "fe80::acab"; - - # wg42_jknet = tunnel 486 defaultPrivKeyFile "1LJ2PBEUOa7uwqnHS3j2EGVW+wKv/d1L6mbnA0tOjU0=" defaultLocalIPv4 defaultLocalIPv6 "use.vm.whojk.com:42518" "wg42_jknet" "172.22.66.95" "fe80::2717"; - +in +{ wg42_chris = - tunnel 487 defaultPrivKeyFile "itmJ4Z8V1aNN368P6kMzuQM+GdzWbBKZjJiXrgSeGlw=" - defaultLocalIPv4 "fe80::100" "us-qas01.dn42.tech9.io:52322" "wg42_chris" - "172.20.16.143" "fe80::1588"; + # Ports 485-486 available - wg42_kioubit = - tunnel 488 defaultPrivKeyFile "6Cylr9h1xFduAO+5nyXhFI1XJ0+Sw9jCpCDvcqErF1s=" - defaultLocalIPv4 "fe80::3" "us2.g-load.eu:22459" "wg42_kioubit" - "172.20.53.98" "fe80::ade0"; + tunnel 487 defaultPrivKeyFile "itmJ4Z8V1aNN368P6kMzuQM+GdzWbBKZjJiXrgSeGlw=" defaultLocalIPv4 + "fe80::100" + "us-qas01.dn42.tech9.io:52322" + "wg42_chris" + "172.20.16.143" + "fe80::1588"; - wg42_liki = - tunnel 489 defaultPrivKeyFile "VetpYNyAVk7S5V5d634xJFvNd0f/kRweFejfAYB1Z3k=" - defaultLocalIPv4 "fe80::4" "fm1.dn42.liki.link:42438" "wg42_liki" - "172.21.77.35" "fe80::927"; + wg42_kioubit = + tunnel 488 defaultPrivKeyFile "6Cylr9h1xFduAO+5nyXhFI1XJ0+Sw9jCpCDvcqErF1s=" defaultLocalIPv4 + "fe80::3" + "us2.g-load.eu:22459" + "wg42_kioubit" + "172.20.53.98" + "fe80::ade0"; - # Port 490 available + # Ports 489-490 available wg42_iedon = - tunnel 491 defaultPrivKeyFile "Sz0UhewjDk2yRKI0QL9rB+5daWpXFVlbbz9cLfVVLn4=" - defaultLocalIPv4 "fe80::6" "us-sjc.dn42.kuu.moe:35470" "wg42_iedon" - "172.23.91.117" "fe80::2189:e8"; + tunnel 491 defaultPrivKeyFile "Sz0UhewjDk2yRKI0QL9rB+5daWpXFVlbbz9cLfVVLn4=" defaultLocalIPv4 + "fe80::6" + "us-sjc.dn42.kuu.moe:35470" + "wg42_iedon" + "172.23.91.117" + "fe80::2189:e8"; wg42_sunnet = - tunnel 492 defaultPrivKeyFile "wAI2D+0GeBnFUqm3xZsfvVlfGQ5iDWI/BykEBbkc62c=" - defaultLocalIPv4 "fe80::abcd" "nyc1-us.dn42.6700.cc:22459" "wg42_sunnet" - "172.21.100.194" "fe80::3088:194"; + tunnel 492 defaultPrivKeyFile "wAI2D+0GeBnFUqm3xZsfvVlfGQ5iDWI/BykEBbkc62c=" defaultLocalIPv4 + "fe80::abcd" + "nyc1-us.dn42.6700.cc:22459" + "wg42_sunnet" + "172.21.100.194" + "fe80::3088:194"; wg42_catgirls = - tunnel 493 defaultPrivKeyFile "jo8eAfY8LeA4FAEJ4laYYMNkMd4z3oO/zN5DN0Mo+RQ=" - defaultLocalIPv4 "fe80::7" "karx.xyz:22459" "wg42_catgirls" "" "fe80::4242"; + tunnel 493 defaultPrivKeyFile "jo8eAfY8LeA4FAEJ4laYYMNkMd4z3oO/zN5DN0Mo+RQ=" defaultLocalIPv4 + "fe80::7" + "karx.xyz:22459" + "wg42_catgirls" + "" + "fe80::4242"; - wg42_usman = - tunnel 494 defaultPrivKeyFile "qwjXj/6R9ThUnqeOAYN+MxM6CbIgzjS8WFDdXuyEpHY=" - defaultLocalIPv4 "fe80::8" "fr-lil1.dn42.usman.network:51459" "wg42_usman" - "172.22.132.166" ""; + # Port 494 Available wg42_potato = - tunnel 495 defaultPrivKeyFile "LUwqKS6QrCPv510Pwt1eAIiHACYDsbMjrkrbGTJfviU=" - defaultLocalIPv4 "fe80::9" "us1.dn42.potat0.cc:22459" "wg42_potato" "" - "fe80::1816"; + tunnel 495 defaultPrivKeyFile "LUwqKS6QrCPv510Pwt1eAIiHACYDsbMjrkrbGTJfviU=" defaultLocalIPv4 + "fe80::9" + "us1.dn42.potat0.cc:22459" + "wg42_potato" + "" + "fe80::1816"; wg42_uffsalot = - tunnel 496 defaultPrivKeyFile "7V65FxvD9AQetyUr0qSiu+ik8samB4Atrw2ekvC0xQM=" - defaultLocalIPv4 "fe80::10" "dn42-de-fra4.brand-web.net:42459" - "wg42_uffsalot" "172.20.191.129" "fe80::780"; + tunnel 496 defaultPrivKeyFile "7V65FxvD9AQetyUr0qSiu+ik8samB4Atrw2ekvC0xQM=" defaultLocalIPv4 + "fe80::10" + "dn42-de-fra4.brand-web.net:42459" + "wg42_uffsalot" + "172.20.191.129" + "fe80::780"; wg42_bandura = - tunnel 497 defaultPrivKeyFile "xPW1/cWYDkk/IAss1GbdwVMW7fzKtyHA+qrfCriOB2k=" - defaultLocalIPv4 "fe80::11" "aurora.mk16.de:52459" "wg42_bandura" "" - "fe80::2926"; + tunnel 497 defaultPrivKeyFile "xPW1/cWYDkk/IAss1GbdwVMW7fzKtyHA+qrfCriOB2k=" defaultLocalIPv4 + "fe80::11" + "aurora.mk16.de:52459" + "wg42_bandura" + "" + "fe80::2926"; wg42_bluemedia = - tunnel 498 defaultPrivKeyFile "7HNg2+uMI2WfntN+WlMnlTDG6xra/Dusee82cuXWMBY=" - defaultLocalIPv4 "fe80::12" "de-fra01.dn42.bluemedia.dev:22459" - "wg42_bluemedia" "172.22.167.82" "fe80::42:3343:20:1"; + tunnel 498 defaultPrivKeyFile "7HNg2+uMI2WfntN+WlMnlTDG6xra/Dusee82cuXWMBY=" defaultLocalIPv4 + "fe80::12" + "de-fra01.dn42.bluemedia.dev:22459" + "wg42_bluemedia" + "172.22.167.82" + "fe80::42:3343:20:1"; }