nixos-config/configs/home-manager/foo-dogsquared/default.nix
Gabriel Arazas 0760acb676
configs: consolidate NixOS and home-manager config into one configs folder
Now we're going beyond these structuring as we might have to accomodate
non-system configurations like Nixvim.
2024-01-15 07:45:43 +08:00

73 lines
1.9 KiB
Nix

{ config, lib, pkgs, ... }:
{
imports = [ ./modules ];
# All of the home-manager-user-specific setup are here.
users.foo-dogsquared = {
dotfiles.enable = true;
programs = {
dconf.enable = true;
browsers.brave.enable = true;
browsers.firefox.enable = true;
browsers.misc.enable = true;
doom-emacs.enable = true;
email.enable = true;
email.thunderbird.enable = true;
keys.gpg.enable = true;
keys.ssh.enable = true;
research.enable = true;
vs-code.enable = true;
};
setups = {
desktop.enable = true;
development.enable = true;
fonts.enable = true;
music.enable = true;
music.mpd.enable = true;
};
};
# The keyfile required to decrypt the secrets.
sops.age.keyFile = "${config.xdg.configHome}/age/user";
sops.secrets = lib.private.getSecrets ./secrets/secrets.yaml {
davfs2-credentials = {
path = "${config.home.homeDirectory}/.davfs2/davfs2.conf";
};
};
# Set nixpkgs config both outside and inside of home-manager.
nixpkgs.config = import ./config/nixpkgs/config.nix;
xdg.configFile."nixpkgs/config.nix".source = ./config/nixpkgs/config.nix;
home.packages = with pkgs; [
gopass # An improved version of the password manager for hipsters.
hledger # Trying to be a good accountant.
];
home.stateVersion = "23.11";
xdg.configFile = {
distrobox.source = ./config/distrobox;
kanidm.source = ./config/kanidm;
};
# Automating some files to be fetched on activation.
home.mutableFile = {
# ...my gopass secrets,...
".local/share/gopass/stores/personal" = {
url = "gitea@code.foodogsquared.one:foodogsquared/gopass-secrets-personal.git";
type = "gopass";
};
# ...and my custom theme to be a showoff.
"${config.xdg.dataHome}/base16/bark-on-a-tree" = {
url = "https://github.com/foo-dogsquared/base16-bark-on-a-tree-scheme.git";
type = "git";
};
};
}