diff --git a/flake.lock b/flake.lock index 17dc9a1..28455ba 100644 --- a/flake.lock +++ b/flake.lock @@ -122,11 +122,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1742980632, - "narHash": "sha256-UQRljs0DcUbfmVn90rUtpcuPbyGWHGmxob+WP36r9tg=", + "lastModified": 1743067111, + "narHash": "sha256-v9VJXx7525gMH6S7WesJM84Dr76jxRubATuBJn4L14o=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "6a1714928534fd6e2c0c68f42507f05d9dba6820", + "rev": "5c22a2387d4ac1e1d64d66489e7d3ecb0a30cbcd", "type": "github" }, "original": { @@ -387,11 +387,11 @@ ] }, "locked": { - "lastModified": 1742996658, - "narHash": "sha256-snxgTLVq6ooaD3W3mPHu7LVWpoZKczhxHAUZy2ea4oA=", + "lastModified": 1743082807, + "narHash": "sha256-qmrCYHVqE6j0TQApfxGx8aRYNdNsqtOrZuH09A+cjTU=", "owner": "nix-community", "repo": "home-manager", - "rev": "693840c01b9bef9e54100239cef937e53d4661bf", + "rev": "171915bfce41018528fda9960211e81946d999b7", "type": "github" }, "original": { @@ -464,11 +464,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1742994059, - "narHash": "sha256-dqT4RrP2yReB0TZr1gQPqoYUS08evAWk1VtjMLuN5MM=", + "lastModified": 1743065774, + "narHash": "sha256-aC1lwnqwHbYRsPfx+lRi32fHRcln0xhIzf0Q7/Lg+vQ=", "ref": "refs/heads/main", - "rev": "21dac7513cbb65173e825e04b14dadb99d3fc01a", - "revCount": 17734, + "rev": "b918f1c307b314daa44407bac60046630f13ed48", + "revCount": 17742, "type": "git", "url": "https://git@git.lix.systems/lix-project/lix" }, @@ -647,11 +647,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1742751704, - "narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=", + "lastModified": 1742937945, + "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092", + "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7", "type": "github" }, "original": { @@ -695,11 +695,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1742669843, - "narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=", + "lastModified": 1742889210, + "narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1e5b653dff12029333a6546c11e108ede13052eb", + "rev": "698214a32beb4f4c8e3942372c694f40848b360d", "type": "github" }, "original": { @@ -726,17 +726,17 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1736701207, - "narHash": "sha256-jG/+MvjVY7SlTakzZ2fJ5dC3V1PrKKrUEOEE30jrOKA=", + "lastModified": 1742889210, + "narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ed4a395ea001367c1f13d34b1e01aa10290f67d6", + "rev": "698214a32beb4f4c8e3942372c694f40848b360d", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", - "rev": "ed4a395ea001367c1f13d34b1e01aa10290f67d6", "type": "github" } }, @@ -992,11 +992,11 @@ ] }, "locked": { - "lastModified": 1742982148, - "narHash": "sha256-aRA6LSxjlbMI6MmMzi/M5WH/ynd8pK+vACD9za3MKLQ=", + "lastModified": 1743081648, + "narHash": "sha256-WRAylyYptt6OX5eCEBWyTwOEqEtD6zt33rlUkr6u3cE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "61c88349bf6dff49fa52d7dfc39b21026c2a8881", + "rev": "29a3d7b768c70addce17af0869f6e2bd8f5be4b7", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 847a775..4b6946e 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { flakeParts.url = "github:hercules-ci/flake-parts"; - nixpkgs.url = "github:NixOS/nixpkgs/ed4a395ea001367c1f13d34b1e01aa10290f67d6"; # FIXME update (check if screen sharing works!) + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixosHardware.url = "github:NixOS/nixos-hardware"; homeManager = { url = "github:nix-community/home-manager"; diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 9987cbf..a36b0de 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -548,6 +548,13 @@ (eglot-ensure)))) :mode "\\.ts\\'") +(use-package rust-mode + :init + (setq rust-mode-treesitter-derive t) + :hook ((rust-mode . (lambda () + (require 'eglot) + (eglot-ensure))))) + (use-package haskell-ts-mode :hook ((haskell--ts-mode . eglot-ensure)) :mode "\\.hs\\'" @@ -654,7 +661,8 @@ (eat-eshell-mode) (eat-eshell-visual-command-mode) :custom ((eshell-prefer-lisp-functions t) - (eshell-history-size 10000)) + (eshell-history-size 10000) + (eshell-banner-message "")) :config (defun ccr/start-eshell () ;; Used from outside Emacs by emacsclient --eval (eshell 'N) @@ -681,8 +689,10 @@ ccr/eshell-aliases) :bind (("C-c o e" . project-eshell) - :map eshell-mode-map - ("C-r" . eshell-atuin-history))) ;; i.e. just C-r in semi-char-mode + (:map eshell-mode-map + ("C-r" . eshell-atuin-history) + ("C-" . corfu-send) + ))) ;; i.e. just C-r in semi-char-mode (use-package eshell-command-not-found :custom ((eshell-command-not-found-command "command-not-found")) diff --git a/hmModules/firefox/default.nix b/hmModules/firefox/default.nix index 6e0de55..9100a3e 100644 --- a/hmModules/firefox/default.nix +++ b/hmModules/firefox/default.nix @@ -63,7 +63,7 @@ in }; profiles.default = { search.force = true; - search.default = "Google"; + search.default = "google"; search.engines = { "Searx" = { urls = [ @@ -79,7 +79,6 @@ in ]; }; }; - bookmarks = [ ]; extensions = [ ]; userChrome = builtins.readFile ./userchrome.css; }; diff --git a/hmModules/hyprland/default.nix b/hmModules/hyprland/default.nix index 4688a57..fee30aa 100644 --- a/hmModules/hyprland/default.nix +++ b/hmModules/hyprland/default.nix @@ -84,7 +84,7 @@ in }; wayland.windowManager.hyprland = { - enable = true; + enable = false; plugins = with pkgs.hyprlandPlugins; [ hy3 hyprspace diff --git a/hmModules/niri/config.kdl b/hmModules/niri/config.kdl index 09dacf3..a7baef7 100644 --- a/hmModules/niri/config.kdl +++ b/hmModules/niri/config.kdl @@ -223,16 +223,16 @@ layout { // bottom 64 } - // shadow { - // on - // } + shadow { + on + } } layer-rule { match namespace="^rofi$" - // shadow { - // on - // } + shadow { + on + } } // Add lines like this to spawn processes at startup. diff --git a/hmModules/shell/default.nix b/hmModules/shell/default.nix index 17ac2bb..f63cbf0 100644 --- a/hmModules/shell/default.nix +++ b/hmModules/shell/default.nix @@ -70,35 +70,53 @@ }; }; - programs.fish = { + programs.bash = { enable = true; - plugins = [ - # { - # name = "fifc"; - # src = pkgs.fishPlugins.fifc.src; - # } - { - name = "z"; - src = pkgs.fishPlugins.z.src; - } - ]; - shellInit = - '' - # fish_vi_key_bindings - fish_default_key_bindings - '' - + lib.optionalString (builtins.hasAttr "cachix-personal-token" age.secrets) '' - export CACHIX_AUTH_TOKEN=$(cat ${age.secrets.cachix-personal-token.path}) - ''; + initExtra = lib.optionalString (builtins.hasAttr "cachix-personal-token" age.secrets) '' + export CACHIX_AUTH_TOKEN=$(cat ${age.secrets.cachix-personal-token.path}) + ''; shellAliases = { "cat" = "bat"; }; }; + programs.zoxide.enable = true; + programs.thefuck.enable = true; + programs.oh-my-posh = { + enable = true; + useTheme = "catppuccin_mocha"; + }; + + programs.zellij.enableBashIntegration = false; + + # programs.fish = { + # enable = true; + # plugins = [ + # # { + # # name = "fifc"; + # # src = pkgs.fishPlugins.fifc.src; + # # } + # { + # name = "z"; + # src = pkgs.fishPlugins.z.src; + # } + # ]; + # shellInit = + # '' + # # fish_vi_key_bindings + # fish_default_key_bindings + # '' + # + lib.optionalString (builtins.hasAttr "cachix-personal-token" age.secrets) '' + # export CACHIX_AUTH_TOKEN=$(cat ${age.secrets.cachix-personal-token.path}) + # ''; + # shellAliases = { + # "cat" = "bat"; + # }; + # }; + home.packages = with pkgs; [ - thefuck dig.dnsutils lsof comma diff --git a/hmModules/xdg/default.nix b/hmModules/xdg/default.nix index bdcfdeb..a1c5fe4 100644 --- a/hmModules/xdg/default.nix +++ b/hmModules/xdg/default.nix @@ -28,6 +28,29 @@ ]; }; }; + portal = { + enable = true; + configPackages = with pkgs; [ + # xdg-desktop-portal-wlr + # xdg-desktop-portal-gtk + # xdg-desktop-portal-hyprland + xdg-desktop-portal-gnome + # xdg-desktop-portal + # kdePackages.xdg-desktop-portal-kde + # libsForQt5.xdg-desktop-portal-kde + gnome-keyring + ]; + extraPortals = with pkgs; [ + # xdg-desktop-portal-wlr + # xdg-desktop-portal-gtk + # xdg-desktop-portal-hyprland + xdg-desktop-portal-gnome + # xdg-desktop-portal + # kdePackages.xdg-desktop-portal-kde + gnome-keyring + ]; + }; + }; home.packages = [ pkgs.xdg-utils ]; } diff --git a/hmModules/zellij/default.nix b/hmModules/zellij/default.nix index 9e75788..b2a7bd3 100644 --- a/hmModules/zellij/default.nix +++ b/hmModules/zellij/default.nix @@ -99,7 +99,6 @@ in { programs.zellij = { enable = true; - enableFishIntegration = false; settings = { default_layout = "${layout}"; pane_frames = false; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index a63fd60..03fbb85 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -77,7 +77,7 @@ "tor-browser" "kicad" "monero" - "zulip" + # "zulip" "teams" "obs-studio" "calibre" diff --git a/modules/arr/default.nix b/modules/arr/default.nix index 465eed8..5f269c4 100644 --- a/modules/arr/default.nix +++ b/modules/arr/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, ... }: +{ lib, ... }: { services.radarr = { enable = true; @@ -6,9 +6,6 @@ services.sonarr = { enable = true; - package = - (builtins.getFlake "github:NixOS/nixpkgs/c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5") - .legacyPackages.${pkgs.stdenv.system}.sonarr; }; services.prowlarr = { diff --git a/modules/ccr/default.nix b/modules/ccr/default.nix index 31c7859..dd1f0f4 100644 --- a/modules/ccr/default.nix +++ b/modules/ccr/default.nix @@ -28,7 +28,7 @@ in shell = lib.mkOption { type = lib.types.package; - default = pkgs.fish; + default = pkgs.bash; }; modules = lib.mkOption { @@ -103,8 +103,6 @@ in openssh.authorizedKeys.keys = config.ccr.authorizedKeys; }; - programs.fish.enable = true; - services.getty.autologinUser = if config.ccr.autologin then cfg.username else null; home-manager.useGlobalPkgs = true; diff --git a/modules/xdg/default.nix b/modules/xdg/default.nix index 04c145e..7dd59d5 100644 --- a/modules/xdg/default.nix +++ b/modules/xdg/default.nix @@ -1,29 +1,51 @@ { pkgs, ... }: { xdg = { + autostart.enable = true; + menus.enable = true; + mime.enable = true; + icons.enable = true; portal = { enable = true; configPackages = with pkgs; [ - xdg-desktop-portal-wlr - xdg-desktop-portal-gtk - xdg-desktop-portal-hyprland + # xdg-desktop-portal-wlr + # xdg-desktop-portal-gtk + # xdg-desktop-portal-hyprland xdg-desktop-portal-gnome - xdg-desktop-portal - kdePackages.xdg-desktop-portal-kde - libsForQt5.xdg-desktop-portal-kde + # xdg-desktop-portal + # kdePackages.xdg-desktop-portal-kde + # libsForQt5.xdg-desktop-portal-kde gnome-keyring ]; extraPortals = with pkgs; [ - xdg-desktop-portal-wlr - xdg-desktop-portal-gtk - xdg-desktop-portal-hyprland + # xdg-desktop-portal-wlr + # xdg-desktop-portal-gtk + # xdg-desktop-portal-hyprland xdg-desktop-portal-gnome - xdg-desktop-portal - kdePackages.xdg-desktop-portal-kde + # xdg-desktop-portal + # kdePackages.xdg-desktop-portal-kde gnome-keyring ]; xdgOpenUsePortal = true; wlr.enable = true; }; + + }; + security.rtkit.enable = true; + + security.polkit.enable = true; + services.gnome.gnome-keyring.enable = true; + systemd.user.services.niri-flake-polkit = { + description = "PolicyKit Authentication Agent provided by niri-flake"; + wantedBy = [ "niri.service" ]; + after = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; }; } diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix index f726e67..9b366a2 100644 --- a/packages/emacs/packages.nix +++ b/packages/emacs/packages.nix @@ -182,6 +182,7 @@ let markdown-mode haskell-mode terraform-mode + rust-mode diredfl org-modern math-preview