my system configurations ^-^
0
fork

Configure Feed

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

feat: more modularisation and spicetify

willow e83db478 1193f6f4

+138 -98
+39 -1
flake.lock
··· 53 53 "type": "github" 54 54 } 55 55 }, 56 + "flake-compat_2": { 57 + "flake": false, 58 + "locked": { 59 + "lastModified": 1696426674, 60 + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 61 + "owner": "edolstra", 62 + "repo": "flake-compat", 63 + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 64 + "type": "github" 65 + }, 66 + "original": { 67 + "owner": "edolstra", 68 + "repo": "flake-compat", 69 + "type": "github" 70 + } 71 + }, 56 72 "flake-parts": { 57 73 "inputs": { 58 74 "nixpkgs-lib": [ ··· 225 241 "catppuccin": "catppuccin", 226 242 "home-manager": "home-manager", 227 243 "nixpkgs": "nixpkgs", 228 - "schizofox": "schizofox" 244 + "schizofox": "schizofox", 245 + "spicetify-nix": "spicetify-nix" 229 246 } 230 247 }, 231 248 "schizofox": { ··· 274 291 "original": { 275 292 "owner": "schizofox", 276 293 "repo": "searx-randomizer", 294 + "type": "github" 295 + } 296 + }, 297 + "spicetify-nix": { 298 + "inputs": { 299 + "flake-compat": "flake-compat_2", 300 + "nixpkgs": [ 301 + "nixpkgs" 302 + ] 303 + }, 304 + "locked": { 305 + "lastModified": 1723263161, 306 + "narHash": "sha256-jb9jGnfyacnUGm+8/En2md3Rc57OJH3M/84Ifwa39E8=", 307 + "owner": "Gerg-L", 308 + "repo": "spicetify-nix", 309 + "rev": "4f16dafbf384eebe7b99d99fbdb04018eb2a5db4", 310 + "type": "github" 311 + }, 312 + "original": { 313 + "owner": "Gerg-L", 314 + "repo": "spicetify-nix", 277 315 "type": "github" 278 316 } 279 317 },
+5 -1
flake.nix
··· 12 12 url = "github:schizofox/schizofox"; 13 13 inputs.nixpkgs.follows = "nixpkgs"; 14 14 }; 15 - # inputs.spicetify-nix.url = "github:the-argus/spicetify-nix"; 15 + 16 + spicetify-nix = { 17 + url = "github:Gerg-L/spicetify-nix"; 18 + inputs.nixpkgs.follows = "nixpkgs"; 19 + }; 16 20 }; 17 21 18 22 outputs = { self, nixpkgs, home-manager, catppuccin, ... } @ inputs:
+6 -96
modules/home/default.nix
··· 1 - { pkgs, config, lib, catppuccin, ... }: 1 + { pkgs, config, lib, catppuccin, inputs, username, host, ... }: 2 2 3 3 { 4 + imports = 5 + [(import ./dotfiles)] 6 + ++ [(import ./spicetify.nix)] 7 + ++ [(import ./packages.nix)]; 8 + 4 9 catppuccin = { 5 10 flavor = "macchiato"; 6 11 accent = "pink"; ··· 71 76 [[ -f "$tofi_cache" ]] && rm "$tofi_cache" 72 77 ''; 73 78 }; 74 - 75 - # The home.packages option allows you to install Nix packages into your 76 - # environment. 77 - home.packages = [ 78 - # Hypr 79 - pkgs.xdg-desktop-portal-hyprland 80 - pkgs.hyprlock 81 - pkgs.hypridle 82 - pkgs.hyprpaper 83 - pkgs.hyprpicker 84 - pkgs.hyprcursor 85 - # Core 86 - pkgs.polkit_gnome 87 - pkgs.firefox 88 - pkgs.keepassxc 89 - pkgs.gnome.nautilus 90 - pkgs.gparted 91 - pkgs.blueman 92 - # Programming 93 - pkgs.kitty 94 - pkgs.vscode 95 - # Fun 96 - pkgs.spotify 97 - pkgs.prismlauncher 98 - pkgs.vesktop 99 - pkgs.aseprite 100 - # Work 101 - pkgs.obsidian 102 - pkgs.activitywatch 103 - # CLI 104 - pkgs.tldr 105 - pkgs.fastfetch 106 - pkgs.spicetify-cli 107 - pkgs.just 108 - # Screen 109 - pkgs.grim 110 - pkgs.slurp 111 - pkgs.wl-clipboard 112 - pkgs.ddcutil 113 - pkgs.brightnessctl 114 - 115 - 116 - # # Adds the 'hello' command to your environment. It prints a friendly 117 - # # "Hello, world!" when run. 118 - # pkgs.hello 119 - 120 - # # It is sometimes useful to fine-tune packages, for example, by applying 121 - # # overrides. You can do that directly here, just don't forget the 122 - # # parentheses. Maybe you want to install Nerd Fonts with a limited number of 123 - # # fonts? 124 - # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) 125 - 126 - # # You can also create simple shell scripts directly inside your 127 - # # configuration. For example, this adds a command 'my-hello' to your 128 - # # environment: 129 - # (pkgs.writeShellScriptBin "my-hello" '' 130 - # echo "Hello, ${config.home.username}!" 131 - # '') 132 - ]; 133 - 134 - # Home Manager is pretty good at managing dotfiles. The primary way to manage 135 - # plain files is through 'home.file'. 136 - home.file = { 137 - ".config/hypr".source = ./dotfiles/hypr; 138 - # ".config/tofi".source = dotfiles/tofi; 139 - # # Building this configuration will create a copy of 'dotfiles/screenrc' in 140 - # # the Nix store. Activating the configuration will then make '~/.screenrc' a 141 - # # symlink to the Nix store copy. 142 - # ".screenrc".source = dotfiles/screenrc; 143 - 144 - # # You can also set the file content immediately. 145 - # ".gradle/gradle.properties".text = '' 146 - # org.gradle.console=verbose 147 - # org.gradle.daemon.idletimeout=3600000 148 - # ''; 149 - }; 150 - 151 - # Home Manager can also manage your environment variables through 152 - # 'home.sessionVariables'. These will be explicitly sourced when using a 153 - # shell provided by Home Manager. If you don't want to manage your shell 154 - # through Home Manager then you have to manually source 'hm-session-vars.sh' 155 - # located at either 156 - # 157 - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh 158 - # 159 - # or 160 - # 161 - # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh 162 - # 163 - # or 164 - # 165 - # /etc/profiles/per-user/willow/etc/profile.d/hm-session-vars.sh 166 - # 167 79 home.sessionVariables = { 168 80 # EDITOR = "emacs"; 169 81 }; 170 - 171 - # Let Home Manager install and manage itself. 172 82 }
+17
modules/home/dotfiles/default.nix
··· 1 + { inputs, ... }: 2 + { 3 + home.file = { 4 + ".config/hypr".source = ./hypr; 5 + # ".config/tofi".source = dotfiles/tofi; 6 + # # Building this configuration will create a copy of 'dotfiles/screenrc' in 7 + # # the Nix store. Activating the configuration will then make '~/.screenrc' a 8 + # # symlink to the Nix store copy. 9 + # ".screenrc".source = dotfiles/screenrc; 10 + 11 + # # You can also set the file content immediately. 12 + # ".gradle/gradle.properties".text = '' 13 + # org.gradle.console=verbose 14 + # org.gradle.daemon.idletimeout=3600000 15 + # ''; 16 + }; 17 + }
+37
modules/home/packages.nix
··· 1 + { inputs, pkgs, ... }: 2 + { 3 + home.packages = (with pkgs; [ 4 + pkgs.xdg-desktop-portal-hyprland 5 + pkgs.hyprlock 6 + pkgs.hypridle 7 + pkgs.hyprpaper 8 + pkgs.hyprpicker 9 + pkgs.hyprcursor 10 + # Core 11 + pkgs.firefox 12 + pkgs.keepassxc 13 + pkgs.gnome.nautilus 14 + pkgs.gparted 15 + pkgs.blueman 16 + # Programming 17 + pkgs.kitty 18 + pkgs.vscode 19 + # Fun 20 + pkgs.prismlauncher 21 + pkgs.vesktop 22 + pkgs.aseprite 23 + # Work 24 + pkgs.obsidian 25 + pkgs.activitywatch 26 + # CLI 27 + pkgs.tldr 28 + pkgs.fastfetch 29 + pkgs.just 30 + # Screen 31 + pkgs.grim 32 + pkgs.slurp 33 + pkgs.wl-clipboard 34 + pkgs.ddcutil 35 + pkgs.brightnessctl 36 + ]); 37 + }
+34
modules/home/spicetify.nix
··· 1 + { pkgs, lib, inputs, ...}: 2 + 3 + let 4 + spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; 5 + in 6 + { 7 + imports = [inputs.spicetify-nix.homeManagerModules.default]; 8 + 9 + nixpkgs.config.allowUnfreePredicate = pkg: 10 + builtins.elem (lib.getName pkg) [ 11 + "spotify" 12 + ]; 13 + 14 + programs.spicetify = { 15 + enable = true; 16 + enabledExtensions = with spicePkgs.extensions; [ 17 + adblock 18 + hidePodcasts 19 + shuffle 20 + ]; 21 + enabledCustomApps = with spicePkgs.apps; [ 22 + lyricsPlus 23 + newReleases 24 + ]; 25 + enabledSnippets = with spicePkgs.snippets; [ 26 + pointer 27 + smooth-progress-bar 28 + remove-popular 29 + hide-download-button 30 + ]; 31 + theme = spicePkgs.themes.catppuccin; 32 + colorScheme = "macchiato"; 33 + }; 34 + }