diff --git a/configuration.nix b/configuration.nix index 5b71d32..7615250 100644 --- a/configuration.nix +++ b/configuration.nix @@ -18,7 +18,6 @@ ./system-modules/gpg.nix ./system-modules/hardware-configuration.nix ./system-modules/health_reminder.nix - ./system-modules/hsmw.nix ./system-modules/kanata.nix ./system-modules/terminal.nix ./system-modules/kodi.nix @@ -62,7 +61,6 @@ ]); environment.systemPackages = import ./system-modules/base-packages.nix pkgs; - systemd.extraConfig = "DefaultLimitNOFILE=2048"; system.stateVersion = hyper.pkgs-version; nix.settings.experimental-features = [ "nix-command" "flakes" ]; programs.bash.shellInit = '' diff --git a/flake-modules/colors.json b/flake-modules/colors.json index 642be90..34ca943 100644 --- a/flake-modules/colors.json +++ b/flake-modules/colors.json @@ -1,13 +1,13 @@ { "base": { - "foreground": "#eddbef", - "background": "#100711" + "foreground": "#feccd2", + "background": "#190003" }, "to_alter": { - "accent": "#ba71c0", - "secondary": "#3266ff", - "tertiary": "#4bb6e6", - "special": "#76c071", - "weird": "#c08571" + "accent": "#fd344d", + "secondary": "#ff32c6", + "tertiary": "#b935fc", + "special": "#33fde4", + "weird": "#d3fd33" } } \ No newline at end of file diff --git a/flake.lock b/flake.lock index 9d72a65..2f67feb 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ ] }, "locked": { - "lastModified": 1762356719, - "narHash": "sha256-qwd/xdoOya1m8FENle+4hWnydCtlXUWLAW/Auk6WL7s=", + "lastModified": 1764370710, + "narHash": "sha256-7iZklFmziy6Vn5ZFy9mvTSuFopp3kJNuPxL5QAvtmFQ=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "6d0b3567584691bf9d8fedb5d0093309e2f979c7", + "rev": "561ae7fbe1ca15dfd908262ec815bf21a13eef63", "type": "github" }, "original": { @@ -39,11 +39,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1763901903, - "narHash": "sha256-w7YsxTjldwhUBP5ypbcZvWyZgRQqp3NBfyk5BAfrFjQ=", + "lastModified": 1764708670, + "narHash": "sha256-Gdo9lD6JwXGMVFJ8ZHCENcxXg30SG72kwsHnxPDCscI=", "owner": "9001", "repo": "copyparty", - "rev": "fb9f0441c99833ab7bc035d76b9a89021270675a", + "rev": "29925dc22b1f6810768d0af25d9c35ee35d88aa7", "type": "github" }, "original": { @@ -70,11 +70,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "type": "github" }, "original": { @@ -220,16 +220,16 @@ ] }, "locked": { - "lastModified": 1758463745, - "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=", + "lastModified": 1764613336, + "narHash": "sha256-L979az28t/+SXvYw9qhOno5HLlDwkZOpz6LzCLnjmRM=", "owner": "nix-community", "repo": "home-manager", - "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", + "rev": "f3902b5d8767985680875ad86d028371100faeb3", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.05", + "ref": "release-25.11", "repo": "home-manager", "type": "github" } @@ -300,11 +300,11 @@ ] }, "locked": { - "lastModified": 1762462052, - "narHash": "sha256-6roLYzcDf4V38RUMSqycsOwAnqfodL6BmhRkUtwIgdA=", + "lastModified": 1763733840, + "narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "ffc999d980c7b3bca85d3ebd0a9fbadf984a8162", + "rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a", "type": "github" }, "original": { @@ -329,11 +329,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1763912895, - "narHash": "sha256-1mdM539nkqTWVHTHPCGHGrLu/UwsxeYWnrnHQaUh1qQ=", + "lastModified": 1764714403, + "narHash": "sha256-93TLkWcOvO8+YMS/Af7E+aDiWY1AAlkhH1I9oY6HpN4=", "ref": "refs/heads/main", - "rev": "2b0fd417d32278159d0ca1d23fb997588c37995b", - "revCount": 6643, + "rev": "2cadc8ababb56331c110b7584e09fe0f9352672d", + "revCount": 6666, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -377,11 +377,11 @@ ] }, "locked": { - "lastModified": 1762755186, - "narHash": "sha256-ZjjETUHtoEhVN7JI1Cbt3p/KcXpK8ZQaPHx7UkG1OgA=", + "lastModified": 1764616927, + "narHash": "sha256-wRT0MKkpPo11ijSX3KeMN+EQWnpSeUlRtyF3pFLtlRU=", "owner": "hyprwm", "repo": "hyprland-guiutils", - "rev": "66356e20a8ed348aa49c1b9ceace786e224225b3", + "rev": "25cedbfdc5b3ea391d8307c9a5bea315e5df3c52", "type": "github" }, "original": { @@ -431,11 +431,11 @@ ] }, "locked": { - "lastModified": 1763254292, - "narHash": "sha256-JNgz3Fz2KMzkT7aR72wsgu/xNeJB//LSmdilh8Z/Zao=", + "lastModified": 1764612430, + "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "deea98d5b61d066bdc7a68163edd2c4bd28d3a6b", + "rev": "0d00dc118981531aa731150b6ea551ef037acddd", "type": "github" }, "original": { @@ -483,11 +483,11 @@ ] }, "locked": { - "lastModified": 1762463729, - "narHash": "sha256-2fYkU/mdz8WKY3dkDPlE/j6hTxIwqultsx4gMMsMns0=", + "lastModified": 1764592794, + "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", "owner": "hyprwm", "repo": "hyprtoolkit", - "rev": "88483bdee5329ec985f0c8f834c519cd18cfe532", + "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", "type": "github" }, "original": { @@ -508,11 +508,11 @@ ] }, "locked": { - "lastModified": 1763323331, - "narHash": "sha256-+Z0OfCo1MS8/aIutSAW5aJR9zTae1wz9kcJYMgpwN6M=", + "lastModified": 1764637132, + "narHash": "sha256-vSyiKCzSY48kA3v39GFu6qgRfigjKCU/9k1KTK475gg=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "0c6411851cc779d551edc89b83966696201611aa", + "rev": "2f2413801beee37303913fc3c964bbe92252a963", "type": "github" }, "original": { @@ -533,11 +533,11 @@ ] }, "locked": { - "lastModified": 1755184602, - "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", + "lastModified": 1763640274, + "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", + "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", "type": "github" }, "original": { @@ -627,11 +627,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1763738061, - "narHash": "sha256-VpNRcInaj1MOya8NmcqhFmdO7KGO7SSZelJQmPl6HoQ=", + "lastModified": 1764591717, + "narHash": "sha256-T/HMA0Bb/O6UnlGQ0Xt+wGe1j8m7eyyQ5+vVcCJslsM=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "3bcc267c4e0efa023b98b9c5cfbe11b88ec2dc8f", + "rev": "84d1dab290feb4865d0cfcffc7aa0cf9bc65c3b7", "type": "github" }, "original": { @@ -690,11 +690,11 @@ }, "nixpkgs-latest": { "locked": { - "lastModified": 1763929585, - "narHash": "sha256-uxJ8vJoupgc3oJYOK3UV/kbi1f4mXFsh1BuuozhZpfw=", + "lastModified": 1764721920, + "narHash": "sha256-dWPqUq4DMCfPSuIn+bHk5vjurDzbFv8ZxYRFw7aqtIc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a5f13fe8d33e5dd3585980b288366665d35ed379", + "rev": "9980b44a48544ae01409aa4bfaf8b3d45752838a", "type": "github" }, "original": { @@ -722,11 +722,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1763678758, - "narHash": "sha256-+hBiJ+kG5IoffUOdlANKFflTT5nO3FrrR2CA3178Y5s=", + "lastModified": 1764517877, + "narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "117cc7f94e8072499b0a7aa4c52084fa4e11cc9b", + "rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c", "type": "github" }, "original": { @@ -753,11 +753,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1763283776, - "narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=", + "lastModified": 1764517877, + "narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a", + "rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c", "type": "github" }, "original": { @@ -785,11 +785,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1762977756, - "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", + "lastModified": 1764517877, + "narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", + "rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c", "type": "github" }, "original": { @@ -801,26 +801,26 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1763622513, - "narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=", + "lastModified": 1764522689, + "narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b", + "rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-25.05", + "ref": "nixos-25.11", "type": "indirect" } }, "nixpkgs_6": { "locked": { - "lastModified": 1762286042, - "narHash": "sha256-OD5HsZ+sN7VvNucbrjiCz7CHF5zf9gP51YVJvPwYIH8=", + "lastModified": 1763806073, + "narHash": "sha256-FHsEKDvfWpzdADWj99z7vBk4D716Ujdyveo5+A048aI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12c1f0253aa9a54fdf8ec8aecaafada64a111e24", + "rev": "878e468e02bfabeda08c79250f7ad583037f2227", "type": "github" }, "original": { @@ -894,11 +894,11 @@ ] }, "locked": { - "lastModified": 1763319842, - "narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=", + "lastModified": 1763988335, + "narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761", + "rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce", "type": "github" }, "original": { @@ -980,11 +980,11 @@ ] }, "locked": { - "lastModified": 1762396738, - "narHash": "sha256-BarSecuxtzp1boERdABLkkoxQTi6s/V33lJwUbWLrLY=", + "lastModified": 1763952169, + "narHash": "sha256-+PeDBD8P+NKauH+w7eO/QWCIp8Cx4mCfWnh9sJmy9CM=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "c63598992afd54d215d54f2b764adc0484c2b159", + "rev": "ab726555a9a72e6dc80649809147823a813fa95b", "type": "github" }, "original": { @@ -1016,11 +1016,11 @@ ] }, "locked": { - "lastModified": 1763870012, - "narHash": "sha256-AHxFfIu73SpNLAOZbu/AvpLhZ/Szhx6gRPj9ufZtaZA=", + "lastModified": 1764483358, + "narHash": "sha256-EyyvCzXoHrbL467YSsQBTWWg4sR96MH1sPpKoSOelB4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "4e7d74d92398b933cc0e0e25af5b0836efcfdde3", + "rev": "5aca6ff67264321d47856a2ed183729271107c9c", "type": "github" }, "original": { @@ -1107,11 +1107,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1763600401, - "narHash": "sha256-druDd9HC3UxZSzCY+qaFp9QDCGfzrhv+Zrytia6lJUE=", + "lastModified": 1764675207, + "narHash": "sha256-zK0IjphY2ILHOmx8R2bPeW9/3jkvsxPJZBqOEW7FRgU=", "owner": "sxyazi", "repo": "yazi", - "rev": "a08b345a02c6b4c65239a0522f67e77a0132e88b", + "rev": "c7739c5941ee93f6a3ffa55718fd98cec41da7cf", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 73b015e..e35149f 100644 --- a/flake.nix +++ b/flake.nix @@ -2,13 +2,13 @@ description = "Multisystem NixOS Flake of Lennart J. Kurzweg"; inputs = { - nixpkgs.url = "nixpkgs/nixos-25.05"; + nixpkgs.url = "nixpkgs/nixos-25.11"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; nixpkgs-latest.url = "github:nixos/nixpkgs?ref=master"; nixpkgs24.url = "github:NixOS/nixpkgs/nixos-24.05"; home-manager = { - url = "github:nix-community/home-manager/release-25.05"; + url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager24 ={ @@ -48,10 +48,10 @@ domain = "nx2.site"; home = "/home/${user}"; webroot = "/var/lib/hugo/nx2site/public"; - pkgs-version = "25.05"; + pkgs-version = "25.11"; }; - get-pkgs = let s = system; in { host, system?s, nixpkgs?inputs.nixpkgs, version?"25.05" }: import nixpkgs { + get-pkgs = let s = system; in { host, system?s, nixpkgs?inputs.nixpkgs, version?"25.11" }: import nixpkgs { inherit system config; overlays = [(final: prev: { unstable = import nixpkgs-unstable { inherit system config; }; diff --git a/home-modules/bash.nix b/home-modules/bash.nix index 3b29227..432c95e 100644 --- a/home-modules/bash.nix +++ b/home-modules/bash.nix @@ -22,7 +22,7 @@ } // pkgs.lib.mkIf (pkgs.version != "24.05") { shellInit = init; - } // pkgs.lib.mkIf (pkgs.version != "25.05") { + } // pkgs.lib.mkIf (pkgs.version != "25.11") { profileExtra = init; }; } diff --git a/home-modules/bitwarden.nix b/home-modules/bitwarden.nix index 31ee03f..b1fbf58 100644 --- a/home-modules/bitwarden.nix +++ b/home-modules/bitwarden.nix @@ -1,6 +1,6 @@ { pkgs, ... }@all: with all; { home.packages = with pkgs; [ - bitwarden + bitwarden-desktop ]; } diff --git a/home-modules/chatterino.nix b/home-modules/chatterino.nix index c2370e4..a1840fc 100644 --- a/home-modules/chatterino.nix +++ b/home-modules/chatterino.nix @@ -7,18 +7,19 @@ let # "Caedrel" # "EintrachtSpandau" # "GamesDoneQuick" - "Odoamne" + # "Odoamne" "iwdominate" - "imls" + # "imls" "gdolphn" "GRONKH" "handofblood" "HisWattson" - "Jankos" + # "Jankos" # "KuruHS" "LEC" "lol_nemesis" # "NASA" + "nattynattlol" "NoWay4u_Sir" # "OfficialMikeShinoda" "Rekkles" diff --git a/home-modules/gimp.nix b/home-modules/gimp.nix index d9eee52..169ff34 100644 --- a/home-modules/gimp.nix +++ b/home-modules/gimp.nix @@ -4,7 +4,7 @@ # (gimp-with-plugins.override { # plugins = with gimpPlugins; [ bimp ]; # }) - gimp + unstable.gimp ]; } diff --git a/home-modules/git.nix b/home-modules/git.nix index 7cd99ae..bcc890b 100644 --- a/home-modules/git.nix +++ b/home-modules/git.nix @@ -5,13 +5,27 @@ (writeShellScriptBin "gst" "awk -vOFS='' 'NR==FNR {all[i++] = $0; difffiles[$1] = $0; next;} ! ($2 in difffiles) {print; next;} {gsub($2, difffiles[$2]); print;} END {if (NR != FNR) {exit;} for (i in all) {print all[i];}}' <(git diff --color --stat=$(($(tput cols) - 3)) HEAD | sed '$d; s/^ //') <(git -c color.status=always status -sb)") ]; - programs.git = { - enable = true; - package = pkgs.gitFull; - userName = ''Lennart J. Kurzweg (Nx2)''; - userEmail = "git@${hyper.domain}"; + programs = { + git = { + enable = true; + package = pkgs.gitFull; + settings = { + user = { + Name = ''Lennart J. Kurzweg (Nx2)''; + Email = "git@${hyper.domain}"; + }; + credential = { + "https://git.da.dicos.de".username = lib.mkIf (hyper.host == "NxDCS") "lkurzweg"; + "https://git.da.dicos.de".password = lib.mkIf (hyper.host == "NxDCS") "Test"; + }; + url."ssh://git@git.da.dicos.de/".insteadOf = lib.mkIf (hyper.host == "NxDCS") "https://git.da.dicos.de/"; + url."ssh://git@github.com/".insteadOf = "https://github.com/"; + pull.rebase = false; # true + }; + }; delta = { enable = true; + enableGitIntegration = true; options = { line-numbers = true; side-by-side = false; @@ -19,36 +33,27 @@ whitespace-error-style = "22 reverse"; }; }; - extraConfig = { - credential = { - "https://git.da.dicos.de".username = lib.mkIf (hyper.host == "NxDCS") "lkurzweg"; - "https://git.da.dicos.de".password = lib.mkIf (hyper.host == "NxDCS") "Test"; - }; - url."ssh://git@git.da.dicos.de/".insteadOf = lib.mkIf (hyper.host == "NxDCS") "https://git.da.dicos.de/"; - url."ssh://git@github.com/".insteadOf = "https://github.com/"; - pull.rebase = false; # true - }; - }; - programs.lazygit = { - enable = true; - package = pkgs.lazygit; - settings = { - windowSize = "normal"; - gui.theme = with rice.color; { - lightTheme = false; - activeBorderColor = [ foreground "bold" ]; - inactiveBorderColor = [ border ]; - optionsTextColor = [ tertiary.base ]; - selectedLineBgColor = [ secondary.base ]; - selectedRangeByColor = [ weird.bright ]; - showRandomTip = true; - animateExplosion = true; - cherryPickedCommitFgColor = [ accent.base ]; # Foreground color of copied commit - cherryPickedCommitBgColor = [ secondary.dark ]; # Background color of copied commit - markedBaseCommitFgColor = [ accent.base ]; # Foreground color of marked base commit (for rebase) - markedBaseCommitBgColor = [ secondary.dark ]; # Background color of marked base commit (for rebase) - unstagedChangesColor = [ negative.base ]; # Color for file with unstaged changes - defaultFgColor = [ "default" ]; # Default text color + lazygit = { + enable = true; + package = pkgs.lazygit; + settings = { + windowSize = "normal"; + gui.theme = with rice.color; { + lightTheme = false; + activeBorderColor = [ foreground "bold" ]; + inactiveBorderColor = [ border ]; + optionsTextColor = [ tertiary.base ]; + selectedLineBgColor = [ secondary.base ]; + selectedRangeByColor = [ weird.bright ]; + showRandomTip = true; + animateExplosion = true; + cherryPickedCommitFgColor = [ accent.base ]; # Foreground color of copied commit + cherryPickedCommitBgColor = [ secondary.dark ]; # Background color of copied commit + markedBaseCommitFgColor = [ accent.base ]; # Foreground color of marked base commit (for rebase) + markedBaseCommitBgColor = [ secondary.dark ]; # Background color of marked base commit (for rebase) + unstagedChangesColor = [ negative.base ]; # Color for file with unstaged changes + defaultFgColor = [ "default" ]; # Default text color + }; }; }; }; diff --git a/home-modules/helix.nix b/home-modules/helix.nix index 6287875..e8b5152 100644 --- a/home-modules/helix.nix +++ b/home-modules/helix.nix @@ -307,7 +307,7 @@ "constructor" = weird.base; "debug" = yellow.base; "diagnostic.modifiers" = [ "underline" ]; - "diff.delta" = blue.bright; + "diff.delta" = subtle.bright; "diff.minus" = negative.bright; "diff.plus" = positive.bright; "error" = red.base; @@ -410,7 +410,7 @@ bg = black.bright; }; "ui.statusline" = { - fg = blue.bright; + fg = accent.bright; bg = black.base; }; "ui.statusline.inactive" = { diff --git a/home-modules/mpv.nix b/home-modules/mpv.nix index 9e1b7e8..d72a6dd 100644 --- a/home-modules/mpv.nix +++ b/home-modules/mpv.nix @@ -32,6 +32,7 @@ thumbfast # thumbnails on timeline hover # uosc # custom ui sponsorblock + # visualizer ]; bindings = { "O" = ''no-osd cycle-values glsl-shaders "~~/shaders/invert.glsl" ""; show-text "Invert Shader"''; diff --git a/home-modules/opencode.nix b/home-modules/opencode.nix index eb4f557..cb43e0e 100644 --- a/home-modules/opencode.nix +++ b/home-modules/opencode.nix @@ -1,29 +1,60 @@ { pkgs, ... }@all: with all; { - home = { - packages = with pkgs; [ - unstable.opencode - ]; - # file.".config/opencode/opencode.json".text = let - # model = "qwen2.5-coder:7b"; - # in builtins.toJSON { - # "$schema" = "https://opencode.ai/config.json"; - # model = "ollama/${model}"; - # theme = "matrix"; - # provider = { - # ollama = { - # name = "Ollama (local)"; - # npm = "@ai-sdk/openai-compatible"; - # options = { - # baseURL = "http://localhost:11434/v1"; - # }; - # models = { - # "${model}" = { - # tools = true; - # }; - # }; - # }; - # }; - # }; - }; + programs.opencode = { + enable = true; + package = pkgs.opencode; + themes.theme = with rice.color; let + dl = color: { dark = color; light = color; }; + in { + accent = dl accent.base; + background = dl background; + backgroundElement = dl subtle.dark; + backgroundPanel = dl subtle.darker; + border = dl subtle.base; + borderActive = dl border; + borderSubtle = dl subtle.dark; + diffAdded = dl positive.base; + diffAddedBg = dl positive.darker; + diffAddedLineNumberBg = dl positive.dark; + diffContext = dl foreground; + diffContextBg = dl subtle.dark; + diffHighlightAdded = dl positive.bright; + diffHighlightRemoved = dl negative.bright; + diffHunkHeader = dl foreground; + diffLineNumber = dl subtle.base; + diffRemoved = dl negative.base; + diffRemovedBg = dl negative.darker; + diffRemovedLineNumberBg = dl negative.dark; + error = dl negative.dark; + info = dl special.base; + markdownBlockQuote = dl accent.base; + markdownCode = dl secondary.base; + markdownCodeBlock = dl secondary.base; + markdownEmph = dl accent.base; + markdownHeading = dl accent.base; + markdownHorizontalRule = dl border; + markdownImage = dl accent.base; + markdownImageText = dl accent.bright; + markdownLink = dl accent.base; + markdownLinkText = dl accent.bright; + markdownListEnumeration = dl foreground; + markdownListItem = dl foreground; + markdownStrong = dl accent.base; + markdownText = dl foreground; + primary = dl accent.base; + secondary = dl secondary.base; + success = dl positive.base; + syntaxComment = dl subtle.base; + syntaxFunction = dl accent.base; + syntaxKeyword = dl special.base; + syntaxNumber = dl tertiary.base; + syntaxOperator = dl accent.base; + syntaxPunctuation = dl foreground; + syntaxString = dl accent.base; + syntaxType = dl tertiary.base; + syntaxVariable = dl accent.base; + text = dl foreground; + textMuted = dl subtle.bright; + warning = dl weird.base; + }; + }; } - diff --git a/home-modules/pkgs-list/desktop.nix b/home-modules/pkgs-list/desktop.nix index f547585..e07ae95 100644 --- a/home-modules/pkgs-list/desktop.nix +++ b/home-modules/pkgs-list/desktop.nix @@ -14,5 +14,6 @@ wl-clipboard xclip wlr-randr + cava ]; } diff --git a/home-modules/pkgs-list/programs.nix b/home-modules/pkgs-list/programs.nix index e08b467..324109f 100644 --- a/home-modules/pkgs-list/programs.nix +++ b/home-modules/pkgs-list/programs.nix @@ -17,5 +17,6 @@ zoom-us inkscape audacity + gemini-cli ] else []); } diff --git a/home-modules/pkgs-list/shell.nix b/home-modules/pkgs-list/shell.nix index 69bd4b4..f2ab718 100644 --- a/home-modules/pkgs-list/shell.nix +++ b/home-modules/pkgs-list/shell.nix @@ -4,7 +4,7 @@ cmake cmatrix dig - du-dust + dust dysk exiftool eza diff --git a/home-modules/programming/go.nix b/home-modules/programming/go.nix index dfa53d1..e5c3ac5 100644 --- a/home-modules/programming/go.nix +++ b/home-modules/programming/go.nix @@ -2,6 +2,6 @@ programs.go = { enable = true; package = pkgs.go; - goPath = "${config.xdg.dataHome}/go"; + env.goPath = "${config.xdg.dataHome}/go"; }; } diff --git a/home-modules/programming/rust.nix b/home-modules/programming/rust.nix index d00e5dd..e45440a 100644 --- a/home-modules/programming/rust.nix +++ b/home-modules/programming/rust.nix @@ -1,6 +1,7 @@ { pkgs, ... }@all: with all; { home = { packages = with pkgs; [ + gdb cargo clippy rustc diff --git a/home-modules/rofi.nix b/home-modules/rofi.nix index 8121300..ef0eb68 100644 --- a/home-modules/rofi.nix +++ b/home-modules/rofi.nix @@ -1,6 +1,6 @@ { pkgs, ... }@all: with all; { home = { - packages = with pkgs; [ rofi-wayland ]; + packages = with pkgs; [ rofi ]; file = let # the home-manager module sucks trdr = "${rice.lib.float-to-drune rice.transparency}"; ts = builtins.toString; diff --git a/home-modules/ssh.nix b/home-modules/ssh.nix index c34df5e..598fdb1 100644 --- a/home-modules/ssh.nix +++ b/home-modules/ssh.nix @@ -3,31 +3,39 @@ programs.ssh = { enable = true; package = pkgs.openssh; - addKeysToAgent = "yes"; + enableDefaultConfig = false; matchBlocks = let - nxace = name: { + default = { + addKeysToAgent = "yes"; + forwardAgent = false; + compression = false; + serverAliveInterval = 0; + serverAliveCountMax = 3; + hashKnownHosts = false; + userKnownHostsFile = "~/.ssh/known_hosts"; + controlMaster = "no"; + controlPath = "~/.ssh/master-%r@%n:%p"; + controlPersist = "no"; + }; + nxace = name: default // { host = name; hostname = "ssh.${hyper.domain}"; user = "nx2"; port = 50022; - identityFile = "${hyper.home}/vault/ssh/nxace-nx2-${hyper.host}"; + identityFile = [ "${hyper.home}/vault/ssh/nxace-nx2-${hyper.host}" ]; }; in { - "*".identityFile = [ + "*" = default; + "ssh.nx2.site" = default // { identityFile = [ + "${hyper.home}/vault/ssh/nxace-nx2-${hyper.host}" "${hyper.home}/vault/ssh/nxgit-nx2-${hyper.host}" - "${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}" - "${hyper.home}/vault/ssh/tg-dm-informatik-tuda" - (pkgs.lib.mkIf (hyper.host == "NxDCS") "${hyper.home}/vault/ssh/dcsgit-lkurzweg-${hyper.host}") - ]; - "github.com".identityFile = [ "${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}" ]; - "nxace" = nxace "nxace"; - "nxacel" = (nxace "nxacel") // { hostname = "10.0.1.1"; }; - "nxrpli" = (nxace "nxrpil") // { hostname = "10.0.1.31"; port = 22; }; - "nxgit" = (nxace "nxgit") // { - user = "git"; - identityFile = "${hyper.home}/vault/ssh/nxgit-nx2-${hyper.host}"; - # addKeysToAgent = "1h"; - }; + ]; }; + "tg.dm.informatik.tu-darmstadt.de" = default // { identityFile = [ "${hyper.home}/vault/ssh/tg-dm-informatik-tuda" ]; }; + "git.da.dicos.de" = default // { identityFile = [ "${hyper.home}/vault/ssh/dcsgit-lkurzweg-${hyper.host}" ]; }; + "github.com" = default // { identityFile = [ "${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}" ]; }; + "nxace" = (nxace "nxace" ); + "nxacel" = (nxace "nxacel") // { hostname = "10.0.1.1"; }; + "nxrpli" = (nxace "nxrpil") // { hostname = "10.0.1.31"; port = 22; }; }; }; services.ssh-agent = { diff --git a/home-modules/yazi.nix b/home-modules/yazi.nix index 4bc11cd..aa559b6 100644 --- a/home-modules/yazi.nix +++ b/home-modules/yazi.nix @@ -224,7 +224,7 @@ in { "image" = [ { run = ''imv "$0" "$@"''; desc = "imv"; orphan = true; } { run = ''gimp "$0" "$@"''; desc = "gimp"; orphan = true; } - { run = ''swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120 "$@"''; desc = "swww wallpaper"; } + { run = ''swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120 "$0"''; desc = "swww wallpaper"; } { run = ''exiftool "$0"; echo "Press enter to return to yazi"; read''; desc = "View Exif Data"; } { run = ''for f in "$0"; do magick "$f" -auto-orient "''${f%.*}.pdf"; done''; desc = "Convert to PDF"; } ]; diff --git a/system-modules/base-packages.nix b/system-modules/base-packages.nix index 6634ce6..aae6b9a 100644 --- a/system-modules/base-packages.nix +++ b/system-modules/base-packages.nix @@ -5,7 +5,7 @@ pkgs: with pkgs; [ git-crypt wget - curlHTTP3 + curl zip unzip p7zip diff --git a/system-modules/dm.nix b/system-modules/dm.nix index 13aff1d..0d3d4fd 100644 --- a/system-modules/dm.nix +++ b/system-modules/dm.nix @@ -3,7 +3,7 @@ enable = true; settings = rec { hyprland = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --cmd Hyprland --remember-user-session --window-padding 5"; + command = "${pkgs.tuigreet}/bin/tuigreet --time --remember --cmd Hyprland --remember-user-session --window-padding 5"; user = hyper.user; }; default_session = hyprland; diff --git a/system-modules/fcitx5.nix b/system-modules/fcitx5.nix index 7c90b01..9e3712e 100644 --- a/system-modules/fcitx5.nix +++ b/system-modules/fcitx5.nix @@ -1,88 +1,14 @@ -{ pkgs, ... }@all: with all; -{ - # i18n.inputMethod = { - # type = "fcitx5"; - # enable = true; - # fcitx5.addons = with pkgs; [ - # fcitx5-gtk # alternatively, kdePackages.fcitx5-qt - # fcitx5-chinese-addons # table input method support - # fcitx5-nord # a color theme - # ]; - # }; +{ pkgs, ... }@all: with all; { i18n.inputMethod = { enable = true; type = "fcitx5"; - fcitx5.waylandFrontend = true; - fcitx5.addons = with pkgs; [ - fcitx5-gtk # alternatively, kdePackages.fcitx5-qt - fcitx5-chinese-addons # table input method support - fcitx5-nord # a color theme - ]; + fcitx5 = { + waylandFrontend = true; + addons = with pkgs; [ + fcitx5-gtk + qt6Packages.fcitx5-chinese-addons + fcitx5-nord + ]; + }; }; - # i18n.inputMethod = { - # enabled = "fcitx5"; - # ignoreUserConfig = true; - # waylandFrontend = true; - # fcitx5 = { - # addons = with pkgs-unstable; [ - # rime-data - # fcitx5-rime - - # # Chinese - # fcitx5-chinese-addons - # fcitx5-table-extra - # fcitx5-pinyin-moegirl - # fcitx5-pinyin-zhwiki - - # # Japanese - # # fcitx5-mozc - # ]; - # settings = { - # globalOptions = { - # Hotkey = { - # # Enumerate when press trigger key repeatedly - # EnumerateWithTriggerKeys = "True"; - # # Skip first input method while enumerating - # EnumerateSkipFirst = "False"; - # }; - # "Hotkey/EnumerateForwardKeys" = { "0" = "Control+space"; }; - # "Hotkey/EnumerateBackwardKeys" = { "0" = "Control+Shift+space"; }; - # "Hotkey/PrevPage" = { "0" = "Up"; }; - # "Hotkey/NextPage" = { "0" = "Down"; }; - # "Hotkey/PrevCandidate" = { "0" = "Shift+Tab"; }; - # "Hotkey/NextCandidate" = { "0" = "Tab"; }; - # Behavior = { - # ActiveByDefault = "False"; # Active By Default - # ShareInputState = "No"; # Share Input State - # PreeditEnabledByDefault = "True"; # Show preedit in application - # ShowInputMethodInformation = "True"; # Show Input Method Information when switch input method - # showInputMethodInformationWhenFocusIn = "False"; # Show Input Method Information when changing focus - # CompactInputMethodInformation = "True"; # Show compact input method information - # ShowFirstInputMethodInformation = "True"; # Show first input method information - # DefaultPageSize = "5"; # Default page size - # OverrideXkbOption = "False"; # Override Xkb Option - # PreloadInputMethod = "True"; # Preload input method to be used by default - # }; - # }; - # inputMethod = { - # "Groups/0" = { - # "Name" = "Default"; - # "Default Layout" = "us"; - # "DefaultIM" = "mozc"; - # }; - # "Groups/0/Items/0" = { - # "Name" = "keyboard-us"; - # "Layout" = null; - # }; - # "Groups/0/Items/1" = { - # "Name" = "mozc"; - # "Layout" = null; - # }; - # "GroupOrder" = { - # "0" = "Default"; - # }; - # }; - # }; - # }; - # }; } diff --git a/system-modules/fonts.nix b/system-modules/fonts.nix index 5c77519..eeed533 100644 --- a/system-modules/fonts.nix +++ b/system-modules/fonts.nix @@ -4,7 +4,7 @@ noto-fonts noto-fonts-cjk-sans noto-fonts-cjk-serif - noto-fonts-emoji + noto-fonts-color-emoji newcomputermodern atkinson-hyperlegible nerd-fonts.jetbrains-mono diff --git a/system-modules/hsmw.nix b/system-modules/hsmw.nix index 18b1492..d955736 100644 --- a/system-modules/hsmw.nix +++ b/system-modules/hsmw.nix @@ -27,8 +27,6 @@ "hsmw-vpn-secret" = { path = "/etc/ipsec.d/hsmw.secret"; mode = "600"; }; }; - networking.networkmanager.enableStrongSwan = true; - services.strongswan = { enable = true; setup = { diff --git a/system-modules/nvidia.nix b/system-modules/nvidia.nix index b2d49af..8b4eda1 100644 --- a/system-modules/nvidia.nix +++ b/system-modules/nvidia.nix @@ -1,7 +1,7 @@ { pkgs, ... }@all: with all; lib.mkIf hyper.nvidia.enable { environment.systemPackages = with pkgs; [ lshw - glxinfo + mesa-demos (pkgs.writeShellScriptBin "nvidia-offload" '' export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 diff --git a/system-modules/qmk.nix b/system-modules/qmk.nix index 12b97d3..9b7bc90 100644 --- a/system-modules/qmk.nix +++ b/system-modules/qmk.nix @@ -2,12 +2,9 @@ { hardware.keyboard.qmk.enable = true; - # home.packages = with pkgs; [ - # via - # ]; environment.systemPackages = with pkgs; [ - via + # via qmk ]; - services.udev.packages = [ pkgs.via ]; + # services.udev.packages = [ pkgs.via ]; }