diff --git a/configuration.nix b/configuration.nix index 9669234..b02001b 100644 --- a/configuration.nix +++ b/configuration.nix @@ -76,6 +76,8 @@ }; hardware.graphics.enable = true; + hardware.graphics.enable32Bit = true; + services.hardware.openrgb.enable = true; # Bootloader. boot.loader.grub.enable = true; @@ -115,17 +117,25 @@ extraGroups = [ "networkmanager" "wheel" + "docker" ]; shell = pkgs.fish; }; nixpkgs.config.allowUnfree = true; + programs.niri.enable = true; programs.hyprland = { enable = true; xwayland.enable = true; }; + # environment.loginShellInit = '' + # if [ "$(tty)" = "/dev/tty1" ] && [ -z "$WAYLAND_DISPLAY" ]; then + # exec start-hyprland + # fi + # ''; + # NFS / MPD fileSystems."/media/music" = { device = "192.168.132.149:/media/music"; @@ -133,15 +143,16 @@ }; boot.supportedFilesystems = [ "nfs4" ]; - environment.variables.QT_QPA_PLATFORMTHEME = "qt5ct"; qt = { enable = true; platformTheme = "qt5ct"; style = "breeze"; }; + virtualisation.docker.enable = true; services.goxlr-utility.enable = true; services.lact.enable = true; + programs.kdeconnect.enable = true; programs.neovim.enable = true; programs.tmux.enable = true; programs.bat.enable = true; @@ -180,10 +191,25 @@ enable = true; alsa.enable = true; pulse.enable = true; + jack.enable = true; }; + security.pam.loginLimits = [ + { + domain = "@users"; + item = "rtprio"; + type = "-"; + value = "95"; + } + { + domain = "@users"; + item = "memlock"; + type = "-"; + value = "unlimited"; + } + ]; + security.rtkit.enable = true; - systemd.services."rtkit-daemon".enable = true; system.stateVersion = "24.11"; system.autoUpgrade.enable = false; diff --git a/flake.lock b/flake.lock index 1bf0ea6..56eadb8 100644 --- a/flake.lock +++ b/flake.lock @@ -15,37 +15,54 @@ "type": "github" } }, + "dank-qml-common": { + "flake": false, + "locked": { + "lastModified": 1784647395, + "narHash": "sha256-kcLSJC8XBzmWoSBc90Zn81qrNsqWMkwQ1m/zZixOw30=", + "owner": "AvengeMedia", + "repo": "dank-qml-common", + "rev": "1919595f0dde4f5bf5ac0baa1902ff6d070971d5", + "type": "github" + }, + "original": { + "owner": "AvengeMedia", + "repo": "dank-qml-common", + "type": "github" + } + }, "discord-music-presence": { "inputs": { "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1779460892, - "narHash": "sha256-/BjfCD3ws1xroJ/vUJ6GYtvoVythAjbUHpUHP9mcmPY=", + "lastModified": 1783642963, + "narHash": "sha256-emlpqPMFcNI+amdIwg2a1sn5HBVlsDc18QeczCaJyI8=", "ref": "refs/heads/master", - "rev": "537d0dd2844f85598994f493825f1f9d967af4e2", - "revCount": 10, + "rev": "ac9ddf20a3094ee9870989c3bc6016ecff2ee6c7", + "revCount": 12, "type": "git", - "url": "https://tangled.org/xaiya.dev/nix-pkgs" + "url": "https://git.pizzasucht.net/KeksNino/discord-music-presence-flake.git" }, "original": { "type": "git", - "url": "https://tangled.org/xaiya.dev/nix-pkgs" + "url": "https://git.pizzasucht.net/KeksNino/discord-music-presence-flake.git" } }, "dms": { "inputs": { + "dank-qml-common": "dank-qml-common", "flake-compat": "flake-compat", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1783376149, - "narHash": "sha256-8OtuiFN++vFAgzsSuqI+5zsriTbkwZS9575p/ulxuP0=", + "lastModified": 1784652660, + "narHash": "sha256-NHPqw6YE8T5qviGoSQNa6iofNKeVbclOk8a+ZxcUwQI=", "owner": "AvengeMedia", "repo": "DankMaterialShell", - "rev": "8a1acb63c9b06a4eac276c96e7ac2a1f7de6bf7e", + "rev": "53c729f6857d14144ddda8d80eb62fdefc939ee8", "type": "github" }, "original": { @@ -106,6 +123,45 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gsr-ui": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1784064149, + "narHash": "sha256-yJ+YH7ZjNTnU33wnNRs21dGILG+5Ewt2s+B4OAi8SOU=", + "owner": "rPlakama", + "repo": "gsr-ui-nix", + "rev": "42838d89e48b5c32bcf0e6a670e5daaa084229dc", + "type": "github" + }, + "original": { + "owner": "rPlakama", + "repo": "gsr-ui-nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -113,11 +169,11 @@ ] }, "locked": { - "lastModified": 1783358420, - "narHash": "sha256-UEyBpf+XmQe8laXfDzIlo11Er7E0rKrLS8jeMnMj0Ds=", + "lastModified": 1784588016, + "narHash": "sha256-ouZe80aWEhMLVMkqICFDN+JUw+0FJtCr/bh+hHtRtMg=", "owner": "nix-community", "repo": "home-manager", - "rev": "0d33882bd46c1f9ef62276700f5e5f2bd6ff6604", + "rev": "deeb6b7eb7e0c44ae1819c051ce175bd92a85100", "type": "github" }, "original": { @@ -134,11 +190,11 @@ ] }, "locked": { - "lastModified": 1782839684, - "narHash": "sha256-vzs4SBgPsK4aNzlJR2PpFwtARazXMOxZonQnDz0YHxk=", + "lastModified": 1783963347, + "narHash": "sha256-r376E2XpakiXwModDHIxlvB6qLq4iFVEq730vxOO4JY=", "owner": "nix-community", "repo": "home-manager", - "rev": "2a37d71bbe69e1522ddabf03a4cea0374958bdbe", + "rev": "a45a7c451455a51ae740ec3bce4024b312809c29", "type": "github" }, "original": { @@ -154,11 +210,11 @@ }, "locked": { "dir": "packages/nix", - "lastModified": 1783532163, - "narHash": "sha256-n+YQKnVt0H1B2z6N1PmaadeVorRHi956q48/g2y8Hnc=", + "lastModified": 1784048235, + "narHash": "sha256-ar1xg5HFbz6XJ/BAOo37ewfnMcsLHj0/088soIvXKIo=", "owner": "SteamClientHomebrew", "repo": "Millennium", - "rev": "3623ed0ed9f6065ce666cb0276ff0b903fee2355", + "rev": "df5a3572fd2366b4aa689abd655ee48296ba1afd", "type": "github" }, "original": { @@ -234,11 +290,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1783386518, - "narHash": "sha256-a8mRODbGSR7QY0tW9DuaavGRrCcfyIjH1H1m2WOsZlk=", + "lastModified": 1784657939, + "narHash": "sha256-TXrHguIvOnL98UhZd7M7W6ipN6TxmEUE66pfTR+2z3k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "18221029c0b078f57210bbabc8ddd0b63c6715c0", + "rev": "234f793425454078331c82c42294a667fa35992e", "type": "github" }, "original": { @@ -281,11 +337,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1782723713, - "narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=", + "lastModified": 1784007870, + "narHash": "sha256-djcLt/JJphyNt4eDY9XTly+/WbCK5lqWq9lSgCmJkkQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8", + "rev": "18b9261cb3294b6d2a06d03f96872827b8fe2698", "type": "github" }, "original": { @@ -295,13 +351,35 @@ "type": "github" } }, + "noctalia": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1784655846, + "narHash": "sha256-SQ8aNWSpkCrsuC211YLncxNr6mHPoPQRDt+5PjcjKF8=", + "owner": "noctalia-dev", + "repo": "noctalia", + "rev": "2eaa524cfdb25c8cc468e781b467e2e9ed075e9a", + "type": "github" + }, + "original": { + "owner": "noctalia-dev", + "repo": "noctalia", + "type": "github" + } + }, "root": { "inputs": { "discord-music-presence": "discord-music-presence", "dms": "dms", + "gsr-ui": "gsr-ui", "home-manager": "home-manager", "millennium": "millennium", "nixpkgs": "nixpkgs_3", + "noctalia": "noctalia", "sls-steam": "sls-steam", "xremap-flake": "xremap-flake", "yazi": "yazi", @@ -336,11 +414,11 @@ ] }, "locked": { - "lastModified": 1783322884, - "narHash": "sha256-BmYEQewp9fCTP6KFGnYh2dh6EjMj62FfJQTrksSSN3c=", + "lastModified": 1784138783, + "narHash": "sha256-sQDwDAIZDUILLle+mcD8pux/kgiv2Ozeh7Y9F6GTkrQ=", "owner": "AceSLS", "repo": "SLSsteam", - "rev": "8ef40a2bdc662331f215775e525e1b010a2ffba3", + "rev": "9cc2ff2e57ae71620614c580d54195bb1d4b6d43", "type": "github" }, "original": { @@ -364,6 +442,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "xremap": { "flake": false, "locked": { @@ -404,16 +497,16 @@ }, "yazi": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_5", "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1783501452, - "narHash": "sha256-gSdIueInGLAAZwD3aZk/hFhhzZCBrtys/Im3FelePhw=", + "lastModified": 1784595560, + "narHash": "sha256-fIfothdeD9EF+0+N2//4HedPMRCMnXDs5evz2qYgUYY=", "owner": "sxyazi", "repo": "yazi", - "rev": "dbb0cc0d556d73935ebdc1e3d61a2a8aa27059d2", + "rev": "6aa75594dbea287001c823853235e6a4f9d45997", "type": "github" }, "original": { @@ -428,11 +521,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1783489920, - "narHash": "sha256-sZediA0pfMCXm6nA6fvO1vEsWvybEvP5GCnaAPDcTq0=", + "lastModified": 1784586513, + "narHash": "sha256-ewIv3xH9bQK7uMkU3xK6NWFEW5oIuAtIny8ifJwcY/E=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "3671c6eceee35fd06fd1f60b71eed968cc9d7449", + "rev": "0ea161e9ac257510acabfb6e9dbf13630298760d", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index fd64726..5788329 100644 --- a/flake.nix +++ b/flake.nix @@ -13,11 +13,19 @@ url = "github:AceSLS/SLSsteam"; inputs.nixpkgs.follows = "nixpkgs"; }; + noctalia = { + url = "github:noctalia-dev/noctalia"; + inputs.nixpkgs.follows = "nixpkgs"; + }; zen-browser.url = "github:0xc000022070/zen-browser-flake"; xremap-flake.url = "github:xremap/nix-flake"; - discord-music-presence.url = "git+https://tangled.org/xaiya.dev/nix-pkgs"; + discord-music-presence.url = "git+https://git.pizzasucht.net/KeksNino/discord-music-presence-flake.git"; yazi.url = "github:sxyazi/yazi"; millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix"; + gsr-ui = { + url = "github:rPlakama/gsr-ui-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -32,6 +40,8 @@ yazi, millennium, dms, + noctalia, + gsr-ui, ... }: let @@ -48,23 +58,35 @@ ./hardware-configuration.nix home-manager.nixosModules.home-manager xremap-flake.nixosModules.default + gsr-ui.nixosModules.default { nixpkgs.overlays = [ yazi.overlays.default millennium.overlays.default ]; + environment.systemPackages = [ + discord-music-presence.packages.${system}.discord-music-presence + zen-browser.packages.${system}.default + ]; + home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.user = import ./home-manager/home.nix; home-manager.extraSpecialArgs = { - dms = dms; + inherit dms noctalia; }; home-manager.backupFileExtension = "backup"; + programs.gpu-screen-recorder = { + package = gsr-ui.packages.${system}.gpu-screen-recorder; + enable = true; + ui.enable = true; + }; + # xremap services.xremap.enable = true; services.xremap.withHypr = true; @@ -96,12 +118,6 @@ } ]; } - ({ - environment.systemPackages = [ - discord-music-presence.packages.${system}.discord-music-presence - zen-browser.packages.${system}.default - ]; - }) ]; }; }; diff --git a/home-manager/home.nix b/home-manager/home.nix index da0e778..30b350d 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -1,15 +1,19 @@ { pkgs, - dms, config, + dms, + noctalia, ... }: { imports = [ ./mpd.nix dms.homeModules.dank-material-shell + noctalia.homeModules.default ]; + # programs.noctalia.enable = true; + home.username = "user"; home.homeDirectory = "/home/user"; xdg.userDirs = { @@ -20,6 +24,7 @@ }; }; home.pointerCursor = { + enable = true; gtk.enable = true; package = pkgs.adwaita-icon-theme; name = "Adwaita"; @@ -36,14 +41,9 @@ enable = true; enableFishIntegration = true; git = true; + icons = "always"; extraOptions = [ - "-a" - "--long" - "--no-time" - "--no-user" - "--no-permissions" - "--no-filesize" - "--icons=always" + "-1" ]; }; @@ -55,11 +55,13 @@ programs.lazygit.enable = true; programs.lazygit.enableFishIntegration = true; - programs.rbw.settings = { + programs.rbw = { enable = true; - pinentry = pkgs.pinentry-curses; - email = "KeksNino@proton.me"; - base_url = "https://vw.pizzasucht.net"; + settings = { + pinentry = pkgs.pinentry-curses; + email = "KeksNino@proton.me"; + base_url = "https://vw.pizzasucht.net"; + }; }; programs.distrobox.enable = true; @@ -82,6 +84,28 @@ programs.mpvpaper.enable = true; programs.obsidian.enable = true; programs.gcc.enable = true; + programs.mpv.enable = true; + programs.qutebrowser = { + enable = true; + settings = { + colors.webpage.preferred_color_scheme = "dark"; + auto_save.session = true; + scrolling.smooth = true; + content.autoplay = false; + url.default_page = "https://priv.au"; + }; + extraConfig = '' + c.qt.args = ["disable-features=AcceleratedVideoDecodeLinuxGL"] + ''; + keyBindings = { + normal = { + "M" = "hint links spawn mpv {hint-url}"; + }; + }; + searchEngines = { + DEFAULT = "https://priv.au/search?q={}"; + }; + }; home.sessionPath = [ "${config.home.homeDirectory}/.local/bin" @@ -101,6 +125,8 @@ }; programs.fish.shellAliases = { + ls = "eza -al --no-time --no-user --no-permissions --no-filesize"; + ll = "eza -la"; cat = "bat"; cd = "z"; cp = "cp -v"; @@ -111,7 +137,7 @@ n = "nvim"; py = "uv run"; r = "rsync -avh --info=progress2"; - rm = "trash"; + rm = "gomi"; ssh = "kitty +kitten ssh"; nd = "nix develop"; }; diff --git a/packages.nix b/packages.nix index a416401..0f1c8af 100644 --- a/packages.nix +++ b/packages.nix @@ -7,11 +7,9 @@ jamesdsp grimblast nitch - adwaita-icon-theme - gtrash wl-clipboard unzip - p7zip + _7zz tree-sitter nodejs nixfmt @@ -46,6 +44,16 @@ onefetch aria2 smartmontools + qpwgraph + pipewire.jack + sysz + gomi + noctalia-shell + discordchatexporter-desktop + act + ayugram-desktop + playerctl + musicpresence ]; fonts.packages = with pkgs; [