refactor: added flake parts
This commit is contained in:
parent
db7ac35613
commit
88041e86bd
66 changed files with 3538 additions and 2163 deletions
53
modules/hosts/home/eve/configuration.nix
Normal file
53
modules/hosts/home/eve/configuration.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{...}: {
|
||||
flake.homeModules.eveBaseConfiguration = {osConfig, ...}: let
|
||||
userConfig = osConfig.host.users.eve;
|
||||
in {
|
||||
home = {
|
||||
username = userConfig.name;
|
||||
homeDirectory = osConfig.users.users.eve.home;
|
||||
|
||||
# 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.
|
||||
stateVersion = "23.11"; # Please read the comment before changing.
|
||||
|
||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||
# plain files is through 'home.file'.
|
||||
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'. 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/leyla/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
sessionVariables = {
|
||||
# EDITOR = "emacs";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
11
modules/hosts/home/eve/default.nix
Normal file
11
modules/hosts/home/eve/default.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{config, ...}: let
|
||||
hm = config.flake.homeModules;
|
||||
in {
|
||||
flake.homeModules.eveConfiguration = {...}: {
|
||||
imports = [
|
||||
hm.eveBaseConfiguration
|
||||
hm.eveGnomeconf
|
||||
hm.evePackages
|
||||
];
|
||||
};
|
||||
}
|
||||
41
modules/hosts/home/eve/gnomeconf.nix
Normal file
41
modules/hosts/home/eve/gnomeconf.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{...}: {
|
||||
flake.homeModules.eveGnomeconf = {
|
||||
osConfig,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
config = {
|
||||
gnome = lib.mkMerge [
|
||||
{
|
||||
colorScheme = "prefer-dark";
|
||||
accentColor = "slate";
|
||||
clockFormat = "24h";
|
||||
nightLight = {
|
||||
enable = true;
|
||||
automatic = false;
|
||||
fromTime = 12.0;
|
||||
toTime = 11.999999999999;
|
||||
temperature = 2700;
|
||||
};
|
||||
extraWindowControls = true;
|
||||
extensions = {
|
||||
dash-to-panel = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
(lib.mkIf (osConfig.networking.hostName == "horizon") {
|
||||
displayScaling = 125;
|
||||
experimentalFeatures = {
|
||||
scaleMonitorFramebuffer = true;
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
dconf = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
93
modules/hosts/home/eve/packages.nix
Normal file
93
modules/hosts/home/eve/packages.nix
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
{...}: {
|
||||
flake.homeModules.evePackages = {
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
userConfig = osConfig.host.users.eve;
|
||||
hardware = osConfig.host.hardware;
|
||||
in {
|
||||
config = {
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
# Packages that can be installed without any extra configuration
|
||||
# See https://search.nixos.org/packages for all options
|
||||
home.packages = lib.lists.optionals userConfig.isDesktopUser (
|
||||
with pkgs; [
|
||||
gnomeExtensions.dash-to-panel
|
||||
claude-code
|
||||
friture
|
||||
]
|
||||
);
|
||||
|
||||
# Packages that need to be installed with some extra configuration
|
||||
# See https://home-manager-options.extranix.com/ for all options
|
||||
programs = lib.mkMerge [
|
||||
{
|
||||
# Let Home Manager install and manage itself.
|
||||
home-manager.enable = true;
|
||||
}
|
||||
(lib.mkIf (config.user.isDesktopUser || config.user.isTerminalUser) {
|
||||
git = {
|
||||
enable = true;
|
||||
signing.format = "openpgp";
|
||||
settings = {
|
||||
user.name = "Eve";
|
||||
user.email = "evesnrobins@gmail.com";
|
||||
init.defaultBranch = "main";
|
||||
};
|
||||
};
|
||||
|
||||
openssh = {
|
||||
enable = true;
|
||||
hostKeys = [
|
||||
{
|
||||
type = "ed25519";
|
||||
path = "${config.home.username}_${osConfig.networking.hostName}_ed25519";
|
||||
}
|
||||
];
|
||||
};
|
||||
})
|
||||
(lib.mkIf config.user.isDesktopUser {
|
||||
vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
};
|
||||
|
||||
firefox.enable = true;
|
||||
bitwarden.enable = true;
|
||||
discord.enable = true;
|
||||
makemkv.enable = true;
|
||||
signal-desktop.enable = true;
|
||||
steam.enable = true;
|
||||
piper.enable = hardware.piperMouse.enable;
|
||||
krita.enable = true;
|
||||
ungoogled-chromium.enable = true;
|
||||
|
||||
inkscape.enable = true;
|
||||
obsidian.enable = true;
|
||||
obs-studio.enable = true;
|
||||
kdenlive.enable = true;
|
||||
tor-browser.enable = true;
|
||||
olympus.enable = true;
|
||||
libreoffice.enable = true;
|
||||
noita-entangled-worlds.enable = true;
|
||||
|
||||
opencode.enable = osConfig.host.ai.enable;
|
||||
|
||||
e621-downloader.enable = true;
|
||||
|
||||
# Windows applications that we need to figure out how to install
|
||||
guild-wars-2.enable = false;
|
||||
vortex.enable = false;
|
||||
dungeon-draft.enable = false;
|
||||
vmware-workstation.enable = true;
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue