my system configurations ^-^
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: move beets and spotdl to shared

willow efb1c2e9 fbb2fb5f

+43 -35
+22 -22
flake.lock
··· 131 131 }, 132 132 "darwin-stable": { 133 133 "locked": { 134 - "lastModified": 1764560356, 135 - "narHash": "sha256-M5aFEFPppI4UhdOxwdmceJ9bDJC4T6C6CzCK1E2FZyo=", 136 - "owner": "NixOS", 134 + "lastModified": 1766101392, 135 + "narHash": "sha256-UC9kmuWYesytXlGWXUEsCk6dotiQzQMb9xMWeDdobo0=", 136 + "owner": "nixos", 137 137 "repo": "nixpkgs", 138 - "rev": "6c8f0cca84510cc79e09ea99a299c9bc17d03cb6", 138 + "rev": "1a967e151e20260380c1457e584292a3712fd1fb", 139 139 "type": "github" 140 140 }, 141 141 "original": { 142 - "owner": "NixOS", 142 + "owner": "nixos", 143 143 "ref": "nixpkgs-25.05-darwin", 144 - "repo": "nixpkgs", 145 - "type": "github" 146 - } 147 - }, 148 - "darwin-unstable": { 149 - "locked": { 150 - "lastModified": 1764642553, 151 - "narHash": "sha256-mvbFFzVBhVK1FjyPHZGMAKpNiqkr7k++xIwy+p/NQvA=", 152 - "owner": "NixOS", 153 - "repo": "nixpkgs", 154 - "rev": "f720de59066162ee879adcc8c79e15c51fe6bfb4", 155 - "type": "github" 156 - }, 157 - "original": { 158 - "owner": "NixOS", 159 - "ref": "nixpkgs-unstable", 160 144 "repo": "nixpkgs", 161 145 "type": "github" 162 146 } ··· 518 502 "type": "github" 519 503 } 520 504 }, 505 + "nixpkgs-unstable": { 506 + "locked": { 507 + "lastModified": 1766125104, 508 + "narHash": "sha256-l/YGrEpLromL4viUo5GmFH3K5M1j0Mb9O+LiaeCPWEM=", 509 + "owner": "nixos", 510 + "repo": "nixpkgs", 511 + "rev": "7d853e518814cca2a657b72eeba67ae20ebf7059", 512 + "type": "github" 513 + }, 514 + "original": { 515 + "owner": "nixos", 516 + "ref": "nixpkgs-unstable", 517 + "repo": "nixpkgs", 518 + "type": "github" 519 + } 520 + }, 521 521 "nixpkgs_2": { 522 522 "locked": { 523 523 "lastModified": 1764642553, ··· 599 599 "agenix": "agenix", 600 600 "catppuccin": "catppuccin", 601 601 "darwin-stable": "darwin-stable", 602 - "darwin-unstable": "darwin-unstable", 603 602 "firefox-cascade": "firefox-cascade", 604 603 "flake-utils": "flake-utils", 605 604 "home-manager": "home-manager", ··· 610 609 "nixos-unstable": "nixos-unstable", 611 610 "nixos-wsl": "nixos-wsl", 612 611 "nixpkgs": "nixpkgs_2", 612 + "nixpkgs-unstable": "nixpkgs-unstable", 613 613 "quickshell": "quickshell", 614 614 "spicetify-nix": "spicetify-nix", 615 615 "stylix": "stylix",
+2 -3
flake.nix
··· 53 53 nixos-stable.url = "github:nixos/nixpkgs/nixos-25.05"; 54 54 nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; 55 55 56 - darwin-stable.url = "github:NixOS/nixpkgs/nixpkgs-25.05-darwin"; 57 - darwin-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; 56 + darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-25.05-darwin"; 57 + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; 58 58 59 59 nix-darwin = { 60 60 url = "github:nix-darwin/nix-darwin/nix-darwin-25.05"; 61 - # url = "github:nix-darwin/nix-darwin/master"; 62 61 inputs.nixpkgs.follows = "darwin-stable"; 63 62 }; 64 63
+1 -1
modules/darwin/nix/default.nix
··· 1 1 {self, ...}: let 2 2 inherit (self) outputs; 3 3 in { 4 - nixpkgs.overlays = [outputs.overlays.darwin-unstable]; 4 + nixpkgs.overlays = [outputs.overlays.nixpkgs-unstable]; 5 5 }
-1
modules/nixos/home/default.nix
··· 5 5 imports = [ 6 6 ./desktop 7 7 ./programs 8 - ./scripts 9 8 ./services 10 9 ./system 11 10 ./themes
+10 -3
modules/nixos/home/programs/cli/beets.nix modules/shared/home/programs/cli/beets.nix
··· 2 2 lib, 3 3 osConfig, 4 4 config, 5 + pkgs, 5 6 ... 6 7 }: let 7 8 cfg = osConfig.settings.programs; 9 + inherit (pkgs) stdenv; 8 10 in { 9 11 config = lib.mkIf (cfg.cli.enable 10 12 && cfg.categories.music.enable) { 11 - systemd.user.services.mpdstats = { 13 + systemd.user.services.mpdstats = lib.mkIf stdenv.isLinux { 12 14 Unit = { 13 15 Description = "Beets MPDStats daemon"; 14 16 Requires = ["mpd.service"]; ··· 32 34 "mbsync" 33 35 "edit" 34 36 ]; 35 - directory = "${config.xdg.userDirs.music}"; 36 - library = "${config.home.homeDirectory}/media/music_library.db"; 37 + # directory = 38 + # if stdenv.isLinux 39 + # then "${config.xdg.userDirs.music}" 40 + # else "${config.xdg.userDirs.music}/music"; 41 + # library = "${config.home.homeDirectory}/media/music_library.db"; 42 + directory = "${config.xdg.userDirs.music}/music"; 43 + library = "${config.xdg.userDirs.music}/music_library.db"; 37 44 import = { 38 45 copy = true; 39 46 write = true;
-1
modules/nixos/home/programs/cli/default.nix
··· 9 9 cfg = osConfig.settings.programs; 10 10 in { 11 11 imports = [ 12 - ./beets.nix 13 12 ./direnv.nix 14 13 ./hyfetch.nix 15 14 ./nushell.nix
modules/nixos/home/scripts/default.nix modules/shared/home/scripts/default.nix
+4 -2
modules/nixos/home/scripts/spotdl.nix modules/shared/home/scripts/spotdl.nix
··· 9 9 # TODO)) Add queuing for multiple URLs 10 10 bdl = pkgs.writeShellScriptBin "bdl" '' 11 11 echo "Please enter the Spotify URL:" 12 + ${lib.getExe pkgs.unstable.spotdl} --version 13 + 12 14 read -r url 13 15 14 16 tmpdir=$(mktemp -d) || { echo "Failed to create temporary directory"; exit 1; } 15 17 cd "$tmpdir" || { echo "Failed to change directory to $tmpdir"; exit 1; } 16 18 17 - ${pkgs.spotdl}/bin/spotdl "$url" 19 + ${lib.getExe pkgs.unstable.spotdl} "$url" 18 20 19 21 if [ $? -eq 0 ]; then 20 22 echo "Download complete. Now running 'beet im -m ~/tmpmusic'..." 21 - ${pkgs.beets}/bin/beet im -m "$tmpdir" 23 + ${lib.getExe pkgs.beets} im -m "$tmpdir" 22 24 else 23 25 echo "Download failed. Please check the URL or your internet connection." 24 26 exit 1
+1
modules/shared/home/home.nix
··· 3 3 in { 4 4 imports = [ 5 5 ./programs 6 + ./scripts 6 7 ./themes 7 8 ]; 8 9
+1
modules/shared/home/programs/cli/default.nix
··· 10 10 in { 11 11 imports = [ 12 12 ./bat.nix 13 + ./beets.nix 13 14 ./bun.nix 14 15 ./eza.nix 15 16 ./fzf.nix
+2 -2
overlays.nix
··· 3 3 inputs, 4 4 ... 5 5 }: { 6 - darwin-unstable = final: _prev: { 7 - unstable = import inputs.darwin-unstable { 6 + nixpkgs-unstable = final: _prev: { 7 + unstable = import inputs.nixpkgs-unstable { 8 8 system = final.system; 9 9 config.allowUnfree = true; 10 10 };