2023-10-02 06:26:11 +00:00
|
|
|
{ config, lib, pkgs, ... }:
|
2021-11-27 11:21:08 +00:00
|
|
|
|
2022-11-19 03:05:31 +00:00
|
|
|
{
|
2023-12-12 01:43:25 +00:00
|
|
|
imports = [ ./modules ];
|
|
|
|
|
|
|
|
# All of the home-manager-user-specific setup are here.
|
|
|
|
users.foo-dogsquared = {
|
|
|
|
music.enable = true;
|
2023-12-12 01:05:46 +00:00
|
|
|
dotfiles.enable = false;
|
2023-12-12 01:43:25 +00:00
|
|
|
|
|
|
|
programs = {
|
|
|
|
browsers.brave.enable = true;
|
|
|
|
browsers.firefox.enable = true;
|
|
|
|
browsers.misc.enable = true;
|
|
|
|
email.enable = true;
|
|
|
|
email.thunderbird.enable = true;
|
|
|
|
git.enable = true;
|
|
|
|
keys.gpg.enable = true;
|
|
|
|
keys.ssh.enable = true;
|
2023-12-13 03:10:02 +00:00
|
|
|
research.enable = true;
|
2023-12-12 01:14:35 +00:00
|
|
|
shell.enable = true;
|
2023-12-12 01:46:07 +00:00
|
|
|
terminal-multiplexer.enable = true;
|
2023-12-12 01:43:25 +00:00
|
|
|
};
|
2023-12-12 01:09:45 +00:00
|
|
|
|
|
|
|
services.desktop.enable = true;
|
2023-12-12 01:43:25 +00:00
|
|
|
};
|
2023-07-04 00:55:49 +00:00
|
|
|
|
2023-07-24 09:48:15 +00:00
|
|
|
# The keyfile required to decrypt the secrets.
|
|
|
|
sops.age.keyFile = "${config.xdg.configHome}/age/user";
|
|
|
|
|
|
|
|
sops.secrets = lib.getSecrets ./secrets/secrets.yaml {
|
|
|
|
davfs2-credentials = {
|
|
|
|
path = "${config.home.homeDirectory}/.davfs2/davfs2.conf";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-07-07 09:12:08 +00:00
|
|
|
# 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;
|
|
|
|
|
2021-12-08 04:18:37 +00:00
|
|
|
home.packages = with pkgs; [
|
2023-04-24 03:15:29 +00:00
|
|
|
hledger # Trying to be a good accountant.
|
2021-12-25 13:56:50 +00:00
|
|
|
];
|
2021-12-08 04:18:37 +00:00
|
|
|
|
2021-11-29 09:56:24 +00:00
|
|
|
fonts.fontconfig.enable = true;
|
2022-07-20 09:41:27 +00:00
|
|
|
|
2023-06-16 05:16:12 +00:00
|
|
|
programs.atuin = {
|
|
|
|
settings = {
|
|
|
|
auto_sync = true;
|
|
|
|
sync_address = "http://atuin.plover.foodogsquared.one";
|
|
|
|
sync_frequency = "10m";
|
|
|
|
};
|
|
|
|
};
|
2022-07-20 09:41:27 +00:00
|
|
|
|
2021-11-29 09:56:24 +00:00
|
|
|
# My custom modules.
|
2022-01-09 05:38:59 +00:00
|
|
|
profiles = {
|
2023-09-04 13:40:02 +00:00
|
|
|
editors = {
|
|
|
|
emacs.enable = true;
|
|
|
|
vscode.enable = true;
|
|
|
|
};
|
2021-11-30 01:03:05 +00:00
|
|
|
desktop = {
|
|
|
|
enable = true;
|
|
|
|
graphics.enable = true;
|
2023-03-08 15:46:06 +00:00
|
|
|
video.enable = true;
|
|
|
|
documents.enable = true;
|
2021-11-30 01:03:05 +00:00
|
|
|
};
|
2021-11-29 09:56:24 +00:00
|
|
|
};
|
2022-01-09 05:38:59 +00:00
|
|
|
|
2023-12-10 04:27:17 +00:00
|
|
|
home.stateVersion = "23.11";
|
2022-05-20 06:47:09 +00:00
|
|
|
|
2022-01-12 02:46:25 +00:00
|
|
|
xdg.userDirs = {
|
|
|
|
enable = true;
|
|
|
|
createDirectories = true;
|
|
|
|
};
|
2022-07-05 14:28:03 +00:00
|
|
|
|
|
|
|
xdg.configFile = {
|
2023-10-17 11:43:38 +00:00
|
|
|
distrobox.source = ./config/distrobox;
|
2023-10-17 10:36:32 +00:00
|
|
|
kanidm.source = ./config/kanidm;
|
2022-07-05 14:28:03 +00:00
|
|
|
};
|
2023-03-13 15:46:24 +00:00
|
|
|
|
2023-04-24 03:15:41 +00:00
|
|
|
# Automating some files to be fetched on activation.
|
2023-03-13 15:46:24 +00:00
|
|
|
home.mutableFile = {
|
2023-07-22 03:05:52 +00:00
|
|
|
# ...my gopass secrets,...
|
|
|
|
".local/share/gopass/stores/personal" = {
|
|
|
|
url = "gitea@code.foodogsquared.one:foodogsquared/gopass-secrets-personal.git";
|
|
|
|
type = "gopass";
|
|
|
|
};
|
|
|
|
|
2023-04-24 03:15:41 +00:00
|
|
|
# ...and my custom theme to be a showoff.
|
2023-03-24 02:26:16 +00:00
|
|
|
"${config.xdg.dataHome}/base16/bark-on-a-tree" = {
|
|
|
|
url = "https://github.com/foo-dogsquared/base16-bark-on-a-tree-scheme.git";
|
|
|
|
type = "git";
|
|
|
|
};
|
2023-03-13 15:46:24 +00:00
|
|
|
};
|
2021-11-27 08:04:01 +00:00
|
|
|
}
|