diff --git a/flake.lock b/flake.lock index 952f14b..d6cdbad 100644 --- a/flake.lock +++ b/flake.lock @@ -375,11 +375,11 @@ ] }, "locked": { - "lastModified": 1771683283, - "narHash": "sha256-WxAEkAbo8dP7qiyPM6VN4ZGAxfuBVlNBNPkrqkrXVEc=", + "lastModified": 1773422513, + "narHash": "sha256-MPjR48roW7CUMU6lu0+qQGqj92Kuh3paIulMWFZy+NQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "c6ed3eab64d23520bcbb858aa53fe2b533725d4a", + "rev": "ef12a9a2b0f77c8fa3dda1e7e494fca668909056", "type": "github" }, "original": { @@ -437,11 +437,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1770739738, - "narHash": "sha256-sLpvik461SjSY1b23gHhNbM9aMJF9iU4h2vPepi9JoM=", + "lastModified": 1773501701, + "narHash": "sha256-+0LBAEm8F5h9Nm+hdS07aoS1W4oTtW6c8lltb66oOYQ=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "9e23010320cfe4012adc2d8810495bad0fe2d4a6", + "rev": "39ac039250a4a32bf8691405cac04864fc66a70d", "type": "github" }, "original": { @@ -470,11 +470,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1770735554, - "narHash": "sha256-8GzUa8bCyQ688jYW2waXrOqetTr7oV8UPTO2He+5Hsg=", + "lastModified": 1773130184, + "narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=", "owner": "YaLTeR", "repo": "niri", - "rev": "41b5de87692b8262fbdbff7faab93f04ff0be453", + "rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea", "type": "github" }, "original": { @@ -515,11 +515,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1771369470, - "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", + "lastModified": 1773389992, + "narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0182a361324364ae3f436a63005877674cf45efb", + "rev": "c06b4ae3d6599a672a6210b7021d699c351eebda", "type": "github" }, "original": { @@ -531,11 +531,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1770617025, - "narHash": "sha256-1jZvgZoAagZZB6NwGRv2T2ezPy+X6EFDsJm+YSlsvEs=", + "lastModified": 1773375660, + "narHash": "sha256-SEzUWw2Rf5Ki3bcM26nSKgbeoqi2uYy8IHVBqOKjX3w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2db38e08fdadcc0ce3232f7279bab59a15b94482", + "rev": "3e20095fe3c6cbb1ddcef89b26969a69a1570776", "type": "github" }, "original": { @@ -545,18 +545,35 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1770107345, + "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "noctalia": { "inputs": { "nixpkgs": [ "nixpkgs" - ] + ], + "noctalia-qs": "noctalia-qs" }, "locked": { - "lastModified": 1771434371, - "narHash": "sha256-1ivy5+FBZMSojnduPnG6K8w5EFxyP61vthmLXzfGwco=", + "lastModified": 1773968294, + "narHash": "sha256-u/e+7u2NW4bUac2Uvfrp1fmklpgV1rmXsm7pH5fmk9k=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "04589a4f58c7315b035633a274d1fc820d34c31a", + "rev": "6c57717595468d3e0a259a703dbb90aea29e7e64", "type": "github" }, "original": { @@ -565,6 +582,29 @@ "type": "github" } }, + "noctalia-qs": { + "inputs": { + "nixpkgs": [ + "noctalia", + "nixpkgs" + ], + "systems": "systems_2", + "treefmt-nix": "treefmt-nix_2" + }, + "locked": { + "lastModified": 1773842483, + "narHash": "sha256-oRqz+5AbNKfUWWwN5c83CsSOsUWVGITh0HZg+wX5Q/8=", + "owner": "noctalia-dev", + "repo": "noctalia-qs", + "rev": "3962ff1e0b59ef067c57199d31271ddbf23b29cd", + "type": "github" + }, + "original": { + "owner": "noctalia-dev", + "repo": "noctalia-qs", + "type": "github" + } + }, "nur": { "inputs": { "flake-parts": "flake-parts_2", @@ -620,7 +660,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1769173871, @@ -688,7 +728,7 @@ "nixpkgs" ], "nur": "nur_2", - "systems": "systems_3", + "systems": "systems_4", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -725,6 +765,21 @@ } }, "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=", @@ -739,7 +794,7 @@ "type": "github" } }, - "systems_3": { + "systems_4": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -856,6 +911,24 @@ "type": "github" } }, + "treefmt-nix_2": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1772660329, + "narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "3710e0e1218041bbad640352a0440114b1e10428", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "xwayland-satellite-stable": { "flake": false, "locked": { @@ -876,11 +949,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1770583271, - "narHash": "sha256-Q75S8cEqJoZ92s1y4zArvk2U1ayAy2E4SaF7gbNXkYQ=", + "lastModified": 1773499041, + "narHash": "sha256-XZ4/tVdLeAYDgKe4JD4C7yYUKydMxwt8c2j6APFWcIc=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "86f5bd5d867ad6e120935dfe825f6b903ebbeddd", + "rev": "309d8e2a29953f7465dc14c939e2afe4682c0aa9", "type": "github" }, "original": { diff --git a/modules/home/default.nix b/modules/home/default.nix index 4ee746c..7010a48 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -17,6 +17,7 @@ ./xdg.nix ./yazi.nix ./zed.nix + ./zellij.nix # ./zen-browser.nix ]; } diff --git a/modules/home/firefox.nix b/modules/home/firefox.nix index 5e4cd54..3c9b053 100644 --- a/modules/home/firefox.nix +++ b/modules/home/firefox.nix @@ -76,6 +76,8 @@ isDefault = true; extensions = { force = true; + # For a list of available packaged extensions, see: + # https://github.com/nix-community/nur-combined/blob/main/repos/rycee/pkgs/firefox-addons/addons.json packages = with pkgs.nur.repos.rycee.firefox-addons; [ ublock-origin bitwarden diff --git a/modules/home/helix.nix b/modules/home/helix.nix index 45ea23b..fd6a52c 100644 --- a/modules/home/helix.nix +++ b/modules/home/helix.nix @@ -42,7 +42,11 @@ in vscode-langservers-extracted # HTML/CSS/JSON/ESLint language servers extracted from vscode emmet-language-server # Emmet support based on LSP prettier # Formatter for HTML/CSS/JSON/ESLint languages - superhtml # HTML Language Server and Templating Language Library + superhtml # HTML Language server and Templating Language Library + ruby-lsp # Ruby language server + solargraph # Alternative ruby language server + rubocop # Ruby linter and formatter + jdt-language-server # Java language server ]; settings = { editor = { @@ -294,6 +298,25 @@ in ]; }; } + { + name = "ruby"; + language-servers = [ + "ruby-lsp" + "solargraph" + ]; + auto-format = true; + formatter = { + command = "rubocop"; + args = [ + "--stdin" + "placeholder.rb" + "-a" + "--stderr" + "--fail-level" + "fatal" + ]; + }; + } ]; language-server = { basedpyright.config.python.analysis.typeCheckingMode = "strict"; @@ -316,6 +339,20 @@ in }; }; }; + ruby-lsp = { + command = "ruby-lsp"; + config = { + diagnostics = true; + formatting = true; + }; + }; + solargraph = { + command = "solargraph"; + config = { + diagnostics = true; + formatting = false; + }; + }; }; }; }; diff --git a/modules/home/niri.nix b/modules/home/niri.nix index 299a548..9e30890 100644 --- a/modules/home/niri.nix +++ b/modules/home/niri.nix @@ -8,6 +8,7 @@ let # Executables foot = lib.getExe' config.programs.foot.package "foot"; vicinae = lib.getExe' config.programs.vicinae.package "vicinae"; + yazi = lib.getExe' config.programs.yazi.package "yazi"; noctalia-shell = lib.getExe' config.programs.noctalia-shell.package "noctalia-shell"; playerctl = lib.getExe' pkgs.playerctl "playerctl"; wpctl = lib.getExe' pkgs.wireplumber "wpctl"; @@ -69,6 +70,15 @@ in repeat = false; hotkey-overlay.title = "Launcher"; }; + "Mod+E" = { + action.spawn = [ + foot + "-e" + yazi + ]; + repeat = false; + hotkey-overlay.title = "File Explorer"; + }; "Mod+Escape" = { action.spawn = [ noctalia-shell @@ -422,7 +432,7 @@ in { app-id = "foot"; } { app-id = "Alacritty"; } ]; - opacity = 0.93; + opacity = 0.90; default-column-width.proportion = 0.4; } ]; @@ -438,10 +448,9 @@ in hotkey-overlay = { skip-at-startup = true; }; - # If not using systemd for noctalia, use this - # spawn-at-startup = [ - # { argv = [ "noctalia-shell" ]; } - # ]; + spawn-at-startup = [ + { argv = [ "noctalia-shell" ]; } + ]; cursor = { size = config.stylix.cursor.size; theme = config.stylix.cursor.name; diff --git a/modules/home/noctalia.nix b/modules/home/noctalia.nix index e05b317..4070bd8 100644 --- a/modules/home/noctalia.nix +++ b/modules/home/noctalia.nix @@ -10,7 +10,6 @@ programs.noctalia-shell = { enable = true; - systemd.enable = true; # Replaces spawn-at-startup in niri settings = { general = { avatarImage = "~/.face"; @@ -114,6 +113,10 @@ enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; + activate-linux = { + enabled = true; + sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; + }; }; version = 1; }; diff --git a/modules/home/packages.nix b/modules/home/packages.nix index f07c759..7e2009a 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -14,6 +14,9 @@ devenv htop obsidian + upscayl + trayscale + nautilus # CD Stuff picard @@ -22,5 +25,7 @@ playerctl brightnessctl + monique + opencode ]; } diff --git a/modules/home/stylix.nix b/modules/home/stylix.nix index 6d3ceec..c6bafd2 100644 --- a/modules/home/stylix.nix +++ b/modules/home/stylix.nix @@ -49,6 +49,15 @@ noto-fonts-color-emoji ]; + fonts.fontconfig = { + enable = true; + defaultFonts = { + sansSerif = [ "Noto Sans" ]; + monospace = [ "JetBrainsMono Nerd Font" ]; + emoji = [ "Noto Color Emoji" ]; + }; + }; + gtk = { enable = true; colorScheme = config.stylix.polarity; diff --git a/modules/home/terminal.nix b/modules/home/terminal.nix index 41405d6..217eb72 100644 --- a/modules/home/terminal.nix +++ b/modules/home/terminal.nix @@ -1,5 +1,6 @@ { config, + lib, pkgs, ... }: @@ -30,6 +31,7 @@ foot = { enable = true; server.enable = false; + package = pkgs.foot; settings = { main = { term = "xterm-256color"; @@ -51,7 +53,7 @@ enableZshIntegration = true; settings = { add_newline = true; - format = pkgs.lib.concatStrings [ + format = lib.strings.concatStrings [ "[ ╭─[\\[](1)$username([@](bold 2)$hostname)[\\]:](1) $directory( $git_branch)](5)" "$line_break" "[ ╰─$character](5)" @@ -86,14 +88,6 @@ scan_timeout = 100; }; }; - zellij = { - enable = true; - enableZshIntegration = true; - settings = { - theme = "catppuccin-mocha"; - show_startup_tips = false; - }; - }; zoxide = { enable = true; enableZshIntegration = true; diff --git a/modules/home/vicinae.nix b/modules/home/vicinae.nix index 3f76f7e..0b84e2e 100644 --- a/modules/home/vicinae.nix +++ b/modules/home/vicinae.nix @@ -16,10 +16,13 @@ close_on_focus_loss = true; pop_to_root_on_close = true; favicon_service = "twenty"; + telemetry = { + system_info = false; + }; font = { normal = { - size = 12; - normal = "${config.stylix.fonts.sansSerif.name}"; + size = config.stylix.fonts.sizes.applications; + family = "${config.stylix.fonts.monospace.name}"; }; }; theme = { diff --git a/modules/home/zellij.nix b/modules/home/zellij.nix new file mode 100644 index 0000000..8b36f28 --- /dev/null +++ b/modules/home/zellij.nix @@ -0,0 +1,455 @@ +let + mod = "Alt"; # Can be one of "Ctrl", "Alt", "Shift", "Super" +in +{ + programs.zellij = { + enable = true; + enableZshIntegration = true; + settings = { + theme = "catppuccin-mocha"; + show_startup_tips = false; + keybinds = { + _props = { + clear-defaults = true; + }; + + _children = [ + { + locked._children = [ + { + bind = { + _args = [ "${mod} g" ]; + _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; + }; + } + ]; + } + { + resize._children = [ + { + bind = { + _args = [ "${mod} r" ]; + _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; + }; + } + { + bind = { + _args = [ "h" ]; + _children = [ { Resize._args = [ "Increase Left" ]; } ]; + }; + } + { + bind = { + _args = [ "j" ]; + _children = [ { Resize._args = [ "Increase Down" ]; } ]; + }; + } + { + bind = { + _args = [ "k" ]; + _children = [ { Resize._args = [ "Increase Up" ]; } ]; + }; + } + { + bind = { + _args = [ "l" ]; + _children = [ { Resize._args = [ "Increase Right" ]; } ]; + }; + } + ]; + } + + { + pane._children = [ + { + bind = { + _args = [ "${mod} p" ]; + _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; + }; + } + { + bind = { + _args = [ "c" ]; + _children = [ { Clear = { }; } ]; + }; + } + { + bind = { + _args = [ "e" ]; + _children = [ + { TogglePaneEmbedOrFloating = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "f" ]; + _children = [ + { ToggleFocusFullscreen = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "s" ]; + _children = [ + { NewPane._args = [ "stacked" ]; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "j" ]; + _children = [ + { NewPane._args = [ "Down" ]; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "l" ]; + _children = [ + { NewPane._args = [ "Right" ]; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "n" ]; + _children = [ + { NewPane = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "p" ]; + _children = [ + { SwitchFocus = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "r" ]; + _children = [ + { SwitchToMode._args = [ "RenamePane" ]; } + { PaneNameInput._args = [ 0 ]; } + ]; + }; + } + { + bind = { + _args = [ "w" ]; + _children = [ + { ToggleFloatingPanes = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "x" ]; + _children = [ + { CloseFocus = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "z" ]; + _children = [ + { TogglePaneFrames = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + ]; + } + { + move._children = [ + { + bind = { + _args = [ "${mod} m" ]; + _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; + }; + } + { + bind = { + _args = [ "h" ]; + _children = [ { MovePane._args = [ "Left" ]; } ]; + }; + } + { + bind = { + _args = [ "j" ]; + _children = [ { MovePane._args = [ "Down" ]; } ]; + }; + } + { + bind = { + _args = [ "k" ]; + _children = [ { MovePane._args = [ "Up" ]; } ]; + }; + } + { + bind = { + _args = [ "l" ]; + _children = [ { MovePane._args = [ "Right" ]; } ]; + }; + } + ]; + } + { + tab._children = [ + { + bind = { + _args = [ "${mod} t" ]; + _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; + }; + } + { + bind = { + _args = [ "b" ]; + _children = [ + { BreakPane = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "h" ]; + _children = [ { MoveTab._args = [ "Left" ]; } ]; + }; + } + { + bind = { + _args = [ "l" ]; + _children = [ { MoveTab._args = [ "Right" ]; } ]; + }; + } + { + bind = { + _args = [ "n" ]; + _children = [ + { NewTab = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + { + bind = { + _args = [ "r" ]; + _children = [ + { SwitchToMode._args = [ "RenameTab" ]; } + { TabNameInput._args = [ 0 ]; } + ]; + }; + } + { + bind = { + _args = [ "x" ]; + _children = [ + { CloseTab = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + ]; + } + { + renametab._children = [ + { + bind = { + _args = [ "${mod} c" ]; + _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; + }; + } + { + bind = { + _args = [ "Esc" ]; + _children = [ + { UndoRenameTab = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + ]; + } + { + renamepane._children = [ + { + bind = { + _args = [ "${mod} c" ]; + _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; + }; + } + { + bind = { + _args = [ "Esc" ]; + _children = [ + { UndoRenamePane = { }; } + { SwitchToMode._args = [ "Normal" ]; } + ]; + }; + } + ]; + } + { + shared_except = { + _args = [ "locked" ]; + _children = [ + { + bind = { + _args = [ "${mod} g" ]; + _children = [ { SwitchToMode._args = [ "Locked" ]; } ]; + }; + } + { + bind = { + _args = [ "${mod} h" ]; + _children = [ { MoveFocusOrTab._args = [ "Left" ]; } ]; + }; + } + { + bind = { + _args = [ "${mod} l" ]; + _children = [ { MoveFocusOrTab._args = [ "Right" ]; } ]; + }; + } + { + bind = { + _args = [ "${mod} j" ]; + _children = [ { MoveFocus._args = [ "Down" ]; } ]; + }; + } + { + bind = { + _args = [ "${mod} k" ]; + _children = [ { MoveFocus._args = [ "Up" ]; } ]; + }; + } + { + bind = { + _args = [ "${mod} [" ]; + _children = [ { PreviousSwapLayout = { }; } ]; + }; + } + { + bind = { + _args = [ "${mod} ]" ]; + _children = [ { NextSwapLayout = { }; } ]; + }; + } + ]; + }; + } + { + shared_except = { + _args = [ + "normal" + "locked" + ]; + _children = [ + { + bind = { + _args = [ + "Enter" + "Esc" + ]; + _children = [ { SwitchToMode = [ "Normal" ]; } ]; + }; + } + ]; + }; + } + { + shared_except = { + _args = [ + "pane" + "locked" + ]; + _children = [ + { + bind = { + _args = [ "${mod} p" ]; + _children = [ { SwitchToMode = [ "Pane" ]; } ]; + }; + } + ]; + }; + } + { + shared_except = { + _args = [ + "resize" + "locked" + ]; + _children = [ + { + bind = { + _args = [ "${mod} r" ]; + _children = [ { SwitchToMode = [ "Resize" ]; } ]; + }; + } + ]; + }; + } + { + shared_except = { + _args = [ + "tab" + "locked" + ]; + _children = [ + { + bind = { + _args = [ "${mod} t" ]; + _children = [ { SwitchToMode = [ "Tab" ]; } ]; + }; + } + ]; + }; + } + { + shared_except = { + _args = [ + "move" + "locked" + ]; + _children = [ + { + bind = { + _args = [ "${mod} m" ]; + _children = [ { SwitchToMode = [ "Move" ]; } ]; + }; + } + ]; + }; + } + ]; + }; + + plugins = { + compact-bar = { + _props = { + location = "zellij:compact-bar"; + }; + }; + }; + + simplified_ui = true; + pane_frames = false; + copy_on_select = true; + }; + }; +} diff --git a/modules/overlays/default.nix b/modules/overlays/default.nix index 77e54b2..b824a19 100644 --- a/modules/overlays/default.nix +++ b/modules/overlays/default.nix @@ -2,5 +2,6 @@ nixpkgs.overlays = [ (import ./heybrochecklog.nix) (import ./pywalfox-native.nix) + (import ./monique.nix) ]; } diff --git a/modules/overlays/monique.nix b/modules/overlays/monique.nix new file mode 100644 index 0000000..8f57531 --- /dev/null +++ b/modules/overlays/monique.nix @@ -0,0 +1,28 @@ +self: super: with super.python3Packages; { + monique = buildPythonApplication rec { + pname = "monique"; + version = "0.5.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-fA2mVMjAg1vOpHPJr2B0NtJ00cEs23/Y4S4h3WurpY4="; + }; + + pyproject = true; + build-system = [ setuptools ]; + + nativeBuildInputs = [ + super.wrapGAppsHook4 + super.gobject-introspection + ]; + + buildInputs = [ + super.libadwaita + super.gtk4 + ]; + + propagatedBuildInputs = [ + pygobject3 + ]; + }; +} diff --git a/modules/system/user.nix b/modules/system/user.nix index 907ae21..aa8b687 100644 --- a/modules/system/user.nix +++ b/modules/system/user.nix @@ -35,6 +35,7 @@ "wheel" "scanner" "lp" + "dialout" ]; hashedPasswordFile = config.age.secrets.eclypse-password.path; shell = pkgs.zsh;