2024-05-12 10:34:38 -04:00
|
|
|
{ config, pkgs, inputs, ... }:
|
2024-05-05 18:43:02 -04:00
|
|
|
|
|
|
|
|
{
|
2024-05-12 10:32:27 -04:00
|
|
|
imports = [
|
|
|
|
|
inputs.sops-nix.homeManagerModules.sops
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
# Configure secrets stuff
|
|
|
|
|
sops = {
|
2024-05-12 10:35:24 -04:00
|
|
|
defaultSopsFile = ../../secrets/secrets.yaml;
|
2024-05-12 10:32:27 -04:00
|
|
|
defaultSopsFormat = "yaml";
|
|
|
|
|
age.keyFile = "/home/annika/.config/sops/age/keys.txt";
|
|
|
|
|
|
|
|
|
|
secrets."spotifyd/settings/global/password" = { };
|
|
|
|
|
};
|
2024-05-11 21:43:44 -04:00
|
|
|
|
2024-05-05 18:43:02 -04:00
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
|
# Home Manager needs a bit of information about you and the paths it should
|
|
|
|
|
# manage.
|
|
|
|
|
home.username = "annika";
|
|
|
|
|
home.homeDirectory = "/home/annika";
|
|
|
|
|
|
|
|
|
|
# This value determines the Home Manager release that your configuration is
|
|
|
|
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
|
|
|
|
# introduces backwards incompatible changes.
|
|
|
|
|
#
|
|
|
|
|
# You should not change this value, even if you update Home Manager. If you do
|
|
|
|
|
# want to update the value, then make sure to first check the Home Manager
|
|
|
|
|
# release notes.
|
|
|
|
|
home.stateVersion = "23.11"; # Please read the comment before changing.
|
|
|
|
|
|
|
|
|
|
# The home.packages option allows you to install Nix packages into your
|
|
|
|
|
# environment.
|
|
|
|
|
home.packages = [
|
2024-05-11 22:16:38 -04:00
|
|
|
# GUI Apps
|
2024-05-07 18:37:05 -04:00
|
|
|
pkgs.google-chrome
|
2024-05-11 21:30:49 -04:00
|
|
|
pkgs.discord
|
|
|
|
|
pkgs.prusa-slicer
|
|
|
|
|
pkgs.helvum
|
|
|
|
|
pkgs.element-desktop
|
|
|
|
|
pkgs.netbird-ui
|
2024-05-11 22:16:38 -04:00
|
|
|
|
|
|
|
|
# Terminal apps
|
|
|
|
|
pkgs.tmux
|
|
|
|
|
|
|
|
|
|
# Helper stuff
|
2024-05-11 21:42:59 -04:00
|
|
|
pkgs.nixpkgs-fmt
|
2024-05-12 10:57:11 -04:00
|
|
|
|
|
|
|
|
# Don't know what to call this
|
|
|
|
|
pkgs.spotifyd
|
2024-05-05 18:43:02 -04:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
|
|
|
|
# plain files is through 'home.file'.
|
|
|
|
|
home.file = {
|
|
|
|
|
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
|
|
|
|
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
|
|
|
|
# # symlink to the Nix store copy.
|
|
|
|
|
# ".screenrc".source = dotfiles/screenrc;
|
|
|
|
|
|
|
|
|
|
# # You can also set the file content immediately.
|
|
|
|
|
# ".gradle/gradle.properties".text = ''
|
|
|
|
|
# org.gradle.console=verbose
|
|
|
|
|
# org.gradle.daemon.idletimeout=3600000
|
|
|
|
|
# '';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# Home Manager can also manage your environment variables through
|
|
|
|
|
# 'home.sessionVariables'. These will be explicitly sourced when using a
|
|
|
|
|
# shell provided by Home Manager. If you don't want to manage your shell
|
|
|
|
|
# through Home Manager then you have to manually source 'hm-session-vars.sh'
|
|
|
|
|
# located at either
|
|
|
|
|
#
|
|
|
|
|
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
|
|
|
|
#
|
|
|
|
|
# or
|
|
|
|
|
#
|
|
|
|
|
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
|
|
|
|
#
|
|
|
|
|
# or
|
|
|
|
|
#
|
|
|
|
|
# /etc/profiles/per-user/annika/etc/profile.d/hm-session-vars.sh
|
|
|
|
|
#
|
|
|
|
|
home.sessionVariables = {
|
2024-05-11 21:48:11 -04:00
|
|
|
EDITOR = "vim";
|
2024-05-05 18:43:02 -04:00
|
|
|
SUDO_EDITOR = "vim";
|
|
|
|
|
};
|
|
|
|
|
|
2024-05-11 11:40:01 -04:00
|
|
|
programs = {
|
|
|
|
|
direnv = {
|
|
|
|
|
enable = true;
|
|
|
|
|
enableBashIntegration = true;
|
|
|
|
|
nix-direnv.enable = true;
|
|
|
|
|
};
|
2024-05-11 21:48:53 -04:00
|
|
|
bash = {
|
|
|
|
|
enable = true;
|
|
|
|
|
};
|
|
|
|
|
vscode = {
|
|
|
|
|
enable = true;
|
|
|
|
|
extensions = with pkgs.vscode-extensions; [
|
|
|
|
|
bbenoist.nix
|
2024-05-13 20:47:46 -04:00
|
|
|
catppuccin.catppuccin-vsc
|
2024-05-11 21:48:53 -04:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
firefox = {
|
|
|
|
|
enable = true;
|
|
|
|
|
policies = {
|
|
|
|
|
ExtensionSettings = {
|
|
|
|
|
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
|
|
|
|
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
|
|
|
|
|
installation_mode = "normal_installed";
|
|
|
|
|
default_area = "navbar";
|
|
|
|
|
};
|
2024-05-11 21:43:44 -04:00
|
|
|
};
|
2024-05-11 21:42:59 -04:00
|
|
|
};
|
|
|
|
|
};
|
2024-05-11 21:49:48 -04:00
|
|
|
git = {
|
|
|
|
|
enable = true;
|
|
|
|
|
userName = "Annika Merris";
|
|
|
|
|
userEmail = "me@annikamerris.com";
|
|
|
|
|
};
|
2024-05-11 21:42:59 -04:00
|
|
|
};
|
|
|
|
|
|
2024-05-11 21:48:53 -04:00
|
|
|
# Let Home Manager install and manage itself.
|
|
|
|
|
programs.home-manager.enable = true;
|
2024-05-05 18:43:02 -04:00
|
|
|
}
|