commit ae5aa9a50db15820fc8a70f7c4df959e3a0f2f55 from: mtmn date: Tue Jul 28 08:57:28 2026 UTC backup sources, void remove treesitters, etc. commit - e3e1a646c8f1e5d4402d29d5881815bd36b75c24 commit + ae5aa9a50db15820fc8a70f7c4df959e3a0f2f55 blob - ae713d5a60955308932884059c11ebcd02017ede blob + 6c7ed502dfa7df4856480decf61552578cf1c502 --- flake.lock +++ flake.lock @@ -180,11 +180,11 @@ ] }, "locked": { - "lastModified": 1785168662, - "narHash": "sha256-kGJTc0oEUQuEwV66lSlMxYtOEtpk9N/HS43k+rFAvs8=", + "lastModified": 1785269816, + "narHash": "sha256-6JkNDlJ18NY1iAuoSYCPDO7O+yYN/vPwpFmHOHNpVvY=", "owner": "nix-community", "repo": "home-manager", - "rev": "cbb77679b3d992c8b62f884cd3a84af534a28621", + "rev": "3d25fa94cf355cf7da64c77bb9c3c15806486329", "type": "github" }, "original": { blob - 8116a81cf81ca4eadadd8856ff665ff17bdf9b0f blob + fa2347094aa00b6eaf670ca8e6f30c665e769958 Binary files hosts/nixaran/configuration.nix and hosts/nixaran/configuration.nix differ blob - 0ec26662adfd2295bd67b1c594f3164ca8fcb4b3 blob + d95e7427ef7f93d3a4b2d8412b0109392631746c --- hosts/void/default.nix +++ hosts/void/default.nix @@ -52,6 +52,7 @@ jdupes plakar mdcat + sigtop ]; vcs = [ @@ -193,6 +194,7 @@ other = [ go rustup + deno ]; })); } blob - 809df8ddb783c0fc1576a3ce2b3be3e03d5b0b8f blob + 7c902d4266cc04338302f85490c4f1a07d2b6acb --- modules/mixins/dotfiles/bin/backup +++ modules/mixins/dotfiles/bin/backup @@ -60,10 +60,6 @@ module Backup "releases" => "#{HOME}/src/mtmn.name/releases" }.freeze - RCLONE_DIRS = { - "books" => "#{HOME}/misc/books", - "www" => "#{HOME}/misc/www" - }.freeze RCLONE_REMOTE = "backup" def self.run_cmd(verbose, *args) @@ -207,6 +203,7 @@ module Backup def self.plakar_stores_hash = plakar_stores def self.plakar_stores_list = plakar_stores.keys def self.plakar_sources_list = plakar_sources.keys + def self.plakar_source_dirs = plakar_sources.transform_values { |cfg| cfg["location"] }.freeze def self.plakar_ignore_file(store) path = File.join(PLAKAR_CONFIG_DIR, "#{store}.ignore") @@ -249,6 +246,13 @@ module Backup end end + def self.list_rclone + puts("rclone") + puts(" sources") + plakar_source_dirs.keys.sort.each { |s| puts(" #{s}") } + puts(" #{RCLONE_REMOTE}") + end + def self.git_run(verbose:, push:, fetch:, parts:) if parts.empty? GIT_DIRS.each { |n, d| sync_repo(verbose: verbose, push: push, fetch: fetch, name: n, dir: d) } @@ -279,13 +283,13 @@ module Backup def self.rclone_run(verbose:, parts:) if parts.empty? - RCLONE_DIRS.each { |n, d| rclone_backup(verbose: verbose, name: n, dir: d) } + plakar_source_dirs.each { |n, d| rclone_backup(verbose: verbose, name: n, dir: d) } else name = parts.first rclone_backup( verbose: verbose, name: name, - dir: RCLONE_DIRS.fetch(name) { fatal("Unknown rclone target: #{name}") } + dir: plakar_source_dirs.fetch(name) { fatal("Unknown rclone target: #{name}") } ) end end @@ -296,7 +300,10 @@ module Backup elsif parts.size == 1 plakar_store(verbose: verbose, store: parts.first) else - plakar_source(verbose: verbose, store: parts[0], source: parts[1]) + store = parts[0] + parts[1].split(",").each do |source| + plakar_source(verbose: verbose, store: store, source: source) + end end end @@ -314,7 +321,7 @@ module Backup run: ->(verbose:, push:, fetch:, parts:) { plakar_run(verbose: verbose, parts: parts) } ), "rclone" => Backend.new( - list: -> { list_flat("rclone", RCLONE_DIRS) }, + list: -> { list_rclone }, run: ->(verbose:, push:, fetch:, parts:) { rclone_run(verbose: verbose, parts: parts) } ) }.freeze @@ -355,7 +362,8 @@ module Backup options = {verbose: true, push: false, fetch: false, list: false} parser = OptionParser.new do |o| o.banner = "Usage: backup [options] [target]\n" \ - " target: git, plakar, tarsnap, rclone, :" + " target: git, plakar, tarsnap, rclone, :\n" \ + " plakar sources may be comma-separated: plakar::" o.on("-p", "--push", "Fetch and push changes after commit") { options[:push] = true } o.on("-f", "--fetch", "Run git pull for git targets before backup") { options[:fetch] = true } o.on("-q", "--quiet", "Suppress command output") { options[:verbose] = false } blob - 592b9e7e46aba70ec738289f6b699af62c6293d6 blob + b62ba0a4f132ec5a1a0fb8d57706613216d7a6b0 --- modules/mixins/dotfiles/config/newsraft/feeds +++ modules/mixins/dotfiles/config/newsraft/feeds @@ -104,6 +104,7 @@ https://feeds.acast.com/public/shows/disseminate @ other < reload-period 120 https://plan.cat/rss +https://haravara.org/~m/humno.xml @ music < reload-period 120