From 675fe238c1f25625eb9801bda2e6ce15bd205ba0 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 15:38:44 +0900 Subject: [PATCH 01/11] Implement rclone-fzf --- pkgs/rclone-fzf/package.nix | 10 ++++++++++ pkgs/rclone-fzf/rclone-fzf.bash | 21 +++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/rclone-fzf/package.nix create mode 100644 pkgs/rclone-fzf/rclone-fzf.bash diff --git a/pkgs/rclone-fzf/package.nix b/pkgs/rclone-fzf/package.nix new file mode 100644 index 00000000..657b983c --- /dev/null +++ b/pkgs/rclone-fzf/package.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +pkgs.writeShellApplication rec { + name = "rclone-fzf"; + text = builtins.readFile ./${name}.bash; + runtimeInputs = with pkgs; [ + fzf + coreutils # `mktemp` + rclone + ]; +} diff --git a/pkgs/rclone-fzf/rclone-fzf.bash b/pkgs/rclone-fzf/rclone-fzf.bash new file mode 100644 index 00000000..6262e487 --- /dev/null +++ b/pkgs/rclone-fzf/rclone-fzf.bash @@ -0,0 +1,21 @@ +if [ $# -ge 1 ]; then + query="$1" +else + query="" +fi + +rclone-mount() { + local -r remote="$1" # e.g `foo:` + local -r mount_to="$(mktemp --tmpdir --directory "rclone.${remote%:}.XXXX")" + rclone mount "$remote" "$mount_to" --vfs-cache-mode writes --daemon + echo "$mount_to" +} + +export -f rclone-mount + +# Don't use rclone in fzf --preview, it runs query and be slow +rclone listremotes | fzf --query "$query" --border-label '☁️ Rclone Remotes' \ + --header $'Alt-M (Mount) / Alt-A (Inspect)\n\n' \ + --bind 'alt-m:become(rclone-mount {})' \ + --bind 'alt-a:become(rclone about {})' \ + --bind 'enter:become(echo {})' From 5a690064687b635f7ae8bd94626c0c4c9ddcac82 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 17:21:40 +0900 Subject: [PATCH 02/11] Implement rclone-list-mounted Nu might be useful these table operations if stable --- pkgs/rclone-fzf/package.nix | 1 + pkgs/rclone-fzf/rclone-fzf.bash | 7 +++++++ pkgs/rclone-list-mounted/package.nix | 1 + pkgs/rclone-list-mounted/script.nu | 1 + 4 files changed, 10 insertions(+) create mode 100644 pkgs/rclone-list-mounted/package.nix create mode 100644 pkgs/rclone-list-mounted/script.nu diff --git a/pkgs/rclone-fzf/package.nix b/pkgs/rclone-fzf/package.nix index 657b983c..ee9b8392 100644 --- a/pkgs/rclone-fzf/package.nix +++ b/pkgs/rclone-fzf/package.nix @@ -6,5 +6,6 @@ pkgs.writeShellApplication rec { fzf coreutils # `mktemp` rclone + my.rclone-list-mounted ]; } diff --git a/pkgs/rclone-fzf/rclone-fzf.bash b/pkgs/rclone-fzf/rclone-fzf.bash index 6262e487..bc03afe0 100644 --- a/pkgs/rclone-fzf/rclone-fzf.bash +++ b/pkgs/rclone-fzf/rclone-fzf.bash @@ -6,7 +6,10 @@ fi rclone-mount() { local -r remote="$1" # e.g `foo:` + # TODO: Return the path if already mounted the remote local -r mount_to="$(mktemp --tmpdir --directory "rclone.${remote%:}.XXXX")" + # Use `kill``, not `kill -9`. If exists the garbages in `mount --types fuse.rclone`, `fusermount -u THE_PATH` + # See https://www.reddit.com/r/rclone/comments/nh576p/how_to_stop_an_rclone_daemon/ rclone mount "$remote" "$mount_to" --vfs-cache-mode writes --daemon echo "$mount_to" } @@ -15,7 +18,11 @@ export -f rclone-mount # Don't use rclone in fzf --preview, it runs query and be slow rclone listremotes | fzf --query "$query" --border-label '☁️ Rclone Remotes' \ + --layout=reverse --multi --height=85% --min-height=20 --border \ + --border-label-pos=2 \ + --color='header:italic:underline,label:blue' \ --header $'Alt-M (Mount) / Alt-A (Inspect)\n\n' \ + --preview 'rclone-list-mounted' \ --bind 'alt-m:become(rclone-mount {})' \ --bind 'alt-a:become(rclone about {})' \ --bind 'enter:become(echo {})' diff --git a/pkgs/rclone-list-mounted/package.nix b/pkgs/rclone-list-mounted/package.nix new file mode 100644 index 00000000..63c8a151 --- /dev/null +++ b/pkgs/rclone-list-mounted/package.nix @@ -0,0 +1 @@ +{ pkgs, ... }: pkgs.writers.writeNuBin "rclone-list-mounted" (builtins.readFile ./script.nu) diff --git a/pkgs/rclone-list-mounted/script.nu b/pkgs/rclone-list-mounted/script.nu new file mode 100644 index 00000000..b45d5513 --- /dev/null +++ b/pkgs/rclone-list-mounted/script.nu @@ -0,0 +1 @@ +mount --types fuse.rclone | lines | split column ' ' | rename remote _ local _ type | select remote local | sort-by remote From 535b7cda111f94e9acc7e7d3639b2694e352d621 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 17:26:21 +0900 Subject: [PATCH 03/11] Update usage about rclone --- config/rclone.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/rclone.md b/config/rclone.md index 4b584cb8..8b98ef13 100644 --- a/config/rclone.md +++ b/config/rclone.md @@ -50,6 +50,12 @@ echo "Mounting Google Drive on $mount_to" rclone mount google-drive-Foo-Vault: "$mount_to" --vfs-cache-mode writes --log-level INFO ``` +I don't use systemd in these operations to avoid the saving secrets in this repository.\ +So use helper scripts. + +- rclone-fzf +- rclone-list-mounted + ## GUI on Linux Don't use with the encrypted rclone config. (Looks like supporting, but I don't favor the [giving echo PASS](https://github.com/germanztz/gnome-shell-extension-rclone-manager/blob/72f1a2ac4a1205069bc2bda5d1e5906e83a2b4ab/fileMonitorHelper.js#L125) style as [written by rclone author](https://github.com/rclone/rclone/issues/7875#issuecomment-2155656214). And [cannot be intgerated with env style](https://github.com/germanztz/gnome-shell-extension-rclone-manager/blob/72f1a2ac4a1205069bc2bda5d1e5906e83a2b4ab/fileMonitorHelper.js#L594) of `RCLONE_PASSWORD_COMMAND` and `RCLONE_CONFIG_PASS`) From cdd703e311563ae5b2c12ed45422c47fa481f5d1 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 17:29:06 +0900 Subject: [PATCH 04/11] Uninstall gnome-online-accounts --- nixos/desktop/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/desktop/default.nix b/nixos/desktop/default.nix index 2c87de15..b4926c64 100644 --- a/nixos/desktop/default.nix +++ b/nixos/desktop/default.nix @@ -92,6 +92,7 @@ evince # document viewer gnome-calendar gnome-music # does not support flac by defaults + gnome-online-accounts # See GH-1015 ]; # Recommended to be uninstalled by gnupg. I prefer this way, even though disabling gpg-agent ssh integrations. From 7c26b2770e68e2d262e64a7a95335862bcad9f30 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 17:33:59 +0900 Subject: [PATCH 05/11] Install rclone helpers --- home-manager/packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home-manager/packages.nix b/home-manager/packages.nix index e25c72a0..ed7732dc 100644 --- a/home-manager/packages.nix +++ b/home-manager/packages.nix @@ -124,4 +124,6 @@ archive-home-files gredit preview + rclone-list-mounted + rclone-fzf ]) From 1705f4fc108e5309dc75618bf076b7d865d7ff37 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 19:22:30 +0900 Subject: [PATCH 06/11] Add columns into rclone-list-mouted --- pkgs/rclone-fzf/rclone-fzf.bash | 6 ++++-- pkgs/rclone-list-mounted/script.nu | 10 +++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/rclone-fzf/rclone-fzf.bash b/pkgs/rclone-fzf/rclone-fzf.bash index bc03afe0..79a2eeb6 100644 --- a/pkgs/rclone-fzf/rclone-fzf.bash +++ b/pkgs/rclone-fzf/rclone-fzf.bash @@ -16,13 +16,15 @@ rclone-mount() { export -f rclone-mount +# Don't use --preview for this. It omits some columns, and this will not be changed with selected entry +rclone-list-mounted >&2 + # Don't use rclone in fzf --preview, it runs query and be slow rclone listremotes | fzf --query "$query" --border-label '☁️ Rclone Remotes' \ - --layout=reverse --multi --height=85% --min-height=20 --border \ + --layout=reverse --height=85% --min-height=20 --border \ --border-label-pos=2 \ --color='header:italic:underline,label:blue' \ --header $'Alt-M (Mount) / Alt-A (Inspect)\n\n' \ - --preview 'rclone-list-mounted' \ --bind 'alt-m:become(rclone-mount {})' \ --bind 'alt-a:become(rclone about {})' \ --bind 'enter:become(echo {})' diff --git a/pkgs/rclone-list-mounted/script.nu b/pkgs/rclone-list-mounted/script.nu index b45d5513..ac813fde 100644 --- a/pkgs/rclone-list-mounted/script.nu +++ b/pkgs/rclone-list-mounted/script.nu @@ -1 +1,9 @@ -mount --types fuse.rclone | lines | split column ' ' | rename remote _ local _ type | select remote local | sort-by remote +def list-rclone-mount-includes-garbage [] { + mount --types fuse.rclone | lines | split column ' ' | rename remote _ local _ type | select remote local | sort-by remote +} + +def list-rclone-process [] { + ps --long | where name =~ rclone and command =~ mount | select pid ppid command | insert local { |row| $row.command | parse --regex '\A\S+rclone\S+ mount \S+?: (?P\S+)' | first | get local | into string } +} + +list-rclone-mount-includes-garbage | join --left (list-rclone-process) local | reject command From 6fd04746a0d01a537a3e3a04ceecb1bec145711c Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 21:55:05 +0900 Subject: [PATCH 07/11] Omit to display garabage mount paths to support darwin --- pkgs/rclone-list-mounted/script.nu | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/pkgs/rclone-list-mounted/script.nu b/pkgs/rclone-list-mounted/script.nu index ac813fde..8a01473d 100644 --- a/pkgs/rclone-list-mounted/script.nu +++ b/pkgs/rclone-list-mounted/script.nu @@ -1,9 +1,2 @@ -def list-rclone-mount-includes-garbage [] { - mount --types fuse.rclone | lines | split column ' ' | rename remote _ local _ type | select remote local | sort-by remote -} - -def list-rclone-process [] { - ps --long | where name =~ rclone and command =~ mount | select pid ppid command | insert local { |row| $row.command | parse --regex '\A\S+rclone\S+ mount \S+?: (?P\S+)' | first | get local | into string } -} - -list-rclone-mount-includes-garbage | join --left (list-rclone-process) local | reject command +# Don't use mount command to support darwin with same implementation +ps --long | where name =~ rclone and command =~ mount | select pid ppid command | upsert command { |row| $row.command | parse --regex '\A\S+rclone\S+ mount (?\S+?:) (?P\S+)' } | flatten -a | select remote local pid From 2993c8a2c6bf3caa8ec22b13c1062f19caa7e450 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 22:12:19 +0900 Subject: [PATCH 08/11] Change keybind to avoid darwin builtin --- pkgs/fzf.md | 8 +++++++- pkgs/rclone-fzf/rclone-fzf.bash | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/fzf.md b/pkgs/fzf.md index d1ae8504..6ec21a4e 100644 --- a/pkgs/fzf.md +++ b/pkgs/fzf.md @@ -2,6 +2,12 @@ - `--preview`: the placeholder will be quoted by singlequote, so do not add excess double quote as "{}". This will be evaluated the given `` and $() - `--nth`: Match there -- `--with-nth`: Whole display and outputs. None of only outputs: See +- `--with-nth`: Whole display and outputs. - `--bind 'enter:become(...)'`: Replace process, and no execution if not match - `--ansi`: Handle colored input, but remember the output is dirty with the ANSI for another tools. You may need strip them before use. + +## Traps + +- Cannot copy from preview window +- [No feature to output only nth](https://github.com/junegunn/fzf/issues/1323) +- [No multiple modifiers for binding](https://github.com/junegunn/fzf/pull/3996) diff --git a/pkgs/rclone-fzf/rclone-fzf.bash b/pkgs/rclone-fzf/rclone-fzf.bash index 79a2eeb6..a25d36ca 100644 --- a/pkgs/rclone-fzf/rclone-fzf.bash +++ b/pkgs/rclone-fzf/rclone-fzf.bash @@ -25,6 +25,6 @@ rclone listremotes | fzf --query "$query" --border-label '☁️ Rclone Remotes' --border-label-pos=2 \ --color='header:italic:underline,label:blue' \ --header $'Alt-M (Mount) / Alt-A (Inspect)\n\n' \ - --bind 'alt-m:become(rclone-mount {})' \ + --bind 'ctrl-/:become(rclone-mount {})' \ --bind 'alt-a:become(rclone about {})' \ --bind 'enter:become(echo {})' From f675d9a8cfe7702039a3d5184ea3b20efee541ff Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 22:27:29 +0900 Subject: [PATCH 09/11] Fix fzf become on darwin --- pkgs/fzf.md | 1 + pkgs/rclone-fzf/package.nix | 2 +- pkgs/rclone-fzf/rclone-fzf.bash | 14 +------------- pkgs/rclone-mount/package.nix | 9 +++++++++ pkgs/rclone-mount/rclone-mount.bash | 11 +++++++++++ 5 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 pkgs/rclone-mount/package.nix create mode 100644 pkgs/rclone-mount/rclone-mount.bash diff --git a/pkgs/fzf.md b/pkgs/fzf.md index 6ec21a4e..89dd9e3f 100644 --- a/pkgs/fzf.md +++ b/pkgs/fzf.md @@ -9,5 +9,6 @@ ## Traps - Cannot copy from preview window +- `become` with `export -f the_func` is broken in darwin. Create another command and inejct it - [No feature to output only nth](https://github.com/junegunn/fzf/issues/1323) - [No multiple modifiers for binding](https://github.com/junegunn/fzf/pull/3996) diff --git a/pkgs/rclone-fzf/package.nix b/pkgs/rclone-fzf/package.nix index ee9b8392..6ca33166 100644 --- a/pkgs/rclone-fzf/package.nix +++ b/pkgs/rclone-fzf/package.nix @@ -4,8 +4,8 @@ pkgs.writeShellApplication rec { text = builtins.readFile ./${name}.bash; runtimeInputs = with pkgs; [ fzf - coreutils # `mktemp` rclone + my.rclone-mount my.rclone-list-mounted ]; } diff --git a/pkgs/rclone-fzf/rclone-fzf.bash b/pkgs/rclone-fzf/rclone-fzf.bash index a25d36ca..f4276bec 100644 --- a/pkgs/rclone-fzf/rclone-fzf.bash +++ b/pkgs/rclone-fzf/rclone-fzf.bash @@ -4,18 +4,6 @@ else query="" fi -rclone-mount() { - local -r remote="$1" # e.g `foo:` - # TODO: Return the path if already mounted the remote - local -r mount_to="$(mktemp --tmpdir --directory "rclone.${remote%:}.XXXX")" - # Use `kill``, not `kill -9`. If exists the garbages in `mount --types fuse.rclone`, `fusermount -u THE_PATH` - # See https://www.reddit.com/r/rclone/comments/nh576p/how_to_stop_an_rclone_daemon/ - rclone mount "$remote" "$mount_to" --vfs-cache-mode writes --daemon - echo "$mount_to" -} - -export -f rclone-mount - # Don't use --preview for this. It omits some columns, and this will not be changed with selected entry rclone-list-mounted >&2 @@ -24,7 +12,7 @@ rclone listremotes | fzf --query "$query" --border-label '☁️ Rclone Remotes' --layout=reverse --height=85% --min-height=20 --border \ --border-label-pos=2 \ --color='header:italic:underline,label:blue' \ - --header $'Alt-M (Mount) / Alt-A (Inspect)\n\n' \ + --header $'Ctrl-/ (Mount) / Alt-A (Inspect)\n\n' \ --bind 'ctrl-/:become(rclone-mount {})' \ --bind 'alt-a:become(rclone about {})' \ --bind 'enter:become(echo {})' diff --git a/pkgs/rclone-mount/package.nix b/pkgs/rclone-mount/package.nix new file mode 100644 index 00000000..de1e8757 --- /dev/null +++ b/pkgs/rclone-mount/package.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +pkgs.writeShellApplication rec { + name = "rclone-mount"; + text = builtins.readFile ./${name}.bash; + runtimeInputs = with pkgs; [ + coreutils # `mktemp` + rclone + ]; +} diff --git a/pkgs/rclone-mount/rclone-mount.bash b/pkgs/rclone-mount/rclone-mount.bash new file mode 100644 index 00000000..9be8538a --- /dev/null +++ b/pkgs/rclone-mount/rclone-mount.bash @@ -0,0 +1,11 @@ +rclone-mount() { + local -r remote="$1" # e.g `foo:` + # TODO: Return the path if already mounted the remote + local -r mount_to="$(mktemp --tmpdir --directory "rclone.${remote%:}.XXXX")" + # Use `kill``, not `kill -9`. If exists the garbages in `mount --types fuse.rclone`, `fusermount -u THE_PATH` + # See https://www.reddit.com/r/rclone/comments/nh576p/how_to_stop_an_rclone_daemon/ + rclone mount "$remote" "$mount_to" --vfs-cache-mode writes --daemon + echo "$mount_to" +} + +rclone-mount "$@" From e6b73b915002fb94b35160726a3e895bcbded12f Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 22:43:27 +0900 Subject: [PATCH 10/11] Uninstall rclone in darwin --- config/rclone.md | 7 +++-- home-manager/common.nix | 3 -- home-manager/linux.nix | 55 ++++++++++++++++++++++------------- home-manager/packages.nix | 4 --- pkgs/rclone-mount/package.nix | 4 ++- 5 files changed, 41 insertions(+), 32 deletions(-) diff --git a/config/rclone.md b/config/rclone.md index 8b98ef13..7d770621 100644 --- a/config/rclone.md +++ b/config/rclone.md @@ -51,10 +51,11 @@ rclone mount google-drive-Foo-Vault: "$mount_to" --vfs-cache-mode writes --log-l ``` I don't use systemd in these operations to avoid the saving secrets in this repository.\ -So use helper scripts. +So use helper script `rclone-fzf` which is introduced in GH-1016. -- rclone-fzf -- rclone-list-mounted +### macOS + +I don't use rclone in macOS. See GH-1016 and GH-911. ## GUI on Linux diff --git a/home-manager/common.nix b/home-manager/common.nix index dd9b326a..efd95302 100644 --- a/home-manager/common.nix +++ b/home-manager/common.nix @@ -53,9 +53,6 @@ STACK_XDG = "https://github.com/commercialhaskell/stack/blob/72f0a1273dd1121740501a159988fc23df2fb362/doc/stack_root.md?plain=1#L7-L11"; - # Don't add needless quotation in the arguments. For example `gopass show 'rclone'` does not work. It should be `gopass show rclone`. - RCLONE_PASSWORD_COMMAND = "${lib.getExe pkgs.gopass} show rclone"; - STARSHIP_CONFIG = "${../config/starship/starship.toml}"; }; diff --git a/home-manager/linux.nix b/home-manager/linux.nix index 4294611e..ccffcaa3 100644 --- a/home-manager/linux.nix +++ b/home-manager/linux.nix @@ -9,34 +9,47 @@ home = { homeDirectory = lib.mkDefault "/home/${config.home.username}"; - packages = with pkgs; [ - # Fix missing locales as `locale: Cannot set LC_CTYPE to default locale` - glibc + sessionVariables = { + # Don't add needless quotation in the arguments. For example `gopass show 'rclone'` does not work. It should be `gopass show rclone`. + RCLONE_PASSWORD_COMMAND = "${lib.getExe pkgs.gopass} show rclone"; + }; + + packages = + with pkgs; + [ + # Fix missing locales as `locale: Cannot set LC_CTYPE to default locale` + glibc - # https://github.com/nix-community/home-manager/blob/a8f8f48320c64bd4e3a266a850bbfde2c6fe3a04/modules/services/ssh-agent.nix#L37 - openssh + # https://github.com/nix-community/home-manager/blob/a8f8f48320c64bd4e3a266a850bbfde2c6fe3a04/modules/services/ssh-agent.nix#L37 + openssh - iputils # `ping` etc + iputils # `ping` etc - # https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/iw/iw/package.nix - iw # replacement of wireless-tools(iwconfig) + # https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/iw/iw/package.nix + iw # replacement of wireless-tools(iwconfig) - # - Enable special module for Nix OS. - # - Linux package does not contain podman-remote, you should install uidmap with apt and use this podman as actual engine - # https://github.com/NixOS/nixpkgs/blob/194846768975b7ad2c4988bdb82572c00222c0d7/pkgs/applications/virtualization/podman/default.nix#L112-L116 - podman - podman-tui - docker-compose + rclone - kubectl - stern - unstable.k9s # https://github.com/NixOS/nixpkgs/pull/356238, https://github.com/NixOS/nixpkgs/pull/360993 + # - Enable special module for Nix OS. + # - Linux package does not contain podman-remote, you should install uidmap with apt and use this podman as actual engine + # https://github.com/NixOS/nixpkgs/blob/194846768975b7ad2c4988bdb82572c00222c0d7/pkgs/applications/virtualization/podman/default.nix#L112-L116 + podman + podman-tui + docker-compose - # Keybindigs: https://git.sr.ht/~bptato/chawan/tree/master/item/res/config.toml - chawan # `cha` + kubectl + stern + unstable.k9s # https://github.com/NixOS/nixpkgs/pull/356238, https://github.com/NixOS/nixpkgs/pull/360993 - my.renmark # Depend on chawan - ]; + # Keybindigs: https://git.sr.ht/~bptato/chawan/tree/master/item/res/config.toml + chawan # `cha` + ] + ++ (with pkgs.my; [ + renmark # Depend on chawan + rclone-list-mounted + rclone-mount + rclone-fzf + ]); }; # xdg-user-dirs NixOS module does not work or is not enough for me to keep English dirs even in Japanese locale. diff --git a/home-manager/packages.nix b/home-manager/packages.nix index ed7732dc..134089a8 100644 --- a/home-manager/packages.nix +++ b/home-manager/packages.nix @@ -87,8 +87,6 @@ pastel - rclone - # How to get the installed font names # fontconfig by nix: `fc-list : family style` # darwin: system_profiler SPFontsDataType @@ -124,6 +122,4 @@ archive-home-files gredit preview - rclone-list-mounted - rclone-fzf ]) diff --git a/pkgs/rclone-mount/package.nix b/pkgs/rclone-mount/package.nix index de1e8757..37be3c76 100644 --- a/pkgs/rclone-mount/package.nix +++ b/pkgs/rclone-mount/package.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, lib, ... }: pkgs.writeShellApplication rec { name = "rclone-mount"; text = builtins.readFile ./${name}.bash; @@ -6,4 +6,6 @@ pkgs.writeShellApplication rec { coreutils # `mktemp` rclone ]; + # Didn't work on Darwin. It might work when disabling --daemon or replacing the default NFS with FUSE. However, I'm very tired to consider Darwin. + meta.platforms = lib.platforms.linux; } From 3310d85d77e3f11e743eda155ce05c14a36827b8 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 1 Jan 2025 22:50:27 +0900 Subject: [PATCH 11/11] Clarify paren for nix with --- home-manager/linux.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/home-manager/linux.nix b/home-manager/linux.nix index ccffcaa3..8450af0b 100644 --- a/home-manager/linux.nix +++ b/home-manager/linux.nix @@ -15,8 +15,7 @@ }; packages = - with pkgs; - [ + (with pkgs; [ # Fix missing locales as `locale: Cannot set LC_CTYPE to default locale` glibc @@ -43,7 +42,7 @@ # Keybindigs: https://git.sr.ht/~bptato/chawan/tree/master/item/res/config.toml chawan # `cha` - ] + ]) ++ (with pkgs.my; [ renmark # Depend on chawan rclone-list-mounted