diff --git a/.sops.yaml b/.sops.yaml index 5694f7e..d3db5e2 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -4,6 +4,7 @@ keys: - &nx2_key_13 age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq - &xps-home age1pn4utvwpqdrswn0xurfdexn5nks9cd06jxzwg3m3m6za25ap4vxqxd0p3k - &ace-home age1ur5zpr325cv7w0yn49azz9f48xsxd73w2sytt22yrnw5qs9r34nsv3vl05 + - &north-home age1jr72q042ccgxpdgdaaev0arzc0vh3r02etv2tzhhsejl0mfaxs3q9hhlaz - &hosts: - &north age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e - &xps age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6 @@ -18,5 +19,6 @@ creation_rules: - *nx2_key_13 - *xps-home - *ace-home + - *north-home pgp: - *nx2 diff --git a/README.md b/README.md index 68be3ff..b3e29a0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ❄️ NixOS Dotfiles -![Screenshot of my desktop](splash.png) +![Screenshot of my desktop](splash.webp) ## Information diff --git a/configuration.nix b/configuration.nix index 2e8762e..5b71d32 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,4 +1,4 @@ -{ ... }@all: with all; { +{ pkgs, ... }@all: with all; { imports = [ inputs.sops-nix.nixosModules.sops ./system-modules/adb.nix @@ -32,7 +32,6 @@ ./system-modules/sops.nix ./system-modules/sound.nix ./system-modules/sshd.nix - ./system-modules/base-packages.nix ./system-modules/input.nix ./system-modules/syncthing.nix ./system-modules/tuda.nix @@ -61,6 +60,8 @@ ./system-modules/calendar/dicos.nix ] else [ ]); + 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" ]; diff --git a/flake-modules/allowed.nix b/flake-modules/allowed.nix index cdf4227..f6bee5c 100644 --- a/flake-modules/allowed.nix +++ b/flake-modules/allowed.nix @@ -1,6 +1,7 @@ - { unfree = [ + "antigravity" + "cursor" "discord" "spotify" "obsidian" @@ -9,8 +10,6 @@ "zoom-us" "zoom" - # since the predicate ist to be set in the flake and not in a module - # it is impossible to make the list dynamic and respect nvidia.enable "nvidia-x11" "nvidia-settings" "nvidia-persistenced" @@ -40,8 +39,5 @@ "vscode-extension-mhutchie-git-graph" ]; - - inecure = [ - # "electron-25.9.0" - ]; + insecure = [ ]; } diff --git a/flake-modules/colors.json b/flake-modules/colors.json index 61eecac..642be90 100644 --- a/flake-modules/colors.json +++ b/flake-modules/colors.json @@ -1,13 +1,13 @@ { "base": { - "foreground": "#fefefe", - "background": "#020202" + "foreground": "#eddbef", + "background": "#100711" }, "to_alter": { - "accent": "#aaaaff", - "secondary": "#aaeeff", - "tertiary": "#aaffaa", - "special": "#aaffaa", - "weird": "#ffffaa" + "accent": "#ba71c0", + "secondary": "#3266ff", + "tertiary": "#4bb6e6", + "special": "#76c071", + "weird": "#c08571" } } \ No newline at end of file diff --git a/flake-modules/rice.nix b/flake-modules/rice.nix index 717aa19..e204622 100644 --- a/flake-modules/rice.nix +++ b/flake-modules/rice.nix @@ -55,9 +55,10 @@ pkgs: rec { }; in ccolor // fcolor // xcolor; font = { - code = { + code = rec { name = "JetBrainsMono Nerd Font"; package = pkgs.nerd-fonts.jetbrains-mono; + regular-path = "${package}/share/fonts/truetype/NerdFonts/JetBrainsMonoNerdFont-Regular.ttf"; }; base = { # name = "NewComputerModern08"; diff --git a/flake.lock b/flake.lock index dc884a4..9d72a65 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ ] }, "locked": { - "lastModified": 1759499898, - "narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=", + "lastModified": 1762356719, + "narHash": "sha256-qwd/xdoOya1m8FENle+4hWnydCtlXUWLAW/Auk6WL7s=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "655e067f96fd44b3f5685e17f566b0e4d535d798", + "rev": "6d0b3567584691bf9d8fedb5d0093309e2f979c7", "type": "github" }, "original": { @@ -39,11 +39,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1759705705, - "narHash": "sha256-ckBnfbxbT7VU7ay0c5jkstAZHrC4xDpEHgnQo99OdEw=", + "lastModified": 1763901903, + "narHash": "sha256-w7YsxTjldwhUBP5ypbcZvWyZgRQqp3NBfyk5BAfrFjQ=", "owner": "9001", "repo": "copyparty", - "rev": "20ac117c3272da50ce125795d831ac55f29e766d", + "rev": "fb9f0441c99833ab7bc035d76b9a89021270675a", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "flake-compat_3": { "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": { @@ -153,7 +153,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_3" + "systems": "systems_2" }, "locked": { "lastModified": 1731533236, @@ -234,6 +234,27 @@ "type": "github" } }, + "home-manager24": { + "inputs": { + "nixpkgs": [ + "nixpkgs24" + ] + }, + "locked": { + "lastModified": 1726989464, + "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-24.05", + "repo": "home-manager", + "type": "github" + } + }, "hyprcursor": { "inputs": { "hyprlang": [ @@ -279,11 +300,11 @@ ] }, "locked": { - "lastModified": 1759490292, - "narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=", + "lastModified": 1762462052, + "narHash": "sha256-6roLYzcDf4V38RUMSqycsOwAnqfodL6BmhRkUtwIgdA=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "9431db625cd9bb66ac55525479dce694101d6d7a", + "rev": "ffc999d980c7b3bca85d3ebd0a9fbadf984a8162", "type": "github" }, "original": { @@ -297,8 +318,8 @@ "aquamarine": "aquamarine", "hyprcursor": "hyprcursor", "hyprgraphics": "hyprgraphics", + "hyprland-guiutils": "hyprland-guiutils", "hyprland-protocols": "hyprland-protocols", - "hyprland-qtutils": "hyprland-qtutils", "hyprlang": "hyprlang", "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", @@ -308,11 +329,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1759837778, - "narHash": "sha256-K/F/ndJszKrbhhCcQEpLU3jrDSapQCprgNYJscHZYf0=", + "lastModified": 1763912895, + "narHash": "sha256-1mdM539nkqTWVHTHPCGHGrLu/UwsxeYWnrnHQaUh1qQ=", "ref": "refs/heads/main", - "rev": "5ba2d2217b649c4ca2db7e3f383b3f6af6e70d65", - "revCount": 6484, + "rev": "2b0fd417d32278159d0ca1d23fb997588c37995b", + "revCount": 6643, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -323,33 +344,49 @@ "url": "https://github.com/hyprwm/Hyprland" } }, - "hyprland-plugins": { + "hyprland-guiutils": { "inputs": { - "hyprland": [ - "hyprland" + "aquamarine": [ + "hyprland", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprtoolkit": "hyprtoolkit", + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" ], "nixpkgs": [ - "hyprland-plugins", "hyprland", "nixpkgs" ], "systems": [ - "hyprland-plugins", "hyprland", "systems" ] }, "locked": { - "lastModified": 1759748449, - "narHash": "sha256-9I7KVSR7PsSaahM6CbxUyjXSRAY/4+29rFblZDqHPFE=", + "lastModified": 1762755186, + "narHash": "sha256-ZjjETUHtoEhVN7JI1Cbt3p/KcXpK8ZQaPHx7UkG1OgA=", "owner": "hyprwm", - "repo": "hyprland-plugins", - "rev": "7be897d6ae765fab756c0b7e6b91e8c5b39a419e", + "repo": "hyprland-guiutils", + "rev": "66356e20a8ed348aa49c1b9ceace786e224225b3", "type": "github" }, "original": { "owner": "hyprwm", - "repo": "hyprland-plugins", + "repo": "hyprland-guiutils", "type": "github" } }, @@ -365,11 +402,11 @@ ] }, "locked": { - "lastModified": 1749046714, - "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "lastModified": 1759610243, + "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622", "type": "github" }, "original": { @@ -378,74 +415,6 @@ "type": "github" } }, - "hyprland-qt-support": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprland-qtutils", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "hyprland-qtutils", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-qtutils", - "systems" - ] - }, - "locked": { - "lastModified": 1749154592, - "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "type": "github" - } - }, - "hyprland-qtutils": { - "inputs": { - "hyprland-qt-support": "hyprland-qt-support", - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprland-qtutils", - "hyprlang", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1759080228, - "narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "type": "github" - } - }, "hyprlang": { "inputs": { "hyprutils": [ @@ -462,11 +431,11 @@ ] }, "locked": { - "lastModified": 1758927902, - "narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=", + "lastModified": 1763254292, + "narHash": "sha256-JNgz3Fz2KMzkT7aR72wsgu/xNeJB//LSmdilh8Z/Zao=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da", + "rev": "deea98d5b61d066bdc7a68163edd2c4bd28d3a6b", "type": "github" }, "original": { @@ -475,24 +444,55 @@ "type": "github" } }, - "hyprspace": { + "hyprtoolkit": { "inputs": { - "hyprland": [ - "hyprland" + "aquamarine": [ + "hyprland", + "hyprland-guiutils", + "aquamarine" ], - "systems": "systems_2" + "hyprgraphics": [ + "hyprland", + "hyprland-guiutils", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprland-guiutils", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprland-guiutils", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprland-guiutils", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "hyprland-guiutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-guiutils", + "systems" + ] }, "locked": { - "lastModified": 1759033501, - "narHash": "sha256-QhcOFLJYC9CiSVPkci62ghMEAJChzl+L98To1pKvnRQ=", - "owner": "KZDKM", - "repo": "Hyprspace", - "rev": "e54884da1d6a1af76af9d053887bf3750dd554fd", + "lastModified": 1762463729, + "narHash": "sha256-2fYkU/mdz8WKY3dkDPlE/j6hTxIwqultsx4gMMsMns0=", + "owner": "hyprwm", + "repo": "hyprtoolkit", + "rev": "88483bdee5329ec985f0c8f834c519cd18cfe532", "type": "github" }, "original": { - "owner": "KZDKM", - "repo": "Hyprspace", + "owner": "hyprwm", + "repo": "hyprtoolkit", "type": "github" } }, @@ -508,11 +508,11 @@ ] }, "locked": { - "lastModified": 1759490926, - "narHash": "sha256-7IbZGJ5qAAfZsGhBHIsP8MBsfuFYS0hsxYHVkkeDG5Q=", + "lastModified": 1763323331, + "narHash": "sha256-+Z0OfCo1MS8/aIutSAW5aJR9zTae1wz9kcJYMgpwN6M=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "94cce794344538c4d865e38682684ec2bbdb2ef3", + "rev": "0c6411851cc779d551edc89b83966696201611aa", "type": "github" }, "original": { @@ -570,17 +570,68 @@ "type": "github" } }, + "nix-formatter-pack": { + "inputs": { + "nixpkgs": [ + "nix-on-droid", + "nixpkgs" + ], + "nmd": "nmd", + "nmt": "nmt" + }, + "locked": { + "lastModified": 1705252799, + "narHash": "sha256-HgSTREh7VoXjGgNDwKQUYcYo13rPkltW7IitHrTPA5c=", + "owner": "Gerschtli", + "repo": "nix-formatter-pack", + "rev": "2de39dedd79aab14c01b9e2934842051a160ffa5", + "type": "github" + }, + "original": { + "owner": "Gerschtli", + "repo": "nix-formatter-pack", + "type": "github" + } + }, + "nix-on-droid": { + "inputs": { + "home-manager": [ + "home-manager24" + ], + "nix-formatter-pack": "nix-formatter-pack", + "nixpkgs": [ + "nixpkgs24" + ], + "nixpkgs-docs": "nixpkgs-docs", + "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap", + "nmd": "nmd_2" + }, + "locked": { + "lastModified": 1720396533, + "narHash": "sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q=", + "owner": "nix-community", + "repo": "nix-on-droid", + "rev": "f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-24.05", + "repo": "nix-on-droid", + "type": "github" + } + }, "nixos-wsl": { "inputs": { "flake-compat": "flake-compat_3", "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1759833546, - "narHash": "sha256-rOfkgIiiZNPUbf61OqEym60wXEODeDG8XH+gV/SUoUc=", + "lastModified": 1763738061, + "narHash": "sha256-VpNRcInaj1MOya8NmcqhFmdO7KGO7SSZelJQmPl6HoQ=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "7c0c0f4c3a51761434f18209fa9499b8579ff730", + "rev": "3bcc267c4e0efa023b98b9c5cfbe11b88ec2dc8f", "type": "github" }, "original": { @@ -605,13 +656,45 @@ "type": "indirect" } }, + "nixpkgs-docs": { + "locked": { + "lastModified": 1705957679, + "narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9a333eaa80901efe01df07eade2c16d183761fa3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-for-bootstrap": { + "locked": { + "lastModified": 1720244366, + "narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", + "type": "github" + } + }, "nixpkgs-latest": { "locked": { - "lastModified": 1759851983, - "narHash": "sha256-5tYg4TRly5I8LOagO5X0dArUOht023mevqr3qlVghb0=", + "lastModified": 1763929585, + "narHash": "sha256-uxJ8vJoupgc3oJYOK3UV/kbi1f4mXFsh1BuuozhZpfw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7eb8a3cd795b18e7ac26c9cba411e1f588257a62", + "rev": "a5f13fe8d33e5dd3585980b288366665d35ed379", "type": "github" }, "original": { @@ -639,11 +722,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1759733170, - "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=", + "lastModified": 1763678758, + "narHash": "sha256-+hBiJ+kG5IoffUOdlANKFflTT5nO3FrrR2CA3178Y5s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8913c168d1c56dc49a7718685968f38752171c3b", + "rev": "117cc7f94e8072499b0a7aa4c52084fa4e11cc9b", "type": "github" }, "original": { @@ -652,13 +735,29 @@ "type": "indirect" } }, - "nixpkgs_2": { + "nixpkgs24": { "locked": { - "lastModified": 1759381078, - "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", + "lastModified": 1735563628, + "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", + "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1763283776, + "narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a", "type": "github" }, "original": { @@ -686,11 +785,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1759733170, - "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=", + "lastModified": 1762977756, + "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8913c168d1c56dc49a7718685968f38752171c3b", + "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", "type": "github" }, "original": { @@ -702,11 +801,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1759735786, - "narHash": "sha256-a0+h02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0=", + "lastModified": 1763622513, + "narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "20c4598c84a671783f741e02bf05cbfaf4907cff", + "rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b", "type": "github" }, "original": { @@ -717,11 +816,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1756288264, - "narHash": "sha256-Om8adB1lfkU7D33VpR+/haZ2gI5r3Q+ZbIPzE5sYnwE=", + "lastModified": 1762286042, + "narHash": "sha256-OD5HsZ+sN7VvNucbrjiCz7CHF5zf9gP51YVJvPwYIH8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ddd1826f294a0ee5fdc198ab72c8306a0ea73aa9", + "rev": "12c1f0253aa9a54fdf8ec8aecaafada64a111e24", "type": "github" }, "original": { @@ -731,6 +830,60 @@ "type": "github" } }, + "nmd": { + "flake": false, + "locked": { + "lastModified": 1666190571, + "narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=", + "owner": "rycee", + "repo": "nmd", + "rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169", + "type": "gitlab" + }, + "original": { + "owner": "rycee", + "repo": "nmd", + "type": "gitlab" + } + }, + "nmd_2": { + "inputs": { + "nixpkgs": [ + "nix-on-droid", + "nixpkgs-docs" + ], + "scss-reset": "scss-reset" + }, + "locked": { + "lastModified": 1705050560, + "narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=", + "owner": "~rycee", + "repo": "nmd", + "rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3", + "type": "sourcehut" + }, + "original": { + "owner": "~rycee", + "repo": "nmd", + "type": "sourcehut" + } + }, + "nmt": { + "flake": false, + "locked": { + "lastModified": 1648075362, + "narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=", + "owner": "rycee", + "repo": "nmt", + "rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae", + "type": "gitlab" + }, + "original": { + "owner": "rycee", + "repo": "nmt", + "type": "gitlab" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -741,11 +894,11 @@ ] }, "locked": { - "lastModified": 1758108966, - "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", + "lastModified": 1763319842, + "narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", + "rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761", "type": "github" }, "original": { @@ -785,14 +938,15 @@ "inputs": { "copyparty": "copyparty", "home-manager": "home-manager", + "home-manager24": "home-manager24", "hyprland": "hyprland", - "hyprland-plugins": "hyprland-plugins", - "hyprspace": "hyprspace", "lanzaboote": "lanzaboote", + "nix-on-droid": "nix-on-droid", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_5", "nixpkgs-latest": "nixpkgs-latest", "nixpkgs-unstable": "nixpkgs-unstable", + "nixpkgs24": "nixpkgs24", "sops-nix": "sops-nix", "yazi": "yazi" } @@ -826,11 +980,11 @@ ] }, "locked": { - "lastModified": 1756348497, - "narHash": "sha256-xJp3VnoYh4kpsaKFO/7SsGbwOz7pI1ZmjbqpXEuR2cw=", + "lastModified": 1762396738, + "narHash": "sha256-BarSecuxtzp1boERdABLkkoxQTi6s/V33lJwUbWLrLY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "0adf92c70d23fb4f703aea5d3ebb51ac65994f7f", + "rev": "c63598992afd54d215d54f2b764adc0484c2b159", "type": "github" }, "original": { @@ -839,6 +993,22 @@ "type": "github" } }, + "scss-reset": { + "flake": false, + "locked": { + "lastModified": 1631450058, + "narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=", + "owner": "andreymatin", + "repo": "scss-reset", + "rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91", + "type": "github" + }, + "original": { + "owner": "andreymatin", + "repo": "scss-reset", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": [ @@ -846,11 +1016,11 @@ ] }, "locked": { - "lastModified": 1759635238, - "narHash": "sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk=", + "lastModified": 1763870012, + "narHash": "sha256-AHxFfIu73SpNLAOZbu/AvpLhZ/Szhx6gRPj9ufZtaZA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "6e5a38e08a2c31ae687504196a230ae00ea95133", + "rev": "4e7d74d92398b933cc0e0e25af5b0836efcfdde3", "type": "github" }, "original": { @@ -875,21 +1045,6 @@ } }, "systems_2": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -932,11 +1087,11 @@ ] }, "locked": { - "lastModified": 1755354946, - "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=", + "lastModified": 1761431178, + "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0", + "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", "type": "github" }, "original": { @@ -952,11 +1107,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1759765472, - "narHash": "sha256-YYfXBsw57fH6s/hXR24rv8/nr35oQl1CBH7p4WcK8RA=", + "lastModified": 1763600401, + "narHash": "sha256-druDd9HC3UxZSzCY+qaFp9QDCGfzrhv+Zrytia6lJUE=", "owner": "sxyazi", "repo": "yazi", - "rev": "554cb52cc581df9a41e0778ebd448925cd3aca55", + "rev": "a08b345a02c6b4c65239a0522f67e77a0132e88b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index e04e435..73b015e 100644 --- a/flake.nix +++ b/flake.nix @@ -2,23 +2,38 @@ description = "Multisystem NixOS Flake of Lennart J. Kurzweg"; inputs = { - nixpkgs = { url = "nixpkgs/nixos-25.05"; }; - nixpkgs-unstable = { url = "nixpkgs/nixos-unstable"; }; - nixpkgs-latest = { url = "github:nixos/nixpkgs?ref=master"; }; + nixpkgs.url = "nixpkgs/nixos-25.05"; + 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"; inputs.nixpkgs.follows = "nixpkgs"; }; + home-manager = { + url = "github:nix-community/home-manager/release-25.05"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + home-manager24 ={ + url = "github:nix-community/home-manager/release-24.05"; + inputs.nixpkgs.follows = "nixpkgs24"; + }; - nixos-wsl = { url = "github:nix-community/NixOS-WSL/main"; }; + nix-on-droid = { + url = "github:nix-community/nix-on-droid/release-24.05"; + inputs.nixpkgs.follows = "nixpkgs24"; + inputs.home-manager.follows = "home-manager24"; + }; - sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; - lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; }; + nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; - hyprland = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; }; - hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; - hyprspace = { url = "github:KZDKM/Hyprspace"; inputs.hyprland.follows = "hyprland"; }; + sops-nix ={ + url = "github:Mic92/sops-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - yazi = { url = "github:sxyazi/yazi"; }; - copyparty = { url = "github:9001/copyparty"; }; + lanzaboote.url = "github:nix-community/lanzaboote/v0.4.2"; + + hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; + yazi.url = "github:sxyazi/yazi"; + copyparty.url = "github:9001/copyparty"; }; outputs = { ... }@inputs: with inputs; let @@ -28,7 +43,7 @@ config = { allowUnfreePredicate = pkg: builtins.elem (simple-pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; }; hyper-base = rec { - inherit system; + system = "x86_64-linux"; user = "nx2"; domain = "nx2.site"; home = "/home/${user}"; @@ -36,12 +51,12 @@ pkgs-version = "25.05"; }; - my-pkgs = host: import nixpkgs { + get-pkgs = let s = system; in { host, system?s, nixpkgs?inputs.nixpkgs, version?"25.05" }: import nixpkgs { inherit system config; overlays = [(final: prev: { unstable = import nixpkgs-unstable { inherit system config; }; latest = import nixpkgs-latest { inherit system config; }; - version = "25.05"; + inherit version; })] ++ (if host == "NxACE" then [ copyparty.overlays.default ] else []); @@ -53,17 +68,18 @@ in { nixosConfigurations = let make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem { - pkgs = my-pkgs host; + pkgs = get-pkgs { inherit host; }; modules = [ ./configuration.nix ]; specialArgs = let hyper = hyper-base // { inherit host; nvidia = (nvidia-base // nvidia-settings); }; in { inherit inputs hyper rice secrets; }; }; make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem { - pkgs = my-pkgs host; - modules = [ ./nixos-wsl.nix ]; + pkgs = get-pkgs { inherit host; }; + modules = [ ./wsl.nix ]; specialArgs = let hyper = hyper-base // { inherit host; }; + rice = import ./flake-modules/rice.nix pkgs; in { inherit inputs hyper rice; }; }; in { @@ -73,16 +89,38 @@ NxDCS = make-nixos-wsl-system "NxDCS"; }; + nixOnDroidConfigurations = let + makeNODConfiguration = host: nix-on-droid.lib.nixOnDroidConfiguration rec { + pkgs = let + options = { inherit host; system = "aarch64-linux"; }; + in (get-pkgs options) // + (get-pkgs (options // { version = "24.05"; nixpkgs = nixpkgs24; } ) + ); + modules = [ ./nod.nix ]; + home-manager-path = home-manager24.outPath; + extraSpecialArgs = let + hyper = hyper-base // { + inherit host; + system = "aarch64-linux"; + user = "nix-on-droid"; + home = "/data/data/com.termux.nix/files/home"; + pkgs-version = "24.05"; + }; + rice = import ./flake-modules/rice.nix pkgs; + in { inherit inputs hyper rice; }; + }; + in { NxS23U = makeNODConfiguration "NxS23U"; }; + homeConfigurations = let make-home-configuration = host: user: nvidia-settings: home-manager.lib.homeManagerConfiguration { - pkgs = my-pkgs host; + pkgs = get-pkgs { inherit host; }; modules = [ ./home.nix ]; extraSpecialArgs = let hyper = hyper-base // { inherit host; nvidia = nvidia-base // nvidia-settings; }; in { inherit inputs hyper rice secrets; }; }; make-shell-configuration = host: user: home-manager.lib.homeManagerConfiguration { - pkgs = my-pkgs host; + pkgs = get-pkgs { inherit host; }; modules = [ ./shell-only.nix ]; extraSpecialArgs = let hyper = hyper-base // { inherit host; }; diff --git a/git-crypt/secrets.nix b/git-crypt/secrets.nix index 63bb135..0a180fb 100644 Binary files a/git-crypt/secrets.nix and b/git-crypt/secrets.nix differ diff --git a/home-modules/bar/caldav-event.nix b/home-modules/bar/caldav-event.nix index f8cefbc..8a7f9ef 100644 --- a/home-modules/bar/caldav-event.nix +++ b/home-modules/bar/caldav-event.nix @@ -73,7 +73,7 @@ def get_ongoing_or_next_event(url, username, password): return next_event_dict except Exception as e: - print(f"Error accessing {url}: {e}") + print(f"Error accessing {url}: {str(e)[:30]}...") return None def is_expired(event_dict: dict): @@ -120,7 +120,7 @@ if __name__ == "__main__": else: time_string = "in " + hour_string + "and " + minu_string - print(f"{event_dict['event_name']} {action_string} {time_string}") + print(f"\'{event_dict['event_name']}\' {action_string} {time_string}") '') ]; } diff --git a/home-modules/bar/hyprpanel.nix b/home-modules/bar/hyprpanel.nix index ab9267b..0f756c8 100644 --- a/home-modules/bar/hyprpanel.nix +++ b/home-modules/bar/hyprpanel.nix @@ -425,8 +425,8 @@ "theme.bar.menus.menu.notifications.label" = accent.base; "theme.bar.menus.menu.notifications.no_notifications_label" = accent.base; "theme.bar.menus.menu.notifications.pager.background" = background; - "theme.bar.menus.menu.notifications.pager.button" = accent.dark; - "theme.bar.menus.menu.notifications.pager.label" = accent.base; + "theme.bar.menus.menu.notifications.pager.button" = accent.base; + "theme.bar.menus.menu.notifications.pager.label" = accent.bright; "theme.bar.menus.menu.notifications.scrollbar.color" = accent.base; "theme.bar.menus.menu.notifications.switch.disabled" = accent.base; "theme.bar.menus.menu.notifications.switch_divider" = accent.base; @@ -492,12 +492,12 @@ "theme.notification.actions.background" = background; "theme.notification.actions.text" = foreground; "theme.notification.background" = background; - "theme.notification.border" = accent.base; + "theme.notification.border" = border; "theme.notification.close_button.background" = accent.dark; "theme.notification.close_button.label" = accent.base; - "theme.notification.label" = accent.base; + "theme.notification.label" = accent.bright; "theme.notification.labelicon" = accent.base; - "theme.notification.opacity" = 1.0; + "theme.notification.opacity" = 100; "theme.notification.text" = foreground; "theme.notification.time" = accent.base; diff --git a/home-modules/bash.nix b/home-modules/bash.nix index 2b1f025..3b29227 100644 --- a/home-modules/bash.nix +++ b/home-modules/bash.nix @@ -1,6 +1,10 @@ -{ ... }: +{ pkgs, ... }: { - programs.bash = { + programs.bash = let + init = /* bash */ '' + source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh + ''; + in { enable = true; shellAliases = { ll = "ls -l"; @@ -15,5 +19,10 @@ "checkjobs" ]; enableCompletion = false; - }; + + } // pkgs.lib.mkIf (pkgs.version != "24.05") { + shellInit = init; + } // pkgs.lib.mkIf (pkgs.version != "25.05") { + profileExtra = init; + }; } diff --git a/home-modules/calendar.nix b/home-modules/calendar.nix index 0ae3cd7..e4104ce 100644 --- a/home-modules/calendar.nix +++ b/home-modules/calendar.nix @@ -33,20 +33,13 @@ read-only = true; type = "ics"; } - { - name = "LEC"; - url = "https://${domain}/lec.ics"; - color = "#A87000"; - read-only = true; - type = "ics"; - } - { - name = "LR"; - url = "https://${domain}/lr.ics"; - color = "#005040"; - read-only = true; - type = "ics"; - } + # { + # name = "LEC"; + # url = "https://${domain}/lec.ics"; + # color = "#A87000"; + # read-only = true; + # type = "ics"; + # } { name = "Feiertage Hessen"; url = "https://ics.tools/Feiertage/hessen.ics"; @@ -54,13 +47,6 @@ read-only = true; type = "ics"; } - # { - # name = "Handball Männer"; - # url = "http://i.cal.to/ical/108/dhb/handball-nationalmannschaft/c687e97f.bc7c3eb6-11a0e356.ics"; - # color = "#880023"; - # read-only = true; - # type = "ics"; - # } ]; default_set = { # name = diff --git a/home-modules/color-pallete.nix b/home-modules/color-pallete.nix index 4bf0c59..30616cc 100644 --- a/home-modules/color-pallete.nix +++ b/home-modules/color-pallete.nix @@ -25,6 +25,8 @@ ''; + rgb = rice.lib.hex-to-rgb-comma-string; + s = builtins.toString; in /* html */ '' @@ -38,27 +40,26 @@ padding: 0px; } html { - background: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}); - padding: auto; + background: transparent; } body { font-family: ${rice.font.base.name}; color: ${foreground}; width: fit-content; margin: 10px auto 10px auto; - background: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}); - border: ${builtins.toString rice.border-width}px solid ${border}; - border-radius: ${builtins.toString rice.rounding}px; - padding: ${builtins.toString rice.gap-size}px; + background: rgba(${rgb background},${s rice.transparency}); + border: ${s rice.border-width}px solid ${border}; + border-radius: ${s rice.rounding}px; + padding: ${s rice.gap-size}px; } h1 { - margin: ${builtins.toString rice.gap-size}px; + margin: ${s rice.gap-size}px; } .color-container { font-family: ${rice.font.code.name}; display: flex; - gap: ${builtins.toString rice.gap-size}px; - margin: ${builtins.toString rice.gap-size}px; + gap: ${s rice.gap-size}px; + margin: ${s rice.gap-size}px; } .color-box { width: 200px; @@ -66,7 +67,7 @@ flex-direction: column; justify-content: center; align-items: center; - border-radius: ${builtins.toString rice.rounding}px; + border-radius: ${s rice.rounding}px; } diff --git a/home-modules/fish.nix b/home-modules/fish.nix index 8d9602b..d0d419d 100644 --- a/home-modules/fish.nix +++ b/home-modules/fish.nix @@ -1,7 +1,6 @@ { pkgs, ... }@all: with all; { home.packages = with pkgs; [ - fish any-nix-shell (writeShellScriptBin "nxfetch" /* bash */ '' @@ -26,11 +25,11 @@ $(echo -e "$logo" | sed -n 4p): ''${XDG_CURRENT_DESKTOP^} $(echo -e "$logo" | sed -n 5p): ''${TERM^} $(echo -e "$logo" | sed -n 6p): $(bash --version | head --lines 1 | cut -f -4 -d' ' | sed -E 's-(.*?), version (.*?)\(.*-\1 \2-g') - $(echo -e "$logo" | sed -n 7p): fish $(fish --version | rev | cut -f 1 -d' ' | rev | sed 's/./\U&/') + $(echo -e "$logo" | sed -n 7p): fish $(fish --version | rev | cut -f 1 -d' ' | rev | sed 's/./\&/') $(echo -e "$logo" | sed -n 8p): ''$(uname -r | sed -E 's=(.+-.+-.+-.+)-.+=\1=g') - $(echo -e "$logo" | sed -n 9p): $($EDITOR --version | head -n 1 | sed -E 's-(.+?) \(.*-\1-g' | sed 's/./\U&/') + $(echo -e "$logo" | sed -n 9p): $($EDITOR --version | head -n 1 | sed -E 's-(.+?) \(.*-\1-g' | awk '{print toupper(substr($0,1,1)) substr($0,2)}') $(echo -e "$logo" | sed -n 10p): $(yazi --version | sed -E 's-(.*?) \(.*-\1-g') - $(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1 | sed 's/./\U&/') + $(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1 | awk '{print toupper(substr($0,1,1)) substr($0,2)}') " echo -e "$msg" '') @@ -40,6 +39,7 @@ programs.fish = { enable = true; + package = pkgs.fish; shellAliases = let base-eza = "eza --icons --git --smart-group --group-directories-first"; in { @@ -87,6 +87,7 @@ d = "docker"; dcmp = "docker compose"; stui = "sudo systemctl-tui"; + wlc = "wl-copy"; # nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}''; # ya = "yazi"; # function @@ -114,7 +115,7 @@ ''; nx_backup = let destination = if hyper.host == "NxNORTH" then "${hyper.home}/shared/" else "${hyper.home}/backups/"; - in pkgs.lib.mkIf (hyper.host != "NxACE" && hyper.host != "NxDCS") '' + in pkgs.lib.mkIf (hyper.host == "NxXPS" || hyper.host == "NxNORTH") '' set RPATH (curl -s https://${hyper.domain}/latest-backup) rsync -avz --info=progress2 -e "ssh -p ${builtins.toString secrets.ssh.port}" ${hyper.user}@ssh.${hyper.domain}:"$RPATH" ${destination} ''; diff --git a/home-modules/games.nix b/home-modules/games.nix index 4417350..1cb3912 100644 --- a/home-modules/games.nix +++ b/home-modules/games.nix @@ -1,20 +1,19 @@ -{ pkgs, ... }@all: with all; -lib.mkIf (hyper.host == "NxNORTH") -{ +{ pkgs, ... }@all: with all; { home = { - packages = (with pkgs.unstable; [ - protonup - mangohud - - prismlauncher - - # heroic - + packages = (with pkgs; [ + unstable.protonup-ng + unstable.mangohud + ]) ++ (if hyper.host == "NxNORTH" then (with pkgs; [ + unstable.prismlauncher + heroic # mindustry-wayland - ]) ++ [ pkgs.heroic ]; - sessionVariables = { - STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d"; - }; + ]) else if hyper.host == "NxXPS" then (with pkgs; [ + heroic + ]) else if hyper.host == "NxACE" then (with pkgs; [ + heroic + ]) else []); + + sessionVariables.STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d"; }; } diff --git a/home-modules/gpg.nix b/home-modules/gpg.nix index 11e62c9..4980f1b 100644 --- a/home-modules/gpg.nix +++ b/home-modules/gpg.nix @@ -39,10 +39,6 @@ enableFishIntegration = true; defaultCacheTtlSsh = min2sec 60; defaultCacheTtl = min2sec 30; - pinentry = { - package = pkgs.pinentry; - program = "pinentry"; - }; extraConfig = '' allow-loopback-pinentry ''; diff --git a/home-modules/helix.nix b/home-modules/helix.nix index a7fbd30..6287875 100644 --- a/home-modules/helix.nix +++ b/home-modules/helix.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }@all: with all; -{ +{ pkgs, ... }@all: with all; { home = { packages = with pkgs; [ # nixfmt-classic # nix formater @@ -205,18 +204,18 @@ language = [ { name = "nix"; - language-servers = [ - "nixd" - # "llm" - ]; + language-servers = [ "nixd" ]; } { name = "latex"; language-servers = [ "texlab" "language-tool" ]; } + { + name = "typst"; + language-servers = [ "language-tool" "tinymist" ]; + } { name = "markdown"; - # language-servers = [ "marksman" "style-check" "language-tool" ]; language-servers = [ "language-tool" "marksman" ]; file-types = [ "md" "MD" ]; scope = "text."; @@ -436,8 +435,8 @@ fg = black.bright; }; "ui.virtual.inlay-hint" = { - fg = background; - bg = tertiary.dark; + fg = subtle.base; + bg = subtle.dark; }; "ui.virtual.ruler" = { bg = background; diff --git a/home-modules/hyprland.nix b/home-modules/hyprland.nix index 5cb951d..127f811 100644 --- a/home-modules/hyprland.nix +++ b/home-modules/hyprland.nix @@ -6,6 +6,7 @@ monitors = { xps = { main = { name = "eDP-1"; resolution = "1920x1200"; position = "1920x1080"; scale = "1.0"; }; + # main = { name = "eDP-1"; resolution = "1920x1080"; position = "1920x1080"; scale = "1.0"; }; second = { name = "desc:Sony SONY TV 0x01010101"; resolution = "1920x1080"; position = "1920x0"; scale = "1.0"; }; third = { name = "DP-6"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; }; }; @@ -41,7 +42,7 @@ in { # inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo # inputs.hyprfocus.packages.${pkgs.system}.hyprfocus # inputs.hycov.packages.${pkgs.system}.hycov - pkgs.hyprlandPlugins.hyprspace + # pkgs.hyprlandPlugins.hyprspace # inputs.hyprspace.packages.${pkgs.system}.Hyprspace ]; @@ -51,6 +52,7 @@ in { "${main.name}, ${main.resolution}, ${main.position}, ${main.scale}" "${second.name}, ${second.resolution}, ${second.position}, ${second.scale}" "${third.name}, ${third.resolution}, ${third.position}, ${third.scale}" + " ,preferred, auto, 1, mirror, eDP-1" ]) else (if hyper.host == "NxNORTH" then (with monitors.north; [ "${main.name}, ${main.resolution}, ${main.position}, ${main.scale}" "${left.name}, ${left.resolution}, ${left.position}, ${left.scale}" @@ -161,8 +163,8 @@ in { blur = { enabled = true; - size = "10"; - passes = "2"; + size = "2"; + passes = "4"; xray = false; vibrancy = 0.5; ignore_opacity = true; @@ -213,7 +215,7 @@ in { exec-once = [ "waybar" "swww-daemon" - "hyprland-autoname-workspaces" + # "hyprland-autoname-workspaces" "/usr/lib/polkit-kde-authentication-agent-1 " "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" "syncthing -no-browser" @@ -224,7 +226,7 @@ in { ]; windowrulev2 = [ - "bordercolor rgba(${rice.lib.nohash rice.color.magenta.bright}ff), pinned:1" + "bordercolor rgba(${rice.lib.nohash rice.color.special.bright}ff), pinned:1" "bordersize 0, floating:0, onworkspace:w[tv1]" "rounding 0, floating:0, onworkspace:w[tv1]" @@ -263,7 +265,6 @@ in { # "opacity ${transparency}, class:^(obsidian)$" "opacity ${transparency}, class:^(VSCodium)$" "opacity ${transparency}, title:^(wlogout)$" - "opaque, title:^(GNU Image Manipulation Program)$" "opaque, fullscreen:1" @@ -277,6 +278,7 @@ in { "dimaround, title:^(terminal-file-picker)$" "center, title:^(terminal-file-picker)$" "size 80% 80%, title:^(terminal-file-picker)$" + "size: 30% 30%, initialTitle:^(Select Calendar)$" ]; @@ -354,7 +356,7 @@ in { ## ROW 2: # "SUPER, TAB, hycov:toggleoverview" - "SUPER, TAB, overview:toggle" + # "SUPER, TAB, overview:toggle" # "SUPER, TAB, hyprexpo:expo, toggle" "ALT, TAB, focuscurrentorlast" # "SUPER, TAB, exec, hyprswitch --daemon" @@ -372,7 +374,7 @@ in { "SUPER, I, exec, ${terminal-exec}'hx ~/nix-dots/ && fish'" "SUPER SHIFT, I, exec, ${terminal-exec}'nh home switch || read'" "SUPER CTRL, I, exec, ${terminal-exec}'nh os switch || read'" - "SUPER, O, exec, obsidian " + # "SUPER, O, exec, obsidian " "SUPER, P, pin " # "SUPER, Ü," # "SUPER, +," @@ -408,7 +410,7 @@ in { "SUPER, C, exec, chatterino" "SUPER SHIFT, C, exec, hyprpicker -n -a" "SUPER, V, togglefloating, " - "SUPER, B, exec, bitwarden" + # "SUPER, B, exec, bitwarden" "SUPER, N, togglesplit" # "SUPER, M, exec, /home/nx2/scripts/meme-full-screen/meme-full-screen.sh " # "SUPER, comma, exec, /home/nx2/scripts/change-language.sh" @@ -601,7 +603,9 @@ in { submap = screenshot ${action_simple { key = "W"; cmd = ''exec,hyprshot -m window''; }} ${action_simple { key = "M"; cmd = ''exec,hyprshot -m output''; }} + ${action_simple { key = "S"; cmd = ''exec,hyprshot -m output''; }} ${action_simple { key = "R"; cmd = ''exec,hyprshot -m region''; }} + ${action_simple { key = "A"; cmd = ''exec,hyprshot -m region''; }} bind = , Escape, execr, submap_indicator unset bind = , Escape, submap, reset submap = reset diff --git a/home-modules/mako.nix b/home-modules/mako.nix index 6ead07d..8b3d4b0 100644 --- a/home-modules/mako.nix +++ b/home-modules/mako.nix @@ -1,5 +1,4 @@ -{ config, pkgs, ... }@all: with all; -{ +{ config, pkgs, ... }@all: with all; { home.packages = with pkgs; [ libnotify ]; services.mako = with rice; { enable = if config.programs.hyprpanel.enable then false else true; diff --git a/home-modules/opencode.nix b/home-modules/opencode.nix index 4030b94..eb4f557 100644 --- a/home-modules/opencode.nix +++ b/home-modules/opencode.nix @@ -1,29 +1,29 @@ { pkgs, ... }@all: with all; { home = { packages = with pkgs; [ - opencode + 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; - }; - }; - }; - }; - }; + # 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; + # }; + # }; + # }; + # }; + # }; }; } diff --git a/home-modules/pkgs-list/desktop.nix b/home-modules/pkgs-list/desktop.nix index ea526de..f547585 100644 --- a/home-modules/pkgs-list/desktop.nix +++ b/home-modules/pkgs-list/desktop.nix @@ -13,5 +13,6 @@ wev wl-clipboard xclip + wlr-randr ]; } diff --git a/home-modules/pkgs-list/programs.nix b/home-modules/pkgs-list/programs.nix index 91f65d6..e08b467 100644 --- a/home-modules/pkgs-list/programs.nix +++ b/home-modules/pkgs-list/programs.nix @@ -11,8 +11,11 @@ xfce.thunar ] ++ (if (hyper.host != "NxACE") then [ signal-desktop + unstable.code-cursor-fhs + latest.antigravity obsidian zoom-us inkscape + audacity ] else []); } diff --git a/home-modules/pkgs-list/shell.nix b/home-modules/pkgs-list/shell.nix index 9c35172..69bd4b4 100644 --- a/home-modules/pkgs-list/shell.nix +++ b/home-modules/pkgs-list/shell.nix @@ -2,6 +2,7 @@ home.packages = with pkgs; [ bat cmake + cmatrix dig du-dust dysk @@ -33,6 +34,7 @@ systemctl-tui tldr w3m + which yt-dlp ]; } diff --git a/home-modules/programming.nix b/home-modules/programming.nix new file mode 100644 index 0000000..886de76 --- /dev/null +++ b/home-modules/programming.nix @@ -0,0 +1,12 @@ +{ ... }: { + imports = [ + ./programming/c.nix + ./programming/gleam.nix + ./programming/glsl.nix + ./programming/go.nix + ./programming/java.nix + ./programming/js.nix + ./programming/python.nix + ./programming/rust.nix + ]; +} diff --git a/home-modules/programming/go.nix b/home-modules/programming/go.nix index 40892d5..dfa53d1 100644 --- a/home-modules/programming/go.nix +++ b/home-modules/programming/go.nix @@ -1,8 +1,7 @@ -{ pkgs, ... }@all: with all; -{ - home = { - packages = with pkgs; [ - go - ]; +{ pkgs, ... }@all: with all; { + programs.go = { + enable = true; + package = pkgs.go; + goPath = "${config.xdg.dataHome}/go"; }; } diff --git a/home-modules/programming/rust.nix b/home-modules/programming/rust.nix new file mode 100644 index 0000000..d00e5dd --- /dev/null +++ b/home-modules/programming/rust.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }@all: with all; { + home = { + packages = with pkgs; [ + cargo + clippy + rustc + rustfmt + rust-analyzer + ]; + }; +} diff --git a/home-modules/rofi.nix b/home-modules/rofi.nix index 6a1ed01..b01c746 100644 --- a/home-modules/rofi.nix +++ b/home-modules/rofi.nix @@ -1,114 +1,46 @@ -{ pkgs, ... }@all: with all; -{ - home.packages = with pkgs; [ - rofi-wayland - ]; - home.file = let - trdr = "${rice.lib.float-to-drune rice.transparency}"; - in with rice.color; { - ".config/rofi/config.rasi".text = '' - configuration { - show-icons: false; - display-drun: ""; - disable-history: false; - drun-display-format: "{name} [({generic})] [({exec})]"; - } - - * { - font: "${rice.font.code.name} 12"; - foreground: ${foreground}; - background-color: ${background}${trdr}; - padding: 0px; - margin: 0px; - spacing: 0px; - border-width: 0px; - } - - #window { - background-color: ${background}${trdr}; - border: ${builtins.toString rice.border-width}px; - border-radius: ${builtins.toString rice.rounding}; - border-color: ${border}; - } - #mainbox { - border: 0; - padding: 0; - } - #message { - border: 0px; - } - #textbox { - text-color: ${foreground}; - } - #listview { - fixed-height: 0; - border: 0px; - spacing: 0px ; - scrollbar: false; - padding: 0px; - } - - - - #element { - border: 0; - padding: 0px; - border-radius: ${if rice.rounding > 0 then "2" else "0"}px; - } - - #element.normal.normal { background-color: ${background}${trdr}; text-color: ${accent.base}; } - #element.selected.normal { background-color: ${tertiary.base}${trdr}; text-color: ${background}; } - #element.alternate.normal { background-color: ${background}${trdr}; text-color: ${secondary.base}; } - - - #scrollbar { - width: ${builtins.toString rice.border-width}px ; - border: 0; - handle-width: 8px ; - padding: 0; - } - #sidebar { - border: ${builtins.toString rice.border-width}px dash; - } - #button.selected { - text-color: ${foreground}; - } - #inputbar { - spacing: 0; - text-color: ${background}; - background-color: ${accent.base}${trdr}; - padding: 0; - margine-bottom: 2px; - children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; - } - #prompt { - spacing: 0; - background-color: transparent; - text-color: ${foreground}; - } - #textbox-prompt-colon { - expand: false; - str: ">"; - margin: 0px 0.3em 0em 0em ; - text-color: ${background}; - background-color: transparent; - } - #case-indicator { - spacing: 0; - text-color: ${foreground}; - background-color: transparent; - } - #entry { - spacing: 0; - text-color: ${background}; - background-color: transparent; - placeholder: ""; - } - - element-text, element-icon { - background-color: inherit; - text-color: inherit; - } - ''; +{ pkgs, ... }@all: with all; { + home = { + packages = with pkgs; [ rofi-wayland ]; + file = let # the home-manager module sucks + trdr = "${rice.lib.float-to-drune rice.transparency}"; + ts = builtins.toString; + in with rice.color; { + ".config/rofi/config.rasi".text = '' + configuration { + show-icons: false; + display-drun: ""; + disable-history: false; + } + * { + font: "${rice.font.code.name} 12"; + foreground: ${foreground}; + text-color: ${foreground}; + background-color: transparent; + padding: 0px; + margin: 0px; + spacing: 0px; + border-width: 0px; + } + window { + background-color: ${background}${trdr}; + border: ${ts rice.border-width}px; + border-radius: ${ts rice.rounding}px; + border-color: ${ts rice.color.border}; + } + listview { scrollbar: false; } + element { border-radius: ${ts rice.rounding}px; } + element.normal.normal { background-color: ${accent.darker}; text-color: ${accent.base}; } + element.selected.normal { background-color: ${accent.base}; text-color: ${accent.bright}; } + element.alternate.normal { background-color: ${secondary.darker}; text-color: ${secondary.base}; } + inputbar { children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; } + prompt { } + textbox-prompt-colon { + expand: false; + str: ">"; + } + case-indicator { } + entry { placeholder: ""; } + ''; + }; }; } diff --git a/home-modules/ssh.nix b/home-modules/ssh.nix index c82ddd5..c34df5e 100644 --- a/home-modules/ssh.nix +++ b/home-modules/ssh.nix @@ -8,18 +8,18 @@ nxace = name: { host = name; hostname = "ssh.${hyper.domain}"; - user = hyper.user; + user = "nx2"; port = 50022; identityFile = "${hyper.home}/vault/ssh/nxace-nx2-${hyper.host}"; }; in { - "*" = { - identityFile = [ - "${hyper.home}/vault/ssh/nxgit-nx2-${hyper.host}" - "${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}" - (pkgs.lib.mkIf (hyper.host == "NxDCS") "${hyper.home}/vault/ssh/dcsgit-lkurzweg-${hyper.host}") - ]; - }; + "*".identityFile = [ + "${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; }; diff --git a/home-modules/yazi.nix b/home-modules/yazi.nix index d7e6bae..4bc11cd 100644 --- a/home-modules/yazi.nix +++ b/home-modules/yazi.nix @@ -1,39 +1,17 @@ { pkgs, ... }@all: with all; let - tfc = pkgs.xdg-desktop-portal-termfilechooser; + nox-var = (pkgs.version != "24.05"); + tfc = pkgs.unstable.xdg-desktop-portal-termfilechooser; in { home.packages = [ pkgs.unar tfc ]; - programs.yazi = { enable = true; # package = pkgs.yazi; package = inputs.yazi.packages.${hyper.system}.default; enableFishIntegration = true; - shellWrapperName = "ya"; - initLua = /* lua */ '' - require("zoxide"):setup { - update_db = true, - } - Status:children_add(function() - local h = cx.active.current.hovered - if not h or ya.target_family() ~= "unix" then - return "" - end - - return ui.Line { - ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"), - ":", - ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"), - " ", - } - end, 500, Status.RIGHT) - ''; - plugins = with pkgs; { - inherit glow git; - }; - # initLua = /* lua */ '' ''; + # initLua = /* lua */ '' ''; # down keymap = { mgr.keymap = [ { on = ""; run = "escape"; desc = "Exit visual mode, clear selected, or cancel search"; } @@ -52,24 +30,24 @@ in { { on = ""; run = "arrow 100%"; desc = "Move cursor down one page"; } { on = ""; run = "arrow -100%"; desc = "Move cursor up one page"; } { on = ""; run = "arrow 100%"; desc = "Move cursor down one page"; } - { on = [ "g" "g" ]; run = "arrow top"; desc = "Move cursor to the top"; } - { on = [ "g" "e" ]; run = "arrow bot"; desc = "Move cursor to the end"; } - { on = [ "g" "h" ]; run = "cd ~"; desc = "Go to the home directory"; } - { on = [ "g" "n" ]; run = "cd ~/nix-dots"; desc = "Go to the Nix-Dotfiles directory"; } - (pkgs.lib.mkIf (hyper.host == "NxACE") { on = [ "g" "s" ]; run = "cd /var/lib/hugo/nx2site"; desc = "Go to the Hugo Nx2.Site directory"; }) - { on = [ "g" "n" ]; run = "cd /nix/store"; desc = "Go to the Nix-Store"; } - { on = [ "g" "c" ]; run = "cd ~/.config"; desc = "Go to the config directory"; } - { on = [ "g" "l" ]; run = "cd ~/.locale"; desc = "Go to the .locale directory"; } { on = [ "g" "C" ]; run = "cd ~/.cache"; desc = "Go to the .cache directory"; } - { on = [ "g" "m" ]; run = "cd ~/media"; desc = "Go to the media (udiskie mount) directory"; } - { on = [ "g" "v" ]; run = "cd ~/Videos"; desc = "Go to the Videos directory"; } - { on = [ "g" "t" ]; run = "cd /tmp"; desc = "Go to the /tmp directory"; } - { on = [ "g" "d" ]; run = "cd ~/Downloads"; desc = "Go to the downloads directory"; } + { on = [ "g" "c" ]; run = "cd ~/.config"; desc = "Go to the config directory"; } { on = [ "g" "D" ]; run = "cd ~/Documents"; desc = "Go to the Documents directory"; } - { on = [ "g" "r" ]; run = "cd /"; desc = "Go to the root (/) directory"; } + { on = [ "g" "d" ]; run = "cd ~/Downloads"; desc = "Go to the downloads directory"; } + { on = [ "g" "e" ]; run = "arrow bot"; desc = "Move cursor to the end"; } + { on = [ "g" "g" ]; run = "arrow top"; desc = "Move cursor to the top"; } + { on = [ "g" "h" ]; run = "cd ~"; desc = "Go to the home directory"; } + { on = [ "g" "l" ]; run = "cd ~/.locale"; desc = "Go to the .locale directory"; } + { on = [ "g" "m" ]; run = "cd ~/media"; desc = "Go to the media (udiskie mount) directory"; } + { on = [ "g" "n" ]; run = "cd ~/nix-dots"; desc = "Go to the Nix-Dotfiles directory"; } + { on = [ "g" "N" ]; run = "cd /nix/store"; desc = "Go to the Nix-Store"; } { on = [ "g" "p" ]; run = "cd ~/projects"; desc = "Go to the projects directory"; } + { on = [ "g" "r" ]; run = "cd /"; desc = "Go to the root (/) directory"; } { on = [ "g" "/" ]; run = "cd /"; desc = "Go to the root (/) directory"; } + { on = [ "g" "t" ]; run = "cd /tmp"; desc = "Go to the /tmp directory"; } + { on = [ "g" "v" ]; run = "cd ~/Videos"; desc = "Go to the Videos directory"; } { on = [ "g" "" ]; run = "cd --interactive"; desc = "Go to a directory interactively"; } + (pkgs.lib.mkIf (hyper.host == "NxACE") { on = [ "g" "s" ]; run = "cd /var/lib/hugo/nx2site"; desc = "Go to the Hugo Nx2.Site directory"; }) # Navigation { on = "h"; run = "leave"; desc = "Go back to the parent directory"; } { on = "l"; run = "enter"; desc = "Enter the child directory"; } @@ -92,8 +70,7 @@ in { { on = "O"; run = "open --interactive"; desc = "Open selected files interactively"; } { on = ""; run = "open"; desc = "Open selected files"; } { on = ""; run = "open --interactive"; desc = "Open selected files interactively"; } - { on = "y"; run = [ ''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list'' - "yank" ]; desc = "Yank selected files (copy)"; } + { on = "y"; run = [ ''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list'' "yank" ]; desc = "Yank selected files (copy)"; } { on = "y"; run = "yank"; desc = "Yank selected files (copy)"; } { on = "x"; run = "yank --cut"; desc = "Yank selected files (cut)"; } { on = "p"; run = "paste"; desc = "Paste yanked "; } @@ -180,6 +157,7 @@ in { { on = "{"; run = "tab_swap -1"; desc = "Swap current tab with previous tab"; } { on = "{"; run = "tab_swap -1"; desc = "Swap current tab wittab"; } { on = "}"; run = "tab_swap 1"; desc = "Swap current tab with next tab"; } + { on = ""; run = "spot"; desc = "Show Spot View"; } # Tasks { on = "w"; run = "tasks:show"; desc = "Show Task View"; } ]; @@ -190,8 +168,8 @@ in { { on = ""; run = "close"; desc = "Close Task View"; } { on = "c"; run = "cancel"; desc = "Cancel Task"; } { on = "i"; run = "inspect"; desc = "Inspect Task"; } - { on = "j"; run = "arrow -1"; desc = "Up in list"; } - { on = "k"; run = "arrow 1"; desc = "Down in list"; } + { on = "k"; run = "arrow -1"; desc = "Up in list"; } + { on = "j"; run = "arrow 1"; desc = "Down in list"; } { on = "u"; run = "arrow -5"; desc = "Up in list (fast)"; } { on = "d"; run = "arrow 5"; desc = "Down in list (fast)"; } ]; @@ -201,6 +179,19 @@ in { { on = "?"; run = "help"; desc = "Open help"; } { on = ""; run = "help"; desc = "Open help"; } ]; + spot.keymap = [ + # Spot + { on = ""; run = "close"; desc = "Close Spot View"; } + { on = "q"; run = "close"; desc = "Close Spot View"; } + { on = ""; run = "close"; desc = "Close Spot View"; } + { on = "k"; run = "arrow -1"; desc = "Up in list"; } + { on = "j"; run = "arrow 1"; desc = "Down in list"; } + { on = "u"; run = "arrow -5"; desc = "Up in list (fast)"; } + { on = "d"; run = "arrow 5"; desc = "Down in list (fast)"; } + { on = [ "g" "g" ]; run = "arrow top"; desc = "Move cursor to the top"; } + { on = [ "g" "e" ]; run = "arrow bot"; desc = "Move cursor to the end"; } + { on = "c"; run = "copy cell"; desc = "Copy Selected Cell"; } + ]; }; settings = { mgr = { @@ -215,74 +206,76 @@ in { }; opener = { "edit" = [ - { run = ''hx "$@"''; desc = "helix"; block = true; } - { run = ''codium "$@"''; desc = "code"; orphan = true; } + { run = ''hx "$0" "$@"''; desc = "Helix"; block = true; } + { run = ''codium "$0" "$@"''; desc = "VS Code"; orphan = true; } + { run = ''antigravity "$0" "$0"''; desc = "Antigravity"; orphan = true; } + { run = ''cat "$0" "$@" | wl-copy''; desc = "Copy Contents"; } ]; "play" = [ - { run = ''mpv "$@"''; desc = "mpv"; orphan = true; } - { run = ''mpv --vf=negate "$@"''; desc = "mpv inverted"; orphan = true; } - { run = ''mediainfo "$1"; echo "Press enter to exit"; read''; block = true; desc = "Show mediainfo"; } + { run = ''mpv "$0" "$@"''; desc = "mpv"; orphan = true; } + { run = ''mpv --vf=negate "$0" "$@"''; desc = "mpv inverted"; orphan = true; } + { run = ''mediainfo "$0"; echo "Press enter to return to yazi"; read''; block = true; desc = "Show mediainfo"; } ]; "archive" = [ - { run = ''unar "$1"''; desc = "Extract here"; } - { run = ''tar -x "$1"''; desc = "tar -x"; } - { run = ''unzip "$1"''; desc = "unzip"; } + { run = ''unar "$0" "$@"''; desc = "Extract here"; } + { run = ''tar -x "$0" "$@"''; desc = "tar -x"; } + { run = ''unzip "$0" "$@"''; desc = "unzip"; } ]; "image" = [ - { run = ''imv "$@"''; desc = "imv"; orphan = true; } - { run = ''gimp "$@"''; desc = "gimp"; orphan = true; } + { 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 = ''exiftool "$@"; echo "Press enter to exit"; read''; desc = "View Exif Data"; } - { run = ''for f in "$@"; do magick "$f" -auto-orient "''${f%.*}.pdf"; done''; desc = "Convert to PDF"; } + { 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"; } ]; "svg" = [ - { run = ''inkscape "$@"''; desc = "inkscape"; orphan = true; } - { run = ''firefox "$@"''; desc = "firefox"; orphan = true; } + { run = ''inkscape "$0" "$@"''; desc = "inkscape"; orphan = true; } + { run = ''firefox "$0" "$@"''; desc = "firefox"; orphan = true; } ]; "font" = [ - { run = ''fontpreview "$@"''; desc = "fontpreview"; orphan = true; } - { run = ''fontforge "$@"''; desc = "fortforge"; orphan = true; } + { run = ''fontpreview "$0" "$@"''; desc = "fontpreview"; orphan = true; } + { run = ''fontforge "$0" "$@"''; desc = "fortforge"; orphan = true; } ]; "document" = [ - { run = ''zathura "$@"''; desc = "zathura"; orphan = true; } - { run = ''xournal "$@"''; desc = "xournal"; orphan = true; } - { run = ''firefox "$@"''; desc = "firefox"; orphan = true; } - { run = ''nxgs flip "$@"''; desc = "nxgs flip"; } - { run = ''nxgs rotate "$@"''; desc = "nxgs rotate"; } - { run = ''nxgs interactive-merge "$@"''; block = true; desc = "nxgs merge"; } + { run = ''zathura "$0" "$@"''; desc = "zathura"; orphan = true; } + { run = ''xournal "$0" "$@"''; desc = "xournal"; orphan = true; } + { run = ''firefox "$0" "$@"''; desc = "firefox"; orphan = true; } + { run = ''nxgs flip "$0" "$@"''; desc = "nxgs flip"; } + { run = ''nxgs rotate "$0" "$@"''; desc = "nxgs rotate"; } + { run = ''nxgs interactive-merge "$0" "$@"''; block = true; desc = "nxgs merge"; } ]; "browser" = [ - { run = ''firefox "$@"''; desc = "firefox"; orphan = true; } - { run = ''zen "$@"''; desc = "zen"; orphan = true; } - { run = ''chromium --enable-features=UseOzonePlatform --ozone-platform=wayland "$@"''; desc = "chromium"; orphan = true; } - { run = ''w3m "$@"''; desc = "w3m"; } - { run = ''lynx "$@"''; desc = "lynx"; } + { run = ''firefox "$0" "$@"''; desc = "firefox"; orphan = true; } + { run = ''chromium --enable-features=UseOzonePlatform --ozone-platform=wayland "$0" "$@"''; desc = "chromium"; orphan = true; } + { run = ''w3m "$0" "$@"''; desc = "w3m"; } + { run = ''lynx "$0" "$@"''; desc = "lynx"; } ]; "office" = [ - { run = ''libreoffice "$@"''; desc = "libreoffice"; orphan = true; } - { run = ''libreoffice --view "$@"''; desc = "libreoffice read-only"; orphan = true; } + { run = ''libreoffice "$0" "$@"''; desc = "libreoffice"; orphan = true; } + { run = ''libreoffice --view "$0" "$@"''; desc = "libreoffice read-only"; orphan = true; } ]; "shell" = [ - { run = ''bash -c "$@"''; desc = "bash -c"; } - { run = ''fish -c "$@"''; desc = "fish -c"; } - { run = ''sh -c "$@"''; desc = "sh -c"; } + { run = ''bash -c "$0"; echo "Press enter to return to yazi"; read''; desc = "bash -c"; } + { run = ''fish -c "$0"; echo "Press enter to return to yazi"; read''; desc = "fish -c"; } + { run = ''sh -c "$0"; echo "Press enter to return to yazi"; read''; desc = "sh -c"; } ]; "python" = [ - { run = ''python "$@"''; desc = "python"; } + { run = ''python "$@"; echo "Press enter to return to yazi"; read''; desc = "python"; block = true; } ]; "directory" = [ - { run = ''lazygit "$@"''; desc = "python"; } + { run = ''lazygit "$0"''; desc = "lazygit"; } ]; }; open.rules = [ { mime = "text/html"; use = [ "edit" "browser" ]; } { mime = "text/htm"; use = [ "edit" "browser" ]; } - { mime = "text/x-python"; use = "python"; } + { mime = "text/x-script.python"; use = [ "edit" "python" ]; } + { mime = "text/script.python"; use = [ "edit" "python" ]; } { mime = "text/*"; use = "edit"; } { mime = "text"; use = "edit"; } - { mine = "inode/x-empty"; use = "edit"; } - { mine = "inode/directory"; use = "edit"; } + { mine = "inode/x-empty"; use = "directory"; } + { mine = "inode/directory"; use = "directory"; } { mime = "image/*"; use = "image"; } { mime = "image/svg"; use = [ "image" "edit" ]; } @@ -333,8 +326,6 @@ in { tabs = { active = { fg = secondary.dark; bg = secondary.base; }; inactive = { fg = secondary.base; bg = secondary.dark; }; - # sep_inner = - # sep_outer = }; status = { separator_open = " "; #""; @@ -403,15 +394,39 @@ in { ]; }; }; - }; + } // (if nox-var then { + shellWrapperName = "ya"; + initLua = /* lua */ '' + require("zoxide"):setup { + update_db = true, + } + Status:children_add(function() + local h = cx.active.current.hovered + if not h or ya.target_family() ~= "unix" then + return "" + end + + return ui.Line { + ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"), + ":", + ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"), + " ", + } + end, 500, Status.RIGHT) + ''; + plugins = with pkgs; { + inherit glow git; + }; + } else {}); + xdg = { configFile."xdg-desktop-portal-termfilechooser/config" = { force = true; text = '' [filechooser] cmd=${tfc}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh - env=TERMCMD=ghostty --title="terminal-file-picker -e" default_dir=$HOME + env=TERMCMD=ghostty --title="terminal-file-picker -e" open_mode=suggested save_mode=last ''; diff --git a/home.nix b/home.nix index c965d32..a35891f 100644 --- a/home.nix +++ b/home.nix @@ -42,13 +42,7 @@ ./home-modules/pkgs-list/programs.nix ./home-modules/pkgs-list/shell.nix ./home-modules/pnx.nix - ./home-modules/programming/c.nix - ./home-modules/programming/gleam.nix - ./home-modules/programming/glsl.nix - ./home-modules/programming/go.nix - ./home-modules/programming/java.nix - ./home-modules/programming/js.nix - ./home-modules/programming/python.nix + ./home-modules/programming.nix ./home-modules/qt.nix ./home-modules/rclone.nix ./home-modules/rofi.nix diff --git a/nix-on-droid.nix b/nix-on-droid.nix deleted file mode 100644 index fe30dc8..0000000 --- a/nix-on-droid.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ pkgs, ... }@all: with all; -{ - # Simply install just the packages - environment.packages = with pkgs; [ - helix - git - lazygit - yazi - ]; - - # Backup etc files instead of failing to activate generation if a file already exists in /etc - environment.etcBackupExtension = ".bak"; - - # Read the changelog before changing this value - system.stateVersion = pkgs.version; - - # Set up nix for flakes - nix.extraOptions = '' - experimental-features = nix-command flakes - ''; - - # Set your time zone - time.timeZone = "Europe/Berlin"; -} diff --git a/nod.nix b/nod.nix new file mode 100644 index 0000000..3aef4ec --- /dev/null +++ b/nod.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }@all: with all; { + environment = { + packages = import ./system-modules/base-packages.nix pkgs; + etcBackupExtension = ".bak"; + motd = ""; + }; + terminal = { + font = rice.font.code.regular-path; + }; + android-integration = { + termux-setup-storage.enable = true; + }; + system.stateVersion = pkgs.version; + nix.extraOptions = '' + experimental-features = nix-command flakes + ''; + user ={ + shell = "${pkgs.fish}/bin/fish"; + # userName = pkgs.lib.mkForce hyper.user; if its read-only, whats the point of this option??? + }; + + + # Set your time zone + time.timeZone = "Europe/Berlin"; + + home-manager = { + config = import ./shell-only.nix; + useGlobalPkgs = true; + backupFileExtension = "backup"; + extraSpecialArgs = { inherit (all) inputs hyper rice; }; + }; +} diff --git a/shell-only.nix b/shell-only.nix index 00299ae..8341478 100644 --- a/shell-only.nix +++ b/shell-only.nix @@ -12,7 +12,7 @@ ./home-modules/nixd.nix ./home-modules/nxgs.nix ./home-modules/pandoc.nix - ./home-modules/programming/c.nix + # ./home-modules/programming/c.nix ./home-modules/programming/gleam.nix ./home-modules/programming/go.nix ./home-modules/programming/java.nix @@ -30,7 +30,7 @@ home = { username = hyper.user; homeDirectory = hyper.home; - stateVersion = hyper.pkgs-version; + stateVersion = pkgs.version; }; xdg = { enable = true; diff --git a/sops-secrets.yaml b/sops-secrets.yaml index ea8f94e..c814470 100644 --- a/sops-secrets.yaml +++ b/sops-secrets.yaml @@ -58,69 +58,78 @@ sops: - recipient: age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxODZibjJwSGRJYVpyRXFh - UmFmRVIwOGhFaHhpb05iRGtTSnV0UUlkOUd3CnFiOTJ4cTN0OHYvQTlScy9NYXAr - a1A1YzFkdkttenhRa1NIUnhuVEZiLzgKLS0tIFVkTDRZNWhHeHN3MWNTSHJRbSs0 - Nk5FcnBaSkhWcXZaeCtQMDJaVEc1aEEK71jQkA/mOqNIdcNYHDnb43MEVKyNIOpT - 8J/CV6U5M+YGNvkHXafNFccHKY8dFPVDzcJl0lthECjcGrplzNEWNw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6U0NCaG16bGl4Uy9JdkpV + alRjakVGQkM4ZzdsWDlJWTFQdlJ3dHB5dm1vCmtHSE9oS1dhc0ZvemVTTFJ3TWJ2 + YlZZd3VLaXM1dllPVTR1TElQdXIvMHcKLS0tIFoxbnlMVFVWaWp0R1RvSmpNcC9s + UDREUnEweDY1UU5QTjEySUdERjEwMkkKCt6wGWglsfmTfnR+qesaxfb0/lKizXjd + QnXb7ynqAx+0/mg5QXEE6S9nzfN/Shm84aR98VRptyYeDHk4jZhZxw== -----END AGE ENCRYPTED FILE----- - recipient: age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBK0dKQWQyOW8xQ0RMOXlv - SStnV0R1QWNlZlVrUGdqSTVUSUJHL09RQW5BCk1OL2NLVFk1R1kzTjc1OUR5TmVC - MXI0ZnoxcVRoNHFOa2FJT0RvOUtTakUKLS0tIC82QzlJT0RjVHo0aXZOckNNNElO - WjZEL0NzL0NzOUdMK3FaOE5Ub2x5OXcKOAahFXWAQNagHz2G+O1TPiKB7UqUl8p2 - K89cGfal6M2ui403lb2ygEi+v6K908Kh9MzGaDtR0r2k7kGQS4aFmg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEbDhLenZ5cTF2RmU3aWFR + TDN3VXZJamN2WXVGejNqdWZzR1Frb0sxeG0wCk1OaVF4UGJ2elZ3eHBhOU1McjhG + TWZqVFZLbW1wVDlhKy9DeU5XQURMT2cKLS0tIHdNQTJkZFg1cS9sdERjZkhYbDJy + RWVkczdGZlFQRENkbEdlb1c5bHA4ZEEKPS2AB8yyJ3An7PkWDJQj135MT7NGeOPj + dpalfnbvDw6uK9APGGkM35xIKYTy+kal4Qx4U5BAmaH57EWqL22Rpg== -----END AGE ENCRYPTED FILE----- - recipient: age1jj7kfjw3e7rf9kwg5f87zf4ns6yr5465wcasanr9gcgwrq7c6dmq6gprgk enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaNGhjNHlubGp3QzRkRy9i - UmM0ZlE5UUxhM0tCeHkwOUt2VEt1YldnNnhrCnZHWlpWZ3BpZ1BlYTlVVmFZQ2Q4 - RlF5UldLdDNOZTB6UDlBcldqRmhyTDQKLS0tIG5OZjZkdnNnbTZ2K3kzNGdqdGFE - RUdad1FHMTVFVU8xRmpCdHRnK0Z5ZkkKb+25mUdPRozNnyPXGCJOe+xtsOZVe4oy - SDpdoSASzq2uljMxVPyINJcbEThJriZAzC30Qt2aroc2zo3dnsnVMg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLT0I0MDdUZWRXaFNJN2FK + bm40a1QwdFdpQ3RManhXYWxmMkZXRGhiaTN3CnRqdmZ1bHhCTXh2c3gxeGJOYS9i + VDNDZWRhT0FYczQ3Q2ExQXBacURZaGsKLS0tIHdwbU5SbVk1YVdqd0l1dUg1bC9v + eEcydGlvNGcvTGI4OE1jek1WVE5jajQKhgxCDgmRbokbcHG+8OlJYms4NgVaHPqO + feXp9tvnTPpFcGIcN8pBE3ZRRJDshyubR9FyHmfUmSNJTtFOEjhR7g== -----END AGE ENCRYPTED FILE----- - recipient: age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArV094ZWwvTzJuYlE1Um14 - K09wUlcxdFc1eFB3bXgrSXlRK3ZRSnB1QXhBClhNZVFIRHBVUGkwOVk3ejc5b0FN - cEtkSTFHZ1FWUDQzZUJBbHRsMnhWMUkKLS0tIDhQWGpvV01TRHY0VnJCclRsVHl6 - YkZJWm5xWlh2NmtibnVPYSs2QjF0TW8KRj+d44ttYXoElSzxv6n4u9NL/aeXJQpc - Fc0797glPXgInJZkQSzCmjKs6LzY82I5D34evwuFzuwD/TMAGyo0/g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxTkV0MEhqL2NJYTdRWDRl + aHpJeFNsMjNJUUYxRklIVmZDRHd6NkVrTTBJCnUwMFA5RWxCTTdxcGJSQVExdjcy + Zjg4NW9UQW5BWTI4TzRVS2t4K21oN28KLS0tIDhpUmF2OHlTUnpGVnUrbWNIV3RQ + eUZ2OC9Za2lJdjdmdWo3UzV3VHVldU0K2txL8P3NxMaTzjo+geMeBZr8fr3iuf6o + m6L3vbAx/PMgfSVFpV6jZ6lyNfQkyEtP5BIUIWbdX5qdGscfb+Gr4g== -----END AGE ENCRYPTED FILE----- - recipient: age1pn4utvwpqdrswn0xurfdexn5nks9cd06jxzwg3m3m6za25ap4vxqxd0p3k enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAreTRVWkxiNnZKeFFiNVA2 - ZldmbXpUN2lyYjh0M0ZNSHpHRGk0aHpkUUZzCmhrZnBTWTlTYU13K2YwNFVCT1px - ZUhWODQrZHlIR2RQOFhmUXY2NXI3QUkKLS0tIHlDcnI0dGt3a2h6a3l1YkRMNkVr - QVRCdkMza3JDb01mdW5mbTZtbFVVR3MK3dww+AlRaTwe2oveZzcRaKgLE++U0jxJ - kaC8DmqQh/XbiqlJ9sIIg6PfmyME7ACe31TkZVc1MhSvVePmxRRLYQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlVktxTmx4QXQrOEhNTCtq + R3FML2ZubHovblU2OTBBQXB1Mkw0OTVqaTNJCkNmeEw2OW9DNm1qcUJFeUYycE15 + dmxsYnRyTnp5UkVnWWMzTU1yZTFBZTAKLS0tIGRjK1hrMVBUOTNxSGZ0WmsyRUEy + dWZjOEFQc2lUMnFQNnVLd3NDcjh4NWsKUFIzHvms3UCwDGvWT527vzE1sKPfdmD6 + jXw6KUc/AhkVzVndbLxO1pyvP//oj5uPmhF6BwSYOhL/ZBnRtTF2JQ== -----END AGE ENCRYPTED FILE----- - recipient: age1ur5zpr325cv7w0yn49azz9f48xsxd73w2sytt22yrnw5qs9r34nsv3vl05 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoR1g0Wk1idkFVbUlNaEls - dlRMWHNFMW5HSmtyUlF5YnBMZkFGUzFEZ0ZRCmZoZDZDRlFIbk5mQU1Kbk9hU0p6 - WldxaHpuZVlqVkJyK0hEZkFaV2FKZG8KLS0tIGxMdFJBc1pDMmpKVm5mbTFRUU9m - SUwwSStwcmw0VDFLdTlqZDViV0k3YTgKukCR3ZJaJpEHNCxoisES9/uIULz1E7XW - w4VVHk+0fuTUCcCWz/Lpw58OgNdNz7mAx8Ji2Uyid3qTkd6NjdCVaA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUdjlZeFVnR1k3QzZXUnR5 + UVdvTGlYNDdYY0pqV3dZeDFKUnY2Y1E3RUhBCm1UeEVpTEl5a2ExdnVKTllRbndQ + V244Z2FseVJrU3ZsV2k0RGdGWm5NZmsKLS0tIDVVOXU3b1ZMaFhoYXRja0VVNnM4 + ZUs5KzQ0QXhCM2dtU29BaEtUUkRIV00KTmwcQmY3nZSNa305kwcKf4RcHMb9CSHr + N59taRkc81uKsMf/Tma5WasrnaHEtE2vd6Kl8rpPw3HcfnpcLjXBPA== + -----END AGE ENCRYPTED FILE----- + - recipient: age1jr72q042ccgxpdgdaaev0arzc0vh3r02etv2tzhhsejl0mfaxs3q9hhlaz + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrcVlEQU5WcXVpMTdlUjU5 + V2U1cXNwdkh6WjNLQVpIUGErZE9QeTIvM25FCmprU1Q3OVBBNFp6MTRZMkZWMjlQ + ZXdQemlXQWlIZk1WUFBZM090NlJ3OTAKLS0tIGtYZHYzZ0t6SmFQV3JoUEp6N2kr + MkZGai9DZ3ZzT0I2MmMwRzVkcFhXdlEKLbM/9kCpiXLW8Me4MDq+JFifG7FhwPZS + 5t4zNtuLttY3NUwT9KK4g4P+Yl10oNsjcCbGNYTxlIARFEU+X6zwUQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2025-09-07T21:03:20Z" mac: ENC[AES256_GCM,data:x8eIqQQGxtB5ukScesN1Lf4cFicTOi3VSOr/hFxKzccgwW7HLLEqwjai6e67KUFC2otaN9TR7ft0tUsTVwWRVRCHnpEoQ5KshLHy2zsk+CmPIpWTLCZJBpe154z3rRLlc10DCM7yhqArzepw0HgE4j1knADqLVwC7e0k+o/OmE8=,iv:uXeIv19J3LmYg7gtA2SGUSoMe9uccrvvztlDFSSs1V8=,tag:YTJpZdw1K+7//EARR+MviA==,type:str] pgp: - - created_at: "2025-10-04T23:33:42Z" + - created_at: "2025-10-06T11:16:18Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DCvJ7ODFw5jQSAQdAwFhdvVSDAhK6TQhL1Jd+Bw9KNHD5BhzMxM04+tsOmVMw - DDFAuBEfqGGzsJfrWPfdJJOPGYHK3vz/O6zitpCy1cF7EuSkak11nLDAG6Itozuv - 0l4BS8mBaxvNcJUePYCq0SY7qVmu+OGnchKJ2e3suJllxZ+Uxc9WDSBxRVGMcwXo - N2d/0dtdU8HAP70/L2SeTDMgK+lX++71DGAO45+c040GbMnB1SGJfWDa71b0BHVS - =5jtR + hF4DCvJ7ODFw5jQSAQdAebf7Ev93A/xdNTsw9ioAQTAehE14ZrIZiA9qNv9SjwIw + zT17RspkPejqo1K54zO3UkkocBZ30gzUkoIdxfISqd58QDHTNEsnoI7mVf8mod/c + 0l4BUCEcibdn1XyQ9y55TbLhn/N6b+BxV9TKpRiFSLXSFIgHTe0PCSBxJkYgckFH + ZD0A4PtsylyuVYKKD5/2ZwAKLeAfY6nWBxoQrI6ZpT6i9040Rv2f8s5jJxrStLyx + =9nNP -----END PGP MESSAGE----- fp: 22FB2CC03DC5292AB81CF67D0AF27B383170E634 unencrypted_suffix: _unencrypted diff --git a/splash.png b/splash.png deleted file mode 100644 index 26b77f3..0000000 Binary files a/splash.png and /dev/null differ diff --git a/splash.webp b/splash.webp new file mode 100644 index 0000000..7481768 Binary files /dev/null and b/splash.webp differ diff --git a/system-modules/base-packages.nix b/system-modules/base-packages.nix index 0ccdd77..6634ce6 100644 --- a/system-modules/base-packages.nix +++ b/system-modules/base-packages.nix @@ -1,19 +1,18 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; ([ - git - git-crypt - lazygit # home-manager module is bugged - wget - curlHTTP3 - zip - unzip - p7zip - unar - vim - htop - openssl - dmidecode - file - ]); +pkgs: with pkgs; [ + busybox + # coreutils-full + gitFull + git-crypt -} + wget + curlHTTP3 + zip + unzip + p7zip + unar + vim + htop + openssl + dmidecode + file +] diff --git a/system-modules/boot.nix b/system-modules/boot.nix index b99e5b1..985d9f2 100644 --- a/system-modules/boot.nix +++ b/system-modules/boot.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }@all: with all; -let +{ pkgs, ... }@all: with all; let grub-theme-ascii-diana = (pkgs.fetchFromGitea { domain = "git.${hyper.domain}"; owner = "nx2"; @@ -9,6 +8,10 @@ let }); device-boot = if hyper.host == "NxNORTH" then { kernelPackages = pkgs.linuxPackages_zen; + kernelParams = [ + "fbcon=margin:1" + "fbcon=nodefer" + ]; lanzaboote = { enable = true; pkiBundle = "/var/lib/sbctl"; @@ -19,7 +22,7 @@ let configurationLimit = 10; }; } else if hyper.host == "NxXPS" then { - kernelPackages = pkgs.linuxPackages_latest; + kernelPackages = pkgs.linuxPackages; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; kernelModules = [ "v4l2loopback" ]; extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS VCam" exclusive_caps=1''; @@ -62,8 +65,6 @@ in { ] else []; config = { environment.systemPackages = with pkgs; lib.mkIf ( host == "NxNORTH" ) [ sbctl ]; - boot ={ - tmp.useTmpfs = false; - } // device-boot; + boot = { tmp.useTmpfs = false; } // device-boot; }; } diff --git a/system-modules/calendar/lec.nix b/system-modules/calendar/lec.nix index b00c8fc..7db416a 100644 --- a/system-modules/calendar/lec.nix +++ b/system-modules/calendar/lec.nix @@ -1,7 +1,7 @@ { pkgs, ... }@all: with all; { systemd.timers."nx_cal_lec" = { - enable = true; + enable = false; wantedBy = [ "timers.target" ]; timerConfig = { OnBootSec = "40m"; diff --git a/system-modules/dm.nix b/system-modules/dm.nix index 21919d8..13aff1d 100644 --- a/system-modules/dm.nix +++ b/system-modules/dm.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }@all: with all; -{ +{ pkgs, ... }@all: with all; { services.greetd = { enable = true; settings = rec { @@ -10,15 +9,23 @@ default_session = hyprland; vt = 2; }; + # useTextGreeter = true; }; - systemd.services.greetd.serviceConfig = { - Type = "idle"; - StandardInput = "tty"; - StandardOutput = "tty"; - Standarderror = "journal"; # Without this errors will spam on screen - # Without these bootlogs will spam on screen - TTYReset = true; - TTYVHangup = true; - TTYVTDisallocate = true; - }; + # services.displayManager.ly = { + # enable = true; + # package = pkgs.ly; + # settings = { + # # animation = "matrix"; + # # clear_password = true; + # clock = "%c"; + # lang = "de"; + # load = true; + # # numlock = false; + # save = true; + # }; + # }; + + # environment.systemPackages = with pkgs; [ + # cmatrix + # ]; } diff --git a/system-modules/games.nix b/system-modules/games.nix index 5d90705..a54913e 100644 --- a/system-modules/games.nix +++ b/system-modules/games.nix @@ -1,15 +1,7 @@ -{ pkgs, ... }@all: with all; -lib.mkIf (hyper.host == "NxNORTH" || hyper.host == "NxACE") -{ +{ pkgs, ... }@all: with all; { programs = { - steam = { - enable = true; - }; - gamemode = { - enable = true; - }; - gamescope = { - enable = true; - }; + steam.enable = true; + gamemode.enable = true; + gamescope.enable = true; }; } diff --git a/system-modules/health_reminder.nix b/system-modules/health_reminder.nix index a91228f..123d653 100644 --- a/system-modules/health_reminder.nix +++ b/system-modules/health_reminder.nix @@ -2,7 +2,7 @@ lib.mkIf (hyper.host != "NxACE") { systemd.timers."health_reminder" = { - enable = true; + enable = false; wantedBy = [ "timers.target" ]; timerConfig = { OnBootSec = "30m"; diff --git a/system-modules/users.nix b/system-modules/users.nix index b6c11c5..22cc8d5 100644 --- a/system-modules/users.nix +++ b/system-modules/users.nix @@ -31,6 +31,7 @@ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE5sYVtPLHXatTjrpol46xr9R4TidcB4t8axO6/ReNNR nxxps-nx2@nxace" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC/zcoYuYbamTPMOZPfsP1yQJ5Y6sDlPfBwui8MQjKWn nxnorth-nx2@nxace" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMnbJx7nVeVi5jK1Eybm+jQoopiCTslewuHFLv2yCt4f nxdcs-nx2@nxace" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHOWa0xeARLSGbliVCqloGRvF7KlM6TcJSFhd+BxcvRt nxs23u-nx2@ssh.nx2.site" ]; }; }; diff --git a/nixos-wsl.nix b/wsl.nix similarity index 100% rename from nixos-wsl.nix rename to wsl.nix