[tohru] DRY home directory more sensibly

This commit is contained in:
Katherina Walshe-Grey 2024-06-04 21:27:40 +01:00
parent 7a0921806e
commit 85b08086fb

View file

@ -3,6 +3,7 @@
{
users.users.bluebird = {
isNormalUser = true;
home = "/home/bluebird";
description = "Bluebird";
extraGroups = [
"wheel" # sudo
@ -17,83 +18,79 @@
];
};
home-manager.users.bluebird = { pkgs, ... }:
let
homeDirectory = "/home/bluebird";
in
{
home.homeDirectory = homeDirectory;
home-manager.users.bluebird = { pkgs, ... }: {
home.homeDirectory = config.users.users.bluebird.home;
home.packages = with pkgs; [
fortune
htop
tree
home.packages = with pkgs; [
fortune
htop
tree
nil
nixpkgs-fmt
];
nil
nixpkgs-fmt
];
dconf = {
enable = true;
settings =
let
backgroundOptions = {
color-shading-type = "solid";
picture-options = "zoom";
picture-uri = "${homeDirectory}/.background-image";
primary-color = "#3a4ba0";
secondary-color = "#2f302f";
};
in
{
"org/gnome/desktop/background" = backgroundOptions // {
picture-uri-dark = backgroundOptions.picture-uri;
};
"org/gnome/desktop/screensaver" = backgroundOptions;
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
};
};
home.file.".background-image".source = ./background-image.jpg;
programs.chromium.enable = true;
programs.git = {
enable = true;
userName = "Katherina Walshe-Grey";
userEmail = "git@katherina.rocks";
};
programs.vscode =
dconf = {
enable = true;
settings =
let
system = builtins.currentSystem;
sources = import ../../npins;
extensions = (import sources.nix-vscode-extensions).extensions.${system};
backgroundOptions = {
color-shading-type = "solid";
picture-options = "zoom";
picture-uri = "${config.users.users.bluebird.home}/.background-image";
primary-color = "#3a4ba0";
secondary-color = "#2f302f";
};
in
{
enable = true;
enableExtensionUpdateCheck = false;
enableUpdateCheck = false;
package = pkgs.vscodium;
extensions = (with pkgs.vscode-extensions; [
jnoortheen.nix-ide
ms-python.python
]) ++ (with extensions.open-vsx; [
robbowen.synthwave-vscode
]);
mutableExtensionsDir = false;
userSettings = {
"extensions.autoUpdate" = false;
"git.autofetch" = true;
"nix.enableLanguageServer" = true;
"nix.serverPath" = "nil";
"nix.serverSettings".nil = {
diagnostics.ignored = [ "unused_binding" "unused_with" ];
formatting.command = [ "nixpkgs-fmt" ];
};
"workbench.colorTheme" = "SynthWave '84";
"org/gnome/desktop/background" = backgroundOptions // {
picture-uri-dark = backgroundOptions.picture-uri;
};
"org/gnome/desktop/screensaver" = backgroundOptions;
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
};
home.stateVersion = "23.11";
};
home.file.".background-image".source = ./background-image.jpg;
programs.chromium.enable = true;
programs.git = {
enable = true;
userName = "Katherina Walshe-Grey";
userEmail = "git@katherina.rocks";
};
programs.vscode =
let
system = builtins.currentSystem;
sources = import ../../npins;
extensions = (import sources.nix-vscode-extensions).extensions.${system};
in
{
enable = true;
enableExtensionUpdateCheck = false;
enableUpdateCheck = false;
package = pkgs.vscodium;
extensions = (with pkgs.vscode-extensions; [
jnoortheen.nix-ide
ms-python.python
]) ++ (with extensions.open-vsx; [
robbowen.synthwave-vscode
]);
mutableExtensionsDir = false;
userSettings = {
"extensions.autoUpdate" = false;
"git.autofetch" = true;
"nix.enableLanguageServer" = true;
"nix.serverPath" = "nil";
"nix.serverSettings".nil = {
diagnostics.ignored = [ "unused_binding" "unused_with" ];
formatting.command = [ "nixpkgs-fmt" ];
};
"workbench.colorTheme" = "SynthWave '84";
};
};
home.stateVersion = "23.11";
};
}