From 65174b4b5c05bb143e6681a4cbcd0a95f04987e2 Mon Sep 17 00:00:00 2001 From: Caroline Larimore Date: Thu, 18 Jul 2024 23:39:42 -0700 Subject: Begin modularization! --- hosts/c-pc/home.nix | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 hosts/c-pc/home.nix (limited to 'hosts/c-pc/home.nix') 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"; + }; +} -- cgit v1.2.3