diff options
| author | Caroline Larimore <caroline@larimo.re> | 2024-07-18 23:39:42 -0700 |
|---|---|---|
| committer | Caroline Larimore <caroline@larimo.re> | 2024-07-18 23:39:42 -0700 |
| commit | 65174b4b5c05bb143e6681a4cbcd0a95f04987e2 (patch) | |
| tree | 35383af43f2aa972b316dd12e1d5d1bd5df84086 /hosts/c-pc/home.nix | |
| parent | 15c5050590415fd64e984e994ec77186918cf7b7 (diff) | |
Begin modularization!
Diffstat (limited to 'hosts/c-pc/home.nix')
| -rw-r--r-- | hosts/c-pc/home.nix | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/hosts/c-pc/home.nix b/hosts/c-pc/home.nix new file mode 100644 index 0000000..9ee1988 --- /dev/null +++ b/hosts/c-pc/home.nix @@ -0,0 +1,130 @@ +{ lib, pkgs, inputs, config, ...}: + +{ + imports = [ + inputs.impermanence.nixosModules.home-manager.impermanence + + ../../home + ]; + + # theme.nix is an untracked symlink to a theme under ./themes/ + # This lets me switch out my theme without making changes in git + theme = import ../../theme.nix; + + home.stateVersion = "23.11"; + + home.persistence."/persist/home" = { + directories = [ + "Downloads" + "Documents" + "Pictures" + "Videos" + "Music" + "Games" + "Persist" + + "code" + + ".gnupg" + ".ssh" + + ".local/bin" + ".local/share/applications" + + ".mozilla" + ".wine" + + ".irssi" + ".config/discord" + ".config/Vencord" + ".config/vesktop" + + ".config/Obsidian" + + ".config/cmus" + + ".config/fcitx" + ".config/fcitx5" + + { + directory = ".local/share/Steam"; + method = "symlink"; + } + + ".config/qBittorrent" + ".local/share/qBittorrent" + ".cache/qBittorrent" + + ".config/jellyfin" + ".local/share/jellyfin" + ".cache/jellyfin" + + ".local/share/Anki2" + ".local/share/lutris" + ".local/share/PrismLauncher" + + ".config/nicotine" + ".local/share/nicotine" + ]; + files = [ + ".Xresources" + ]; + allowOther = true; + }; + + programs = { + feh.enable = true; + btop.enable = true; + tmux.enable = true; + + zoxide.enable = true; + }; + + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "discord" + "obsidian" + ]; + + home.packages = with pkgs; [ + (writeShellScriptBin "switch-theme" '' + #!/usr/bin/env bash + + cd /etc/nixos + + rm theme.nix + ln -s ./themes/$1.nix theme.nix + + sudo nixos-rebuild switch --flake /etc/nixos#default + + i3-msg restart + '') + + pfetch + + kdePackages.breeze + + irssi + + qbittorrent + nicotine-plus + jellyfin-media-player + mkvtoolnix + + gimp + + anki-bin + + obsidian + prismlauncher + + #TODO: latest update broke + # jetbrains.idea-community + + cloc + cmus + ]; + + home.file = { + ".0b".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.local/share/PrismLauncher/instances/0b/.minecraft"; + }; +} |