diff --git a/flake.lock b/flake.lock index 2c59639..fc49c25 100644 --- a/flake.lock +++ b/flake.lock @@ -86,11 +86,11 @@ ] }, "locked": { - "lastModified": 1727249977, - "narHash": "sha256-lAqOCDI4B6hA+t+KHSm/Go8hQF/Ob5sgXaIRtMAnMKw=", + "lastModified": 1727156717, + "narHash": "sha256-Ef7UgoTdOB4PGQKSkHGu6SOxnTiArPHGcRf8qGFC39o=", "owner": "nix-community", "repo": "disko", - "rev": "c1c472f4cd91e4b0703e02810a8c7ed30186b6fa", + "rev": "c61e50b63ad50dda5797b1593ad7771be496efbb", "type": "github" }, "original": { @@ -448,11 +448,11 @@ ] }, "locked": { - "lastModified": 1727246346, - "narHash": "sha256-TcUaKtya339Asu+g6KTJ8h7KiKcKXKp2V+At+7tksyY=", + "lastModified": 1727111745, + "narHash": "sha256-EYLvFRoTPWtD+3uDg2wwQvlz88OrIr3zld+jFE5gDcY=", "owner": "nix-community", "repo": "home-manager", - "rev": "1e22ef1518fb175d762006f9cae7f6312b8caedb", + "rev": "21c021862fa696c8199934e2153214ab57150cb6", "type": "github" }, "original": { @@ -484,11 +484,11 @@ }, "impermanence": { "locked": { - "lastModified": 1727198257, - "narHash": "sha256-/qMVI+SG9zvhLbQFOnqb4y4BH6DdK3DQHZU5qGptehc=", + "lastModified": 1727125666, + "narHash": "sha256-hmmctvhlx0mUOm/Dv3tRewSoCX7Y0MaUDNkEsSlq3lY=", "owner": "nix-community", "repo": "impermanence", - "rev": "8514fff0f048557723021ffeb31ca55f69b67de3", + "rev": "85fe07276d8b58cff91bfeb332940e9c7b73c135", "type": "github" }, "original": { @@ -897,16 +897,15 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1726937504, - "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", + "lastModified": 1727182767, + "narHash": "sha256-MAegP5rQZ+B3IIoW8B1cHkUef2jcxvLOCYv4NyA0Q80=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9357f4f23713673f310988025d9dc261c20e70c6", + "rev": "b02a84ef821fff142501f8daff9ce67f414ee240", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -1276,11 +1275,11 @@ ] }, "locked": { - "lastModified": 1727252110, - "narHash": "sha256-3O7RWiXpvqBcCl84Mvqa8dXudZ1Bol1ubNdSmQt7nF4=", + "lastModified": 1727098951, + "narHash": "sha256-gplorAc0ISAUPemUNOnRUs7jr3WiLiHZb3DJh++IkZs=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "1bff2ba6ec22bc90e9ad3f7e94cca0d37870afa3", + "rev": "35dfece10c642eb52928a48bee7ac06a59f93e9a", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 001eca4..79dd5bc 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,9 @@ inputs = { flakeParts.url = "github:hercules-ci/flake-parts"; - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + # FIXME remove constraint + nixpkgs.url = "github:NixOS/nixpkgs"; + # nixpkgsForSisko.url = "github:NixOS/nixpkgs/0e74ca98a74bc7270d28838369593635a5db3260"; 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 e8ac8d3..620d5f8 100644 --- a/hmModules/foot/default.nix +++ b/hmModules/foot/default.nix @@ -14,7 +14,6 @@ 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 deleted file mode 100644 index ef86027..0000000 --- a/hmModules/freecad/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = [ pkgs.freecad-wayland ]; -} diff --git a/hmModules/git/default.nix b/hmModules/git/default.nix index 8b1dfd4..fcec555 100644 --- a/hmModules/git/default.nix +++ b/hmModules/git/default.nix @@ -27,6 +27,8 @@ 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 32f4a8f..d1e8fc4 100644 --- a/hmModules/shell/default.nix +++ b/hmModules/shell/default.nix @@ -8,18 +8,6 @@ { 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 = { @@ -28,10 +16,12 @@ nix-direnv.enable = true; }; - programs.lsd = { - enable = false; - enableAliases = true; - }; + # programs.exa = { + # enable = false; + # enableAliases = true; + # }; + + # programs.fzf.enable = false; programs.vim.enable = true; @@ -60,32 +50,169 @@ }; }; + # 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 = - '' - fish_vi_key_bindings - '' - + lib.optionalString (builtins.hasAttr "cachix-personal-token" age.secrets) '' - export CACHIX_AUTH_TOKEN=$(cat ${age.secrets.cachix-personal-token.path}) - ''; + shellInit = 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 - ffmpeg-headless - jless - nix-melt - jq - yq-go + carapace # used by nushell + neovim ] ++ (lib.optionals (builtins.elem hostname [ diff --git a/hmModules/tremotesf/default.nix b/hmModules/tremotesf/default.nix index 82c1336..a3569a1 100644 --- a/hmModules/tremotesf/default.nix +++ b/hmModules/tremotesf/default.nix @@ -7,9 +7,7 @@ home.packages = [ pkgs.tremotesf ]; systemd.user.services.tremotesf = { - Install.WantedBy = [ - "waybar.service" - ]; + Install.WantedBy = [ "graphical-session.target" ]; Unit = { Description = "tremotesf"; diff --git a/hmModules/zmkbatx/default.nix b/hmModules/zmkbatx/default.nix index 0070092..b7f9065 100644 --- a/hmModules/zmkbatx/default.nix +++ b/hmModules/zmkbatx/default.nix @@ -8,6 +8,7 @@ systemd.user.services.zmkBATx = { Install.WantedBy = [ + "graphical-session.target" "waybar.service" ]; @@ -16,7 +17,7 @@ }; Service = { - ExecStart = "sleep 5 && ${lib.getExe pkgs.zmkBATx}"; + ExecStart = lib.getExe pkgs.zmkBATx; Restart = "on-failure"; RestartSec = 3; }; diff --git a/hosts/default.nix b/hosts/default.nix index 480c37d..400f3ce 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -97,7 +97,6 @@ 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 be7d2f8..def7e50 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -85,7 +85,6 @@ "vscode-server" "zk" "catppuccin" - "freecad" ]; extraGroups = [ ]; backupPaths = [ ]; diff --git a/hosts/sisko/default.nix b/hosts/sisko/default.nix index 8341327..79ef8fe 100644 --- a/hosts/sisko/default.nix +++ b/hosts/sisko/default.nix @@ -21,7 +21,14 @@ "invidious" "searx" "rock5b-samba" + # "paperless" + # "restic" + # "syncthing" + # "minio" + # # "matrix" "forgejo" + # # "jellyfin" + # "immich" "prometheus" "grafana" "prometheus-exporters" @@ -29,6 +36,7 @@ "promtail" "garmin-collector" "restic" + # "immich" "atuin" ] ++ [ diff --git a/modules/immich/default.nix b/modules/immich/default.nix index be7e905..21d8bd5 100644 --- a/modules/immich/default.nix +++ b/modules/immich/default.nix @@ -1,6 +1,10 @@ +{ config, ... }: +let + nixpkgsImmich = builtins.getFlake "github:NixOS/nixpkgs/c0ee4c1770aa1ef998c977c4cc653a07ec95d9bf"; +in { - containers.immich = { - nixpkgs = builtins.getFlake "github:NixOS/nixpkgs/51296fce6f2b33717f710788af4e134aa7ff0e58"; + containers.nextcloud = { + nixpkgs = nixpkgsImmich; autoStart = true; privateNetwork = true; # hostAddress = "192.168.100.10"; diff --git a/modules/xdg/default.nix b/modules/xdg/default.nix index c1aa55a..0a07d40 100644 --- a/modules/xdg/default.nix +++ b/modules/xdg/default.nix @@ -3,18 +3,15 @@ xdg = { portal = { enable = true; - configPackages = with pkgs; [ - xdg-desktop-portal-wlr - xdg-desktop-portal-gtk - xdg-desktop-portal-hyprland - ]; extraPortals = with pkgs; [ - xdg-desktop-portal-wlr xdg-desktop-portal-gtk xdg-desktop-portal-hyprland ]; - xdgOpenUsePortal = true; - wlr.enable = true; + config.common.default = "*"; }; }; + + environment.sessionVariables = { + GTK_USE_PORTAL = "1"; + }; } diff --git a/packages/spotify-adblocked/default.nix b/packages/spotify-adblocked/default.nix index f44acea..94df5c9 100644 --- a/packages/spotify-adblocked/default.nix +++ b/packages/spotify-adblocked/default.nix @@ -15,7 +15,7 @@ let rev = "5a3281dee9f889afdeea7263558e7a715dcf5aab"; hash = "sha256-UzpHAHpQx2MlmBNKm2turjeVmgp5zXKWm3nZbEo0mYE="; }; - cargoHash = "sha256-wPV+ZY34OMbBrjmhvwjljbwmcUiPdWNHFU3ac7aVbIQ="; + cargoSha256 = "sha256-wPV+ZY34OMbBrjmhvwjljbwmcUiPdWNHFU3ac7aVbIQ="; patchPhase = '' substituteInPlace src/lib.rs \