diff --git a/flake.lock b/flake.lock index 07166ac..3ebca5e 100644 --- a/flake.lock +++ b/flake.lock @@ -47,47 +47,27 @@ "type": "github" } }, - "ags": { + "dankMaterialShell": { "inputs": { - "astal": "astal", + "dgop": [ + "dgop" + ], "nixpkgs": [ - "fireproof-shell", "nixpkgs" - ] + ], + "quickshell": "quickshell" }, "locked": { - "lastModified": 1764289441, - "narHash": "sha256-ak+lgFiYE5PHByN1/BRkO5JP498hno6Ix24C1Qf/vec=", - "owner": "aylur", - "repo": "ags", - "rev": "e169694390548dfd38ff40f1ef2163d6c3ffe3ea", + "lastModified": 1765493842, + "narHash": "sha256-KwubAPYQBVsQApkiKLfNp0K4HVkW02pu3GhaDU/78ZI=", + "owner": "AvengeMedia", + "repo": "DankMaterialShell", + "rev": "89dcd72d703d525d2034f616ecf19823d5f50457", "type": "github" }, "original": { - "owner": "aylur", - "repo": "ags", - "type": "github" - } - }, - "astal": { - "inputs": { - "nixpkgs": [ - "fireproof-shell", - "ags", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1764173295, - "narHash": "sha256-Jh4VtPcK2Ov+RTcV9FtyQRsxiJmXFQGfqX6jjM7/mgc=", - "owner": "aylur", - "repo": "astal", - "rev": "7d1fac8a4b2a14954843a978d2ddde86168c75ef", - "type": "github" - }, - "original": { - "owner": "aylur", - "repo": "astal", + "owner": "AvengeMedia", + "repo": "DankMaterialShell", "type": "github" } }, @@ -134,6 +114,26 @@ "type": "github" } }, + "dgop": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762835999, + "narHash": "sha256-UykYGrGFOFTmDpKTLNxj1wvd1gbDG4TkqLNSbV0TYwk=", + "owner": "AvengeMedia", + "repo": "dgop", + "rev": "799301991cd5dcea9b64245f9d500dcc76615653", + "type": "github" + }, + "original": { + "owner": "AvengeMedia", + "repo": "dgop", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -141,11 +141,11 @@ ] }, "locked": { - "lastModified": 1764627417, - "narHash": "sha256-D6xc3Rl8Ab6wucJWdvjNsGYGSxNjQHzRc2EZ6eeQ6l4=", + "lastModified": 1765326679, + "narHash": "sha256-fTLX9kDwLr9Y0rH/nG+h1XG5UU+jBcy0PFYn5eneRX8=", "owner": "nix-community", "repo": "disko", - "rev": "5a88a6eceb8fd732b983e72b732f6f4b8269bef3", + "rev": "d64e5cdca35b5fad7c504f615357a7afe6d9c49e", "type": "github" }, "original": { @@ -154,29 +154,6 @@ "type": "github" } }, - "fireproof-shell": { - "inputs": { - "ags": "ags", - "flake-parts": "flake-parts_2", - "nixpkgs": [ - "nixpkgs" - ], - "treefmt-nix": "treefmt-nix_2" - }, - "locked": { - "lastModified": 1764592126, - "narHash": "sha256-NsZy4hn9s9mJyf36PtNe+DE7nVXTJKOWbIb4O38CuVs=", - "owner": "nickolaj-jepsen", - "repo": "fireproof-shell", - "rev": "9e001284046736178c3ce77df56f3dbcedc81578", - "type": "github" - }, - "original": { - "owner": "nickolaj-jepsen", - "repo": "fireproof-shell", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -216,14 +193,16 @@ }, "flake-parts_2": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": [ + "nixpkgs" + ] }, "locked": { - "lastModified": 1763759067, - "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "lastModified": 1765495779, + "narHash": "sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "rev": "5635c32d666a59ec9a55cab87e898889869f7b71", "type": "github" }, "original": { @@ -233,26 +212,6 @@ } }, "flake-parts_3": { - "inputs": { - "nixpkgs-lib": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1763759067, - "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "nur", @@ -323,11 +282,11 @@ ] }, "locked": { - "lastModified": 1765170903, - "narHash": "sha256-O8VTGey1xxiRW+Fpb+Ps9zU7ShmxUA1a7cMTcENCVNg=", + "lastModified": 1765384171, + "narHash": "sha256-FuFtkJrW1Z7u+3lhzPRau69E0CNjADku1mLQQflUORo=", "owner": "nix-community", "repo": "home-manager", - "rev": "20561be440a11ec57a89715480717baf19fe6343", + "rev": "44777152652bc9eacf8876976fa72cc77ca8b9d8", "type": "github" }, "original": { @@ -349,11 +308,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1765120349, - "narHash": "sha256-MvwrHRV80hOdEwfLgI16XhApHuvj69aAgUWQ8ZBgAqE=", + "lastModified": 1765386897, + "narHash": "sha256-wmHtBM2Iuthw9DsTD9RUkkZqrmsSJYGgflSaskE+Rrc=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "0f4acff79842637e92f5f2609d3844bac9d5e592", + "rev": "be7806f4fe2ead48eaf22e125f535d70a5ff2e3b", "type": "github" }, "original": { @@ -382,11 +341,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1764966114, - "narHash": "sha256-nC0Fsu4zSdabdR4tHHMCrTgqLms612eEDy5VCdQVZFk=", + "lastModified": 1765306956, + "narHash": "sha256-dAnL/EFft88xvKBLSE4pxSD5D945Cjm3E59bSl0feSE=", "owner": "YaLTeR", "repo": "niri", - "rev": "ba29735fbbd8cf8319c71ccb55b54a0580007c80", + "rev": "4d058e611147803f5188e417943c6653d846542f", "type": "github" }, "original": { @@ -402,11 +361,11 @@ ] }, "locked": { - "lastModified": 1765080594, - "narHash": "sha256-5t3d655GqLblE+p5xN5ntkeRfZBesN7vehOWcRcU88M=", + "lastModified": 1765267181, + "narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "4194c582d0a3f440382ee00b729ea5cc5ef59754", + "rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f", "type": "github" }, "original": { @@ -417,14 +376,14 @@ }, "nix-vscode-extensions": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1765159287, - "narHash": "sha256-C+dVEekU31QPaPShMaUbs3LqOVVqzq0b4gKC1jX8Mlk=", + "lastModified": 1765505053, + "narHash": "sha256-nDMsy5cVXs4iShqoLt8gCz/s1LdVxsaUFsTuSY/22rg=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "dccd0cc3693bff67e4856b5a22445223aabc4d4b", + "rev": "1778f178603ed65b4e4033c64f04ea51142ad6f6", "type": "github" }, "original": { @@ -450,11 +409,11 @@ }, "nixos-facter-modules": { "locked": { - "lastModified": 1764252389, - "narHash": "sha256-3bbuneTKZBkYXlm0bE36kUjiDsasoIC1GWBw/UEJ9T4=", + "lastModified": 1765442039, + "narHash": "sha256-k3lYQ+A1F7aTz8HnlU++bd9t/x/NP2A4v9+x6opcVg0=", "owner": "numtide", "repo": "nixos-facter-modules", - "rev": "5ea68886d95218646d11d3551a476d458df00778", + "rev": "9dd775ee92de63f14edd021d59416e18ac2c00f1", "type": "github" }, "original": { @@ -485,69 +444,6 @@ } }, "nixpkgs": { - "locked": { - "lastModified": 1761236834, - "narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "d5faa84122bc0a1fd5d378492efce4e289f8eac1", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1761765539, - "narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "719359f4562934ae99f5443f20aa06c2ffff91fc", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1764983851, - "narHash": "sha256-y7RPKl/jJ/KAP/VKLMghMgXTlvNIJMHKskl8/Uuar7o=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d9bc5c7dceb30d8d6fafa10aeb6aa8a48c218454", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1764950072, - "narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "f61125a668a320878494449750330ca58b78c557", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { "locked": { "lastModified": 1759770925, "narHash": "sha256-CZwkCtzTNclqlhuwDsVtGoRumTpqCUK0xSnFIMgd8ls=", @@ -563,13 +459,45 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs-stable": { "locked": { - "lastModified": 1764983851, - "narHash": "sha256-y7RPKl/jJ/KAP/VKLMghMgXTlvNIJMHKskl8/Uuar7o=", + "lastModified": 1765311797, + "narHash": "sha256-mSD5Ob7a+T2RNjvPvOA1dkJHGVrNVl8ZOrAwBjKBDQo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "09eb77e94fa25202af8f3e81ddc7353d9970ac1b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1765186076, + "narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d9bc5c7dceb30d8d6fafa10aeb6aa8a48c218454", + "rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1765311797, + "narHash": "sha256-mSD5Ob7a+T2RNjvPvOA1dkJHGVrNVl8ZOrAwBjKBDQo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "09eb77e94fa25202af8f3e81ddc7353d9970ac1b", "type": "github" }, "original": { @@ -579,7 +507,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1761236834, "narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=", @@ -597,17 +525,17 @@ }, "nur": { "inputs": { - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_3", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1765189607, - "narHash": "sha256-5zMFG00O+JW/YOpCfPjNnQ8vmjRF3IRwRukfUTVLwnE=", + "lastModified": 1765506555, + "narHash": "sha256-v18RWNPmHOEhvnvcZEtsZ+3xpFaEQqhW8HIUVg4n+fM=", "owner": "nix-community", "repo": "NUR", - "rev": "e3983edb556e45a5fa73d20386bd015ff2707199", + "rev": "2f636cb9dfbfc27d6b4a84ff1f360b79103ef980", "type": "github" }, "original": { @@ -639,23 +567,46 @@ "type": "github" } }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "dankMaterialShell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1764663772, + "narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=", + "ref": "refs/heads/master", + "rev": "26531fc46ef17e9365b03770edd3fb9206fcb460", + "revCount": 713, + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" + }, + "original": { + "rev": "26531fc46ef17e9365b03770edd3fb9206fcb460", + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" + } + }, "root": { "inputs": { "agenix": "agenix", "agenix-rekey": "agenix-rekey", + "dankMaterialShell": "dankMaterialShell", + "dgop": "dgop", "disko": "disko", - "fireproof-shell": "fireproof-shell", - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_2", "home-manager": "home-manager_2", "niri": "niri", "nix-index-database": "nix-index-database", "nix-vscode-extensions": "nix-vscode-extensions", "nixos-facter-modules": "nixos-facter-modules", "nixos-generators": "nixos-generators", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur", - "treefmt-nix": "treefmt-nix_3" + "treefmt-nix": "treefmt-nix_2" } }, "systems": { @@ -696,25 +647,7 @@ }, "treefmt-nix_2": { "inputs": { - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1762938485, - "narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_3": { - "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1762938485, @@ -750,11 +683,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1764721075, - "narHash": "sha256-ChH4nq0cMEEkzkHqKlQt5Z7wxrk8ybcEHuA1YKAYmV0=", + "lastModified": 1765343581, + "narHash": "sha256-HtTPbV6z6AJPg2d0bHaJKFrnNha+SEbHvbJafKAQ614=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "1b918e29b419e89910014054e8b71d54c9235ea5", + "rev": "f0ad674b7009a6afd80cea59d4fbf975dd68ee95", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index d6a610b..6198431 100644 --- a/flake.nix +++ b/flake.nix @@ -35,9 +35,6 @@ disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; - fireproof-shell.url = "github:nickolaj-jepsen/fireproof-shell"; - fireproof-shell.inputs.nixpkgs.follows = "nixpkgs"; - treefmt-nix.url = "github:numtide/treefmt-nix"; flake-parts.url = "github:hercules-ci/flake-parts"; @@ -52,5 +49,12 @@ niri.url = "github:sodiboo/niri-flake"; niri.inputs.nixpkgs.follows = "nixpkgs"; + + dgop.url = "github:AvengeMedia/dgop"; + dgop.inputs.nixpkgs.follows = "nixpkgs"; + + dankMaterialShell.url = "github:AvengeMedia/DankMaterialShell"; + dankMaterialShell.inputs.nixpkgs.follows = "nixpkgs"; + dankMaterialShell.inputs.dgop.follows = "dgop"; }; } diff --git a/hosts/default.nix b/hosts/default.nix index db16be0..c5ea993 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -38,7 +38,7 @@ with lib; let inputs.agenix-rekey.nixosModules.default inputs.nix-index-database.nixosModules.nix-index inputs.nixos-facter-modules.nixosModules.facter - inputs.fireproof-shell.nixosModules.default + inputs.dankMaterialShell.nixosModules.dankMaterialShell inputs.niri.nixosModules.niri ../modules/base ../modules/programs diff --git a/legacy_modules/apps/ollama.nix b/legacy_modules/apps/ollama.nix deleted file mode 100644 index 4bb35b4..0000000 --- a/legacy_modules/apps/ollama.nix +++ /dev/null @@ -1,6 +0,0 @@ -_: { - services.ollama = { - enable = true; - acceleration = "cuda"; - }; -} diff --git a/legacy_modules/desktop/hyprland/hyprpaper.nix b/legacy_modules/desktop/dms/background.nix similarity index 60% rename from legacy_modules/desktop/hyprland/hyprpaper.nix rename to legacy_modules/desktop/dms/background.nix index 14fd82a..ef7afe6 100644 --- a/legacy_modules/desktop/hyprland/hyprpaper.nix +++ b/legacy_modules/desktop/dms/background.nix @@ -27,12 +27,15 @@ cp *.svg *.png $out/share/backgrounds ''; }; + unknownPng = background + "/share/backgrounds/unknown.png"; + geometryPng = background + "/share/backgrounds/geometry.png"; pngs = [ - (background + "/share/backgrounds/unknown.png") - (background + "/share/backgrounds/geometry.png") + unknownPng + geometryPng ]; in { fireproof.home-manager = { + # Use hyprpaper as we can't currently set wallpapers through DMS services.hyprpaper = { enable = true; settings = { @@ -40,5 +43,15 @@ in { wallpaper = [",${builtins.head pngs}"]; }; }; + + programs.dankMaterialShell.default.settings = { + # Disables wallpaper management in DMS to avoid conflicts with Hyprpaper + screenPreferences.wallpaper = []; + }; + + programs.dankMaterialShell.default.session = { + # Attempt to set a default wallpaper on first run + wallpaperPath = unknownPng; + }; }; } diff --git a/legacy_modules/desktop/hyprland/backgrounds/geometry.svg b/legacy_modules/desktop/dms/backgrounds/geometry.svg similarity index 100% rename from legacy_modules/desktop/hyprland/backgrounds/geometry.svg rename to legacy_modules/desktop/dms/backgrounds/geometry.svg diff --git a/legacy_modules/desktop/hyprland/backgrounds/unknown.svg b/legacy_modules/desktop/dms/backgrounds/unknown.svg similarity index 100% rename from legacy_modules/desktop/hyprland/backgrounds/unknown.svg rename to legacy_modules/desktop/dms/backgrounds/unknown.svg diff --git a/legacy_modules/desktop/dms/bar.nix b/legacy_modules/desktop/dms/bar.nix new file mode 100644 index 0000000..5032b9d --- /dev/null +++ b/legacy_modules/desktop/dms/bar.nix @@ -0,0 +1,91 @@ +{config, ...}: let + commonBarSettings = { + enabled = true; + position = 0; + + spacing = 0; + innerPadding = 0; + bottomGap = -5; + transparency = 0; + widgetTransparency = 1; + squareCorners = true; + noBackground = false; + gothCornersEnabled = false; + gothCornerRadiusOverride = false; + gothCornerRadiusValue = 12; + borderEnabled = false; + borderColor = "primary"; + borderOpacity = 1; + borderThickness = 2; + widgetOutlineEnabled = false; + widgetOutlineColor = "primary"; + widgetOutlineOpacity = 1; + widgetOutlineThickness = 1; + fontScale = 1; + autoHide = false; + autoHideDelay = 250; + openOnOverview = false; + visible = true; + popupGapsAuto = true; + popupGapsManual = 4; + maximizeDetection = true; + }; + primaryBar = + { + id = "default"; + name = "Primary Bar"; + screenPreferences = [ + { + name = (builtins.head config.monitors).name or ""; + } + ]; + showOnLastDisplay = true; + leftWidgets = [ + "launcherButton" + "workspaceSwitcher" + "runningApps" + ]; + centerWidgets = [ + "focusedWindow" + ]; + rightWidgets = [ + "music" + "systemTray" + "cpuUsage" + "controlCenterButton" + "notificationButton" + "clock" + ]; + } + // commonBarSettings; + secondaryBar = + { + id = "secondary"; + name = "Secondary Bar"; + screenPreferences = builtins.map (monitor: { + inherit (monitor) name; + }) (builtins.tail config.monitors); + showOnLastDisplay = false; + leftWidgets = [ + "workspaceSwitcher" + ]; + centerWidgets = []; + rightWidgets = []; + } + // commonBarSettings; +in { + fireproof.home-manager = { + programs.dankMaterialShell.default.settings = { + launcherLogoMode = "os"; + launcherLogoContrast = 1; + launcherLogoSizeOffset = 3; + + centeringMode = "geometric"; + + runningAppsCurrentWorkspace = true; + runningAppsGroupByApp = true; + + barConfigs = [primaryBar secondaryBar]; + }; + }; +} diff --git a/legacy_modules/desktop/dms/default.nix b/legacy_modules/desktop/dms/default.nix new file mode 100644 index 0000000..328e03f --- /dev/null +++ b/legacy_modules/desktop/dms/default.nix @@ -0,0 +1,70 @@ +{ + inputs, + pkgs, + ... +}: { + imports = [ + ./theme.nix + ./background.nix + ./bar.nix + ]; + + systemd.user.services.niri-flake-polkit.enable = false; + + fireproof.home-manager = { + imports = [ + inputs.dankMaterialShell.homeModules.dankMaterialShell.default + ]; + + programs.dankMaterialShell = { + enable = true; + + enableDynamicTheming = false; + enableClipboard = false; + enableVPN = false; + enableCalendarEvents = false; + + default.settings = { + # General Settings + weatherCoordinates = "56.1496278,10.2134046"; + + # Lock Screen + loginctlLockIntegration = true; + fadeToLockEnabled = true; + fadeToLockGracePeriod = 5; + + acMonitorTimeout = 1800; + acLockTimeout = 600; + acSuspendTimeout = 0; + batteryMonitorTimeout = 600; + batteryLockTimeout = 300; + batterySuspendTimeout = 1800; + + # Power Menu + powerMenuActions = [ + "reboot" + "logout" + "poweroff" + "lock" + "suspend" + ]; + powerMenuDefaultAction = "lock"; + }; + }; + + systemd.user.services = { + # A hack to always serve fresh settings from default-settings.json + dms-clean-settings = { + Unit = { + Description = "Delete DankMaterialShell settings before dms starts"; + Before = ["dms.service"]; + }; + Service = { + Type = "oneshot"; + ExecStart = "${pkgs.coreutils}/bin/rm -f %h/.config/DankMaterialShell/settings.json"; + }; + Install.WantedBy = ["dms.service"]; + }; + }; + }; +} diff --git a/legacy_modules/desktop/dms/theme.nix b/legacy_modules/desktop/dms/theme.nix new file mode 100644 index 0000000..a5d9c34 --- /dev/null +++ b/legacy_modules/desktop/dms/theme.nix @@ -0,0 +1,43 @@ +{username, ...}: { + fireproof.home-manager = { + home.file.".config/DankMaterialShell/colors.json".text = builtins.toJSON { + name = "custom"; + primary = "#CF6A4C"; + primaryText = "#F2F0E5"; + primaryContainer = "#403E3C"; + secondary = "#CE5D97"; + surface = "#343331"; + surfaceText = "#DAD8CE"; + surfaceVariant = "#1C1B1A"; + surfaceVariantText = "#B7B5AC"; + surfaceTint = "#CF6A4C"; + background = "#100F0F"; + backgroundText = "#F2F0E5"; + outline = "#878580"; + surfaceContainer = "#1C1B1A"; + surfaceContainerHigh = "#282726"; + surfaceContainerHighest = "#403E3C"; + error = "#D14D41"; + warning = "#D0A215"; + info = "#4385BE"; + matugen_type = "scheme-expressive"; + }; + + programs.dankMaterialShell.default.settings = { + # Color theme + currentThemeName = "custom"; + customThemeFile = "/home/${username}/.config/DankMaterialShell/colors.json"; + widgetBackgroundColor = "sth"; + widgetColorMode = "default"; + + # General + cornerRadius = 8; + + # Font + fontFamily = "Inter Variable"; + monoFontFamily = "Hack Nerd Font Mono"; + fontWeight = 400; + fontScale = 1; + }; + }; +} diff --git a/legacy_modules/desktop/fireproof-shell.nix b/legacy_modules/desktop/fireproof-shell.nix deleted file mode 100644 index df29b2c..0000000 --- a/legacy_modules/desktop/fireproof-shell.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - config, - inputs, - pkgs, - pkgsUnstable, - ... -}: let - fireproofPkgs = inputs.fireproof-shell.packages.${pkgs.system}; -in { - environment.systemPackages = [ - fireproofPkgs.fireproof-shell - fireproofPkgs.fireproof-ipc - pkgsUnstable.astal.io - ]; - programs.fireproof-shell = { - enable = true; - settings = { - monitor.main = (builtins.head config.monitors).name or ""; - launcher.uwsm = true; - notification.ignore = ["/^Spotify/"]; - tray.ignore = ["/spotify/"]; - }; - }; - - fireproof.home-manager.wayland.windowManager.hyprland.settings.execr = ["pkill .fireproof-shel; fireproof-shell"]; -} diff --git a/legacy_modules/desktop/fuzzel.nix b/legacy_modules/desktop/fuzzel.nix deleted file mode 100644 index 0c61f80..0000000 --- a/legacy_modules/desktop/fuzzel.nix +++ /dev/null @@ -1,5 +0,0 @@ -{pkgs, ...}: { - environment.systemPackages = [ - pkgs.fuzzel - ]; -} diff --git a/legacy_modules/desktop/greetd.nix b/legacy_modules/desktop/greetd.nix index aa4e191..7b8f2bc 100644 --- a/legacy_modules/desktop/greetd.nix +++ b/legacy_modules/desktop/greetd.nix @@ -3,7 +3,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --user-menu"; + command = "${pkgs.tuigreet}/bin/tuigreet --user-menu"; }; }; }; diff --git a/legacy_modules/desktop/hyprland/default.nix b/legacy_modules/desktop/hyprland/default.nix deleted file mode 100644 index 7fba8f7..0000000 --- a/legacy_modules/desktop/hyprland/default.nix +++ /dev/null @@ -1,307 +0,0 @@ -{ - lib, - config, - pkgs, - pkgsUnstable, - ... -}: -with lib; let - cfg = config.fireproof; - primaryMonitorName = (builtins.head config.monitors).name or ""; - - color = { - bg = "rgb(1C1B1A)"; - ui = "rgb(343331)"; - fg = "rgb(DAD8CE)"; - accent = "rgb(CF6A4C)"; - black = "rgb(100F0F)"; - transparent = "rgba(00000000)"; - }; - - record_script = pkgs.writeShellScriptBin "record_script" '' - DIR="$HOME/recordings" - FILE="$DIR/$(date '+%Y-%m-%d_%H.%M.%S').mp4" - - mkdir -p $DIR - if pgrep -f ${lib.getExe pkgs.wf-recorder} > /dev/null; then - pkill ${lib.getExe pkgs.wf-recorder} - ${pkgs.libnotify}/bin/notify-send "Recording Stopped" "Recording saved to $FILE" - else - # Stolen from grimblast - FULLSCREEN_WORKSPACES="$(hyprctl workspaces -j | jq -r 'map(select(.hasfullscreen) | .id)')" - WORKSPACES="$(hyprctl monitors -j | jq -r '[(foreach .[] as $monitor (0; if $monitor.specialWorkspace.name == "" then $monitor.activeWorkspace else $monitor.specialWorkspace end)).id]')" - WINDOWS="$(hyprctl clients -j | jq -r --argjson workspaces "$WORKSPACES" --argjson fullscreenWorkspaces "$FULLSCREEN_WORKSPACES" 'map((select(([.workspace.id] | inside($workspaces)) and ([.workspace.id] | inside($fullscreenWorkspaces) | not) or .fullscreen > 0)))')" - - GEOMETRY=$(echo "$WINDOWS" | jq -r '.[] | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | ${lib.getExe pkgs.slurp}) - - # ${pkgs.libnotify}/bin/notify-send "Starting recording" "Recording in 3 seconds" -a "record_script" -t 1000 - # sleep 1 - # ${pkgs.libnotify}/bin/notify-send "Starting recording" "Recording in 2 seconds" -a "record_script" -t 1000 - # sleep 1 - # ${pkgs.libnotify}/bin/notify-send "Starting recording" "Recording in 1 second" -t 1000 - # sleep 1 - - ${pkgs.wf-recorder}/bin/wf-recorder --pixel-format yuv420p -f "$FILE" -t --geometry "$GEOMETRY" & disown - ${pkgs.wl-clipboard}/bin/wl-copy < "$FILE" - fi - ''; - - mkKeyboard = name: { - inherit name; - kb_layout = "eu"; - }; - mkMouse = name: sensitivity: { - inherit name; - inherit sensitivity; - }; -in { - imports = [ - ./hyprpolkitagent.nix - ./hyprpaper.nix - ./hyprlock.nix - ./hypridle.nix - ]; - - config = { - programs.uwsm.enable = true; - programs.hyprland = { - package = pkgsUnstable.hyprland; - portalPackage = pkgsUnstable.xdg-desktop-portal-hyprland; - enable = true; - withUWSM = true; - xwayland.enable = true; - }; - - security.polkit.enable = true; - services.dbus.enable = true; - services.systembus-notify.enable = true; - - environment.sessionVariables.NIXOS_OZONE_WL = "1"; - environment.systemPackages = with pkgs; [ - hyprcursor - ]; - - fireproof.home-manager = { - wayland.windowManager.hyprland = { - enable = true; - xwayland.enable = true; - systemd.enable = false; # Conficts with UWSM - - settings = { - env = [ - "HYPRCURSOR_THEME,Adwaita" - "HYPRCURSOR_SIZE,24" - ]; - monitor = - map ( - m: let - name = - if m.name != null - then m.name - else ""; - resolution = - if m.resolution != null - then "${builtins.toString m.resolution.width}x${builtins.toString m.resolution.height}" - else "preferred"; - refreshRate = - if m.refreshRate != null - then "@${builtins.toString m.refreshRate}" - else ""; - position = "${builtins.toString m.position.x}x${builtins.toString m.position.y}"; - transform = - if m.transform != null - then ", transform, ${builtins.toString m.transform}" - else ""; - in "${name}, ${resolution}${refreshRate}, ${position}, 1${transform}" - ) - config.monitors; - - exec = [ - "systemctl --user start hyprpaper" - "systemctl --user start hypridle" - ]; - - input = { - # Most unknown keyboards will be of the DK layout, we set known keyboards to eu in `devices` - kb_layout = "dk"; - kb_options = "caps:backspace"; - - # Cursor focus will be detached from keyboard focus. Clicking on a window will move keyboard focus to that window. - follow_mouse = 2; - - touchpad = { - natural_scroll = false; - }; - - sensitivity = 0; - accel_profile = "flat"; - }; - - workspace = - if primaryMonitorName != "" - then [ - "1, monitor:${primaryMonitorName}, persistent:true, default:true" - "2, monitor:${primaryMonitorName}, persistent:true" - "3, monitor:${primaryMonitorName}, persistent:true" - "4, monitor:${primaryMonitorName}, persistent:true" - "5, monitor:${primaryMonitorName}, persistent:true" - ] - else [ - "1, persistent:true, default:true" - "2, persistent:true" - "3, persistent:true" - "4, persistent:true" - "5, persistent:true" - ]; - - # Names can be found with: - # $ hyprctl devices -j | jq '.["keyboards"].[].name' -r | grep -vE "(system|consumer)-control" - device = - [ - # $ hyprctl devices -j | jq '.["mice"].[].name' -r - (mkMouse "logitech-usb-ps/2-optical-mouse" 0.2) - ] - ++ map mkKeyboard [ - "splitkb-kyria-rev1" - "zsa-technology-labs-inc-ergodox-ez-shine" - "mattia-dal-ben-redox_wireless" - "zsa-technology-labs-inc-ergodox-ez-shine-keyboard" - ]; - - general = { - gaps_in = 5; - gaps_out = 10; - border_size = 2; - "col.active_border" = color.accent; - "col.inactive_border" = color.ui; - layout = "dwindle"; - }; - cursor = { - no_warps = true; - }; - misc = { - focus_on_activate = true; - disable_hyprland_logo = true; - background_color = color.bg; - force_default_wallpaper = 0; - middle_click_paste = false; - font_family = "Hack Nerd Font"; - }; - - decoration = { - rounding = 8; - rounding_power = 4; - shadow = { - enabled = true; - color = "rgba(1a1a1aee)"; - }; - }; - animations = { - enabled = true; - animation = [ - "windows, 1, 4, default" - "windowsOut, 1, 4, default, popin 80%" - "border, 1, 10, default" - "borderangle, 1, 8, default" - "fade, 1, 7, default" - "workspaces, 1, 3, default" - ]; - }; - dwindle = { - pseudotile = true; - preserve_split = true; - force_split = 2; - use_active_for_splits = true; - }; - group = { - auto_group = false; - "col.border_inactive" = color.bg; - "col.border_active" = color.accent; - groupbar = { - enabled = true; - font_size = 12; - gradients = false; - height = 16; - indicator_height = 2; - "col.inactive" = color.ui; - "col.active" = color.accent; - "text_color" = color.fg; - }; - }; - - bind = [ - "SUPER, RETURN, exec, ${getExe config.programs.uwsm.package} app -- ${cfg.base.defaults.terminal}" - "SUPER, BACKSPACE, killactive" - "SUPER, SPACE, exec, astal launcher" - "SUPER, semicolon, exec, astal launcher .e" - "SUPER, p, exec, ${getExe config.programs.uwsm.package} app -- ${pkgs.systemd}/bin/loginctl lock-session" - - ", Print, exec, ${lib.getExe pkgs.grimblast} save area - | ${lib.getExe pkgs.satty} -f -" - "SHIFT, Print, exec, ${lib.getExe pkgs.grimblast} --freeze save area - | ${lib.getExe pkgs.satty} -f -" - "CTRL, Print, exec, ${lib.getExe record_script}" - - "SUPER, S, togglefloating" - "SUPER, A, pseudo" - "SUPER, D, fullscreen" - "SUPER, BACKSLASH, togglesplit" - - "SUPER, left, movefocus, l" - "SUPER, right, movefocus, r" - "SUPER, up, movefocus, u" - "SUPER, down, movefocus, d" - - "SUPER, h, movefocus, l" - "SUPER, l, movefocus, r" - "SUPER, k, movefocus, u" - "SUPER, j, movefocus, d" - "SUPER, p, submap, preselect" - - "SUPER, q, workspace, 1" - "SUPER, w, workspace, 2" - "SUPER, e, workspace, 3" - "SUPER, r, workspace, 4" - "SUPER, t, workspace, 5" - "SUPER SHIFT, q, movetoworkspace, 1" - "SUPER SHIFT, w, movetoworkspace, 2" - "SUPER SHIFT, e, movetoworkspace, 3" - "SUPER SHIFT, r, movetoworkspace, 4" - "SUPER SHIFT, t, movetoworkspace, 5" - - "SUPER SHIFT, h, workspace, r-1" - "SUPER SHIFT, l, workspace, r+1" - - "SUPER, M, togglegroup" - "SUPER, tab, changegroupactive, f" - "SUPER SHIFT, tab, changegroupactive, b" - ]; - bindm = [ - "SUPER, mouse:272, movewindow" - "SUPER, mouse:273, resizewindow" - ]; - layerrule = [ - "noanim, gtk4-layer-shell" - ]; - windowrulev2 = [ - # Screenshots - "float,class:^(com.gabm.satty)$" - "dimaround,class:^(com.gabm.satty)$" - - # Firefox - "float,class:^(firefox)$,title:^(Picture-in-Picture)$" - "float,class:^(firefox)$,title:^(Library)$" - "float,class:^(firefox)$,title:^(Bitwarden Password Manager)$" - - # JetBrains - "center,class:^(jetbrains-.*)$,title:^$,floating:1" - "noinitialfocus,class:^(jetbrains-.*)$,title:^$,floating:1" - "noanim,class:^(jetbrains-.*)$,title:^$,floating:1" - - "center,class:^(jetbrains-.*)$,title:^(splash)$,floating:1" - "nofocus,class:^(jetbrains-.*)$,title:^(splash)$,floating:1" - "noborder,class:^(jetbrains-.*)$,title:^(splash)$,floating:1" - ]; - }; - }; - }; - }; -} diff --git a/legacy_modules/desktop/hyprland/hypridle.nix b/legacy_modules/desktop/hyprland/hypridle.nix deleted file mode 100644 index bdb63f3..0000000 --- a/legacy_modules/desktop/hyprland/hypridle.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - config, - pkgs, - ... -}: let - sleep_cmd = "${config.programs.hyprland.package}/bin/hyprctl dispatch dpms off"; - wake_cmd = "${config.programs.hyprland.package}/bin/hyprctl dispatch dpms on"; - lock_cmd = "pidof ${pkgs.hyprlock}/bin/hyprlock || ${pkgs.hyprlock}/bin/hyprlock"; -in { - config = { - fireproof.home-manager.services.hypridle = { - enable = true; - settings = { - general = { - inherit lock_cmd; - before_sleep_cmd = "${pkgs.systemd}/bin/loginctl lock-session"; - after_sleep_cmd = sleep_cmd; - }; - listener = [ - { - timeout = 60 * 5; - on-timeout = lock_cmd; - } - { - timeout = 60 * 15; - on-timeout = sleep_cmd; - on-resume = wake_cmd; - } - ]; - }; - }; - }; -} diff --git a/legacy_modules/desktop/hyprland/hyprlock.nix b/legacy_modules/desktop/hyprland/hyprlock.nix deleted file mode 100644 index beb1a7f..0000000 --- a/legacy_modules/desktop/hyprland/hyprlock.nix +++ /dev/null @@ -1,97 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: let - background = pkgs.stdenvNoCC.mkDerivation { - pname = "desktop-background"; - version = "0.2"; - - src = lib.fileset.toSource { - root = ./.; - fileset = lib.fileset.unions [ - ./backgrounds/unknown.svg - ]; - }; - - nativeBuildInputs = [pkgs.inkscape]; - - buildPhase = '' - inkscape -w 3840 -h 2160 backgrounds/unknown.svg -o unknown.png - ''; - - installPhase = '' - mkdir -p $out/share/backgrounds - cp *.svg *.png $out/share/backgrounds - ''; - }; - - # Re-use the same color scheme as in the main Hyprland config - color = { - bg = "rgb(28, 27, 26)"; - ui = "rgb(52, 51, 49)"; - fg = "rgb(218, 216, 206)"; - transparent = "rgba(0, 0, 0, 0)"; - }; -in { - config = { - fireproof.home-manager.programs.hyprlock = { - enable = true; - settings = { - general = { - disable_loading_bar = false; - grace = 0; - no_fade_in = false; - }; - background = { - monitor = ""; - color = color.bg; - path = background + "/share/backgrounds/unknown.png"; - }; - input-field = { - monitor = ""; - size = "250, 60"; - outline_thickness = 2; - dots_size = 0.2; - dots_spacing = 0.2; - dots_center = true; - outer_color = color.transparent; - inner_color = color.ui; - font_color = color.fg; - fade_on_empty = false; - font_family = "Hack Nerd Font"; - placeholder_text = ""; - hide_input = false; - position = "0, -35"; - halign = "center"; - valign = "center"; - rounding = 8; - }; - shape = [ - { - monitor = ""; - color = color.ui; - halign = "center"; - valign = "center"; - size = "150, 60"; - position = "0, 35"; - rounding = 8; - } - ]; - label = [ - { - monitor = ""; - text = "cmd[update:1000] echo \"$(date +\"%H:%M\")\""; - color = color.fg; - font_size = 30; - font_family = "Hack Nerd Font"; - position = "0, 35"; - halign = "center"; - valign = "center"; - } - ]; - }; - }; - }; -} diff --git a/legacy_modules/desktop/hyprland/hyprpolkitagent.nix b/legacy_modules/desktop/hyprland/hyprpolkitagent.nix deleted file mode 100644 index de86a9a..0000000 --- a/legacy_modules/desktop/hyprland/hyprpolkitagent.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - pkgs, - config, - ... -}: { - config = { - fireproof.home-manager.systemd.user.services.hyprpolkitagent = { - Unit = { - Description = "Hyprland Polkit Authentication Agent"; - }; - - Service = { - Type = "simple"; - ExecStart = "${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent"; - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - Slice = "session.slice"; - }; - - Install = { - WantedBy = ["graphical-session.target"]; - }; - }; - }; -} diff --git a/legacy_modules/desktop/mako.nix b/legacy_modules/desktop/mako.nix deleted file mode 100644 index 5267781..0000000 --- a/legacy_modules/desktop/mako.nix +++ /dev/null @@ -1,17 +0,0 @@ -{pkgs, ...}: { - fireproof.home-manager.services.mako.enable = true; - systemd.user.services."mako" = { - description = "Mako notification daemon"; - documentation = ["man:mako(1)"]; - partOf = ["graphical-session.target"]; - after = ["graphical-session.target"]; - serviceConfig = { - Type = "dbus"; - BusName = "org.freedesktop.Notifications"; - ExecCondition = "/bin/sh -c '[ -n \"$WAYLAND_DISPLAY\" ]'"; - ExecReload = "${pkgs.mako}/bin/mako reload"; - ExecStart = "${pkgs.mako}/bin/mako"; - }; - wantedBy = ["graphical-session.target"]; - }; -} diff --git a/legacy_modules/desktop/niri.nix b/legacy_modules/desktop/niri.nix index e11589c..0e64e23 100644 --- a/legacy_modules/desktop/niri.nix +++ b/legacy_modules/desktop/niri.nix @@ -8,6 +8,8 @@ primaryMonitorName = (builtins.head config.monitors).name or ""; in { # TODO: Move these to a separate module + programs.xwayland.enable = true; + fireproof.home-manager.programs.waybar = { enable = true; systemd.enable = true; @@ -41,7 +43,7 @@ in { color: #DAD8CE; border-bottom: 2px solid #CF6A4C; } - + #workspaces button.focused { background: #CF6A4C; color: #1C1B1A; @@ -117,6 +119,10 @@ in { {command = ["systemctl" "--user" "start" "mako"];} {command = ["systemctl" "--user" "start" "waybar"];} ]; + xwayland-satellite = { + enable = true; + path = lib.getExe inputs.niri.packages."${pkgs.system}".xwayland-satellite-unstable; + }; environment = { NIXOS_OZONE_WL = "1"; GDK_BACKEND = "wayland"; # Attempt to fix screen recording issue @@ -180,39 +186,43 @@ in { binds = { "XF86AudioRaiseVolume" = { allow-when-locked = true; - action.spawn = [ - "wpctl" - "set-volume" - "@DEFAULT_AUDIO_SINK@" - "0.1+" - ]; + action.spawn = ["dms" "ipc" "audio" "increment" "3"]; }; "XF86AudioLowerVolume" = { allow-when-locked = true; - action.spawn = [ - "wpctl" - "set-volume" - "@DEFAULT_AUDIO_SINK@" - "0.1-" - ]; + action.spawn = ["dms" "ipc" "audio" "decrement" "3"]; }; "XF86AudioMute" = { allow-when-locked = true; - action.spawn = [ - "wpctl" - "set-mute" - "@DEFAULT_AUDIO_SINK@" - "toggle" - ]; + action.spawn = ["dms" "ipc" "audio" "mute"]; }; "XF86AudioMicMute" = { allow-when-locked = true; - action.spawn = [ - "wpctl" - "set-mute" - "@DEFAULT_AUDIO_SOURCE@" - "toggle" - ]; + action.spawn = ["dms" "ipc" "audio" "micmute"]; + }; + "XF86MonBrightnessUp" = { + allow-when-locked = true; + action.spawn = ["dms" "ipc" "brightness" "increment" "5"]; + }; + "XF86MonBrightnessDown" = { + allow-when-locked = true; + action.spawn = ["dms" "ipc" "brightness" "decrement" "5"]; + }; + "Mod+N" = { + action.spawn = ["dms" "ipc" "notifications" "toggle"]; + hotkey-overlay.title = "Toggle Notification Center"; + }; + "Mod+V" = { + action.spawn = ["dms" "ipc" "clipboard" "toggle"]; + hotkey-overlay.title = "Toggle Clipboard Manager"; + }; + "Mod+Space" = { + action.spawn = ["dms" "ipc" "spotlight" "toggle"]; + hotkey-overlay.title = "Toggle Application Launcher"; + }; + "Mod+P" = { + action.spawn = ["dms" "ipc" "powermenu" "toggle"]; + hotkey-overlay.title = "Toggle Power Menu"; }; "Mod+Left".action.focus-column-or-monitor-left = {}; @@ -291,7 +301,6 @@ in { "Mod+Slash".action.show-hotkey-overlay = {}; "Mod+Return".action.spawn = ["ghostty"]; - "Mod+Space".action.spawn = ["fuzzel"]; "Mod+Backspace".action.close-window = {}; }; diff --git a/legacy_modules/dev/python.nix b/legacy_modules/dev/python.nix index 4ef0e4c..d9dc724 100644 --- a/legacy_modules/dev/python.nix +++ b/legacy_modules/dev/python.nix @@ -3,20 +3,21 @@ lib, pkgsUnstable, ... -}: let +}: let # Sets LD_LIBRARY_PATH for various python-based tools # Some python packages requires shared libraries to build C extensions. mkWrapLDLibraryPath = pkg: let mainProgram = pkg.meta.mainProgram or pkg.pname or (lib.getName pkg); - in pkgs.symlinkJoin { - name = "${pkg.name}-wrapped"; - paths = [pkg]; - nativeBuildInputs = [pkgs.makeWrapper]; - postBuild = '' - wrapProgram $out/bin/${mainProgram} \ - --run "export LD_LIBRARY_PATH=\$NIX_LD_LIBRARY_PATH" - ''; - }; + in + pkgs.symlinkJoin { + name = "${pkg.name}-wrapped"; + paths = [pkg]; + nativeBuildInputs = [pkgs.makeWrapper]; + postBuild = '' + wrapProgram $out/bin/${mainProgram} \ + --run "export LD_LIBRARY_PATH=\$NIX_LD_LIBRARY_PATH" + ''; + }; in { environment.systemPackages = [ (mkWrapLDLibraryPath pkgsUnstable.uv) diff --git a/legacy_modules/devenv.nix b/legacy_modules/devenv.nix index da4be60..636e9b9 100644 --- a/legacy_modules/devenv.nix +++ b/legacy_modules/devenv.nix @@ -3,7 +3,6 @@ ./apps/pycharm.nix ./apps/vscode.nix ./apps/sublime-merge.nix - ./apps/ollama.nix ./dev/python.nix ./dev/javascript.nix ./dev/k8s.nix diff --git a/legacy_modules/graphical.nix b/legacy_modules/graphical.nix index 12321dd..af540dc 100644 --- a/legacy_modules/graphical.nix +++ b/legacy_modules/graphical.nix @@ -3,14 +3,11 @@ ./hardware/monitors.nix ./hardware/audio.nix ./desktop/fonts.nix - ./desktop/fireproof-shell.nix ./desktop/greetd.nix ./desktop/niri.nix - ./desktop/fuzzel.nix - ./desktop/mako.nix - ./desktop/hyprland/default.nix ./desktop/gtk/default.nix ./desktop/qt.nix + ./desktop/dms/default.nix ./desktop/screenshot.nix ./apps/spotify.nix ./apps/firefox.nix diff --git a/modules/base/ssh.nix b/modules/base/ssh.nix index c841d09..2031415 100644 --- a/modules/base/ssh.nix +++ b/modules/base/ssh.nix @@ -76,7 +76,7 @@ in { }; programs.ssh.startAgent = true; - services.gnome.gcr-ssh-agent.enable = false; # + services.gnome.gcr-ssh-agent.enable = false; services.openssh = { enable = true; diff --git a/modules/base/tailscale.nix b/modules/base/tailscale.nix index 0f0f476..d2018e2 100644 --- a/modules/base/tailscale.nix +++ b/modules/base/tailscale.nix @@ -1,3 +1,3 @@ _: { services.tailscale.enable = true; -} \ No newline at end of file +}