diff --git a/flake.lock b/flake.lock index fc49c25..2c59639 100644 --- a/flake.lock +++ b/flake.lock @@ -86,11 +86,11 @@ ] }, "locked": { - "lastModified": 1727156717, - "narHash": "sha256-Ef7UgoTdOB4PGQKSkHGu6SOxnTiArPHGcRf8qGFC39o=", + "lastModified": 1727249977, + "narHash": "sha256-lAqOCDI4B6hA+t+KHSm/Go8hQF/Ob5sgXaIRtMAnMKw=", "owner": "nix-community", "repo": "disko", - "rev": "c61e50b63ad50dda5797b1593ad7771be496efbb", + "rev": "c1c472f4cd91e4b0703e02810a8c7ed30186b6fa", "type": "github" }, "original": { @@ -448,11 +448,11 @@ ] }, "locked": { - "lastModified": 1727111745, - "narHash": "sha256-EYLvFRoTPWtD+3uDg2wwQvlz88OrIr3zld+jFE5gDcY=", + "lastModified": 1727246346, + "narHash": "sha256-TcUaKtya339Asu+g6KTJ8h7KiKcKXKp2V+At+7tksyY=", "owner": "nix-community", "repo": "home-manager", - "rev": "21c021862fa696c8199934e2153214ab57150cb6", + "rev": "1e22ef1518fb175d762006f9cae7f6312b8caedb", "type": "github" }, "original": { @@ -484,11 +484,11 @@ }, "impermanence": { "locked": { - "lastModified": 1727125666, - "narHash": "sha256-hmmctvhlx0mUOm/Dv3tRewSoCX7Y0MaUDNkEsSlq3lY=", + "lastModified": 1727198257, + "narHash": "sha256-/qMVI+SG9zvhLbQFOnqb4y4BH6DdK3DQHZU5qGptehc=", "owner": "nix-community", "repo": "impermanence", - "rev": "85fe07276d8b58cff91bfeb332940e9c7b73c135", + "rev": "8514fff0f048557723021ffeb31ca55f69b67de3", "type": "github" }, "original": { @@ -897,15 +897,16 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1727182767, - "narHash": "sha256-MAegP5rQZ+B3IIoW8B1cHkUef2jcxvLOCYv4NyA0Q80=", + "lastModified": 1726937504, + "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b02a84ef821fff142501f8daff9ce67f414ee240", + "rev": "9357f4f23713673f310988025d9dc261c20e70c6", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -1275,11 +1276,11 @@ ] }, "locked": { - "lastModified": 1727098951, - "narHash": "sha256-gplorAc0ISAUPemUNOnRUs7jr3WiLiHZb3DJh++IkZs=", + "lastModified": 1727252110, + "narHash": "sha256-3O7RWiXpvqBcCl84Mvqa8dXudZ1Bol1ubNdSmQt7nF4=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "35dfece10c642eb52928a48bee7ac06a59f93e9a", + "rev": "1bff2ba6ec22bc90e9ad3f7e94cca0d37870afa3", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 79dd5bc..001eca4 100644 --- a/flake.nix +++ b/flake.nix @@ -3,9 +3,7 @@ inputs = { flakeParts.url = "github:hercules-ci/flake-parts"; - # FIXME remove constraint - nixpkgs.url = "github:NixOS/nixpkgs"; - # nixpkgsForSisko.url = "github:NixOS/nixpkgs/0e74ca98a74bc7270d28838369593635a5db3260"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixosHardware.url = "github:NixOS/nixos-hardware"; homeManager = { url = "github:nix-community/home-manager"; diff --git a/hmModules/foot/default.nix b/hmModules/foot/default.nix index 620d5f8..e8ac8d3 100644 --- a/hmModules/foot/default.nix +++ b/hmModules/foot/default.nix @@ -14,6 +14,7 @@ lib.mkMerge [ login-shell = "yes"; dpi-aware = "no"; horizontal-letter-offset = "1"; + pad = "1x1"; font = let size = "13"; diff --git a/hmModules/freecad/default.nix b/hmModules/freecad/default.nix new file mode 100644 index 0000000..ef86027 --- /dev/null +++ b/hmModules/freecad/default.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: +{ + home.packages = [ pkgs.freecad-wayland ]; +} diff --git a/hmModules/git/default.nix b/hmModules/git/default.nix index fcec555..8b1dfd4 100644 --- a/hmModules/git/default.nix +++ b/hmModules/git/default.nix @@ -27,8 +27,6 @@ in user.signingKey = "/home/${username}/.ssh/id_rsa"; gpg.format = "ssh"; commit.gpgsign = true; - - core.editor = "emacsclient"; }; userName = config.name; diff --git a/hmModules/shell/default.nix b/hmModules/shell/default.nix index d1e8fc4..32f4a8f 100644 --- a/hmModules/shell/default.nix +++ b/hmModules/shell/default.nix @@ -8,6 +8,18 @@ { programs.bat.enable = true; + programs.ranger = { + enable = true; + settings = { + "preview_images" = true; + "preview_images_method" = "sixel"; + }; + }; + + programs.fzf.enable = true; + + programs.ripgrep.enable = true; + programs.direnv = { enable = true; config = { @@ -16,12 +28,10 @@ nix-direnv.enable = true; }; - # programs.exa = { - # enable = false; - # enableAliases = true; - # }; - - # programs.fzf.enable = false; + programs.lsd = { + enable = false; + enableAliases = true; + }; programs.vim.enable = true; @@ -50,169 +60,32 @@ }; }; - # programs.starship = { - # enable = false; - # settings = { - # character = { - # success_symbol = "[👌](bold green)"; - # error_symbol = "[🤌](bold red)"; - # }; - # nix_shell = { - # symbol = "❄ "; - # }; - # }; - # }; - - # Playing with it sometimes - # programs.nushell = { - # enable = false; - # configFile.text = '' - # let carapace_completer = {|spans| - # carapace $spans.0 nushell $spans | from json - # } - # let-env config = { - # show_banner: false - # ls: { - # use_ls_colors: true # use the LS_COLORS environment variable to colorize output - # clickable_links: true # enable or disable clickable links. Your terminal has to support links. - # } - # rm: { - # always_trash: true # always act as if -t was given. Can be overridden with -p - # } - # cd: { - # abbreviations: true # allows `cd s/o/f` to expand to `cd some/other/folder` - # } - # table: { - # mode: compact # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other - # index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column - # trim: { - # methodology: wrapping # wrapping or truncating - # wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology - # truncating_suffix: "..." # A suffix used by the 'truncating' methodology - # } - # } - # history: { - # max_size: 10000 # Session has to be reloaded for this to take effect - # sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file - # file_format: "plaintext" # "sqlite" or "plaintext" - # } - # completions: { - # case_sensitive: false # set to true to enable case-sensitive completions - # quick: true # set this to false to prevent auto-selecting completions when only one remains - # partial: true # set this to false to prevent partial filling of the prompt - # algorithm: "fuzzy" # prefix or fuzzy - # external: { - # enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up my be very slow - # max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options - # completer: $carapace_completer # check 'carapace_completer' above as an example - # } - # } - # filesize: { - # metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) - # format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto - # } - # buffer_editor: "${config.programs.helix.package}/bin/helix" - # } - # ''; - # }; - programs.fish = { enable = true; - shellInit = lib.optionalString (builtins.hasAttr "cachix-personal-token" age.secrets) '' - export CACHIX_AUTH_TOKEN=$(cat ${age.secrets.cachix-personal-token.path}) - ''; + shellInit = + '' + fish_vi_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"; }; }; - # programs.zsh = { - # enable = false; # Playing xswith fish at the moment - # enableAutosuggestions = true; - # enableCompletion = true; - # enableSyntaxHighlighting = true; - # enableVteIntegration = true; - # autocd = true; - # oh-my-zsh = { - # enable = true; - # plugins = [ - # "ag" - # "cabal" - # "colored-man-pages" - # "colorize" - # "command-not-found" - # "fzf" - # "git" - # "nomad" - # "pass" - # "python" - # "sudo" - # "terraform" - # "thefuck" - # ]; - # }; - # plugins = [ - # { - # name = "fzf-tab"; - # src = pkgs.fetchFromGitHub { - # owner = "Aloxaf"; - # repo = "fzf-tab"; - # rev = "c2b4aa5ad2532cca91f23908ac7f00efb7ff09c9"; - # sha256 = "sha256-gvZp8P3quOtcy1Xtt1LAW1cfZ/zCtnAmnWqcwrKel6w="; - # }; - # } - # { - # name = "fzf-tab"; - # src = pkgs.fetchFromGitHub { - # owner = "Aloxaf"; - # repo = "fzf-tab"; - # rev = "c2b4aa5ad2532cca91f23908ac7f00efb7ff09c9"; - # sha256 = "sha256-gvZp8P3quOtcy1Xtt1LAW1cfZ/zCtnAmnWqcwrKel6w="; - # }; - # } - # { - # name = "fast-syntax-highlighting"; - # src = pkgs.fetchFromGitHub { - # owner = "zdharma-continuum"; - # repo = "fast-syntax-highlighting"; - # rev = "13d7b4e63468307b6dcb2dadf6150818f242cbff"; - # sha256 = "sha256-AmsexwVombgVmRvl4O9Kd/WbnVJHPTXETxBv18PDHz4="; - # }; - # } - # ]; - # shellAliases = { - # "cat" = "bat"; - # "em" = "TERM=wezterm emacsclient -nw"; - # }; - # loginExtra = "[[ -z $DISPLAY && $TTY = /dev/tty1 ]] && exec dbus-run-session Hyprland"; - # envExtra = '' - # # [ $TERM = "dumb" ] && unsetopt zle && PS1='$ ' # for Emacs TRAMP mode - # ''; - # initExtra = '' - # export CACHIX_AUTH_TOKEN=$(cat ${age.secrets.cachix-personal-token.path}) - - # # Don't enable VIM emulation when in Emacs - # [[ -z $INSIDE_EMACS ]] && source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh - - # # When enabling starship, home-manager add an `initExtra` rule to disable it when in Emacs but not with VTerm, - # # since I use also `eat` besides `vterm` the following line is needed - # [[ "$INSIDE_EMACS" =~ "eat" ]] && eval "$(${config.home.profileDirectory}/bin/starship init zsh)" - # ''; - # }; - home.packages = with pkgs; [ thefuck - htop-vim - bottom dig.dnsutils lsof - zsh-completions - nix-zsh-completions comma - carapace # used by nushell - neovim + ffmpeg-headless + jless + nix-melt + jq + yq-go ] ++ (lib.optionals (builtins.elem hostname [ diff --git a/hmModules/tremotesf/default.nix b/hmModules/tremotesf/default.nix index a3569a1..82c1336 100644 --- a/hmModules/tremotesf/default.nix +++ b/hmModules/tremotesf/default.nix @@ -7,7 +7,9 @@ home.packages = [ pkgs.tremotesf ]; systemd.user.services.tremotesf = { - Install.WantedBy = [ "graphical-session.target" ]; + Install.WantedBy = [ + "waybar.service" + ]; Unit = { Description = "tremotesf"; diff --git a/hmModules/zmkbatx/default.nix b/hmModules/zmkbatx/default.nix index b7f9065..0070092 100644 --- a/hmModules/zmkbatx/default.nix +++ b/hmModules/zmkbatx/default.nix @@ -8,7 +8,6 @@ systemd.user.services.zmkBATx = { Install.WantedBy = [ - "graphical-session.target" "waybar.service" ]; @@ -17,7 +16,7 @@ }; Service = { - ExecStart = lib.getExe pkgs.zmkBATx; + ExecStart = "sleep 5 && ${lib.getExe pkgs.zmkBATx}"; Restart = "on-failure"; RestartSec = 3; }; diff --git a/hosts/default.nix b/hosts/default.nix index 400f3ce..480c37d 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -97,6 +97,7 @@ extraModules = with inputs; [ disko.nixosModules.disko impermanence.nixosModules.impermanence + lix-module.nixosModules.default ]; secrets = { "sisko-wireguard-private-key" = { }; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index def7e50..be7d2f8 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -85,6 +85,7 @@ "vscode-server" "zk" "catppuccin" + "freecad" ]; extraGroups = [ ]; backupPaths = [ ]; diff --git a/hosts/sisko/default.nix b/hosts/sisko/default.nix index 79ef8fe..8341327 100644 --- a/hosts/sisko/default.nix +++ b/hosts/sisko/default.nix @@ -21,14 +21,7 @@ "invidious" "searx" "rock5b-samba" - # "paperless" - # "restic" - # "syncthing" - # "minio" - # # "matrix" "forgejo" - # # "jellyfin" - # "immich" "prometheus" "grafana" "prometheus-exporters" @@ -36,7 +29,6 @@ "promtail" "garmin-collector" "restic" - # "immich" "atuin" ] ++ [ diff --git a/modules/immich/default.nix b/modules/immich/default.nix index 21d8bd5..be7e905 100644 --- a/modules/immich/default.nix +++ b/modules/immich/default.nix @@ -1,10 +1,6 @@ -{ config, ... }: -let - nixpkgsImmich = builtins.getFlake "github:NixOS/nixpkgs/c0ee4c1770aa1ef998c977c4cc653a07ec95d9bf"; -in { - containers.nextcloud = { - nixpkgs = nixpkgsImmich; + containers.immich = { + nixpkgs = builtins.getFlake "github:NixOS/nixpkgs/51296fce6f2b33717f710788af4e134aa7ff0e58"; autoStart = true; privateNetwork = true; # hostAddress = "192.168.100.10"; diff --git a/modules/xdg/default.nix b/modules/xdg/default.nix index 0a07d40..c1aa55a 100644 --- a/modules/xdg/default.nix +++ b/modules/xdg/default.nix @@ -3,15 +3,18 @@ xdg = { portal = { enable = true; - extraPortals = with pkgs; [ + configPackages = with pkgs; [ + xdg-desktop-portal-wlr xdg-desktop-portal-gtk xdg-desktop-portal-hyprland ]; - config.common.default = "*"; + extraPortals = with pkgs; [ + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + xdg-desktop-portal-hyprland + ]; + xdgOpenUsePortal = true; + wlr.enable = true; }; }; - - environment.sessionVariables = { - GTK_USE_PORTAL = "1"; - }; } diff --git a/packages/spotify-adblocked/default.nix b/packages/spotify-adblocked/default.nix index 94df5c9..f44acea 100644 --- a/packages/spotify-adblocked/default.nix +++ b/packages/spotify-adblocked/default.nix @@ -15,7 +15,7 @@ let rev = "5a3281dee9f889afdeea7263558e7a715dcf5aab"; hash = "sha256-UzpHAHpQx2MlmBNKm2turjeVmgp5zXKWm3nZbEo0mYE="; }; - cargoSha256 = "sha256-wPV+ZY34OMbBrjmhvwjljbwmcUiPdWNHFU3ac7aVbIQ="; + cargoHash = "sha256-wPV+ZY34OMbBrjmhvwjljbwmcUiPdWNHFU3ac7aVbIQ="; patchPhase = '' substituteInPlace src/lib.rs \