simplify home manage dir tree, split linux config off

This commit is contained in:
willemml 2023-06-19 19:59:52 -07:00
parent a005df4a40
commit 41411b05d9
Signed by: willemml
GPG key ID: C3DE5DF6198DACBD
21 changed files with 76 additions and 10 deletions

View file

@ -9,19 +9,24 @@
...
}: {
flake.homeManagerModules = let
modules = self.lib.importDirToAttrs ../../home-manager/modules;
non-darwin-modules = lib.filterAttrs (n: v: !(lib.hasInfix "darwin" n)) modules;
modules = self.lib.importDirToAttrs ../../home-manager;
non-specific-modules = lib.filterAttrs (n: v: (!(lib.hasInfix "darwin" n) && !(lib.hasInfix "linux" n))) modules;
darwin-modules = lib.filterAttrs (n: v: (lib.hasInfix "darwin" n)) modules;
linux-modules = lib.filterAttrs (n: v: (lib.hasInfix "linux" n)) modules;
in
{
default = {
imports = builtins.attrValues non-darwin-modules;
imports = builtins.attrValues non-specific-modules;
};
darwin = {
imports = builtins.attrValues darwin-modules;
};
linux = {
imports = builtins.attrValues linux-modules;
};
nixpkgs-config = {
nixpkgs.config.allowUnfreePredicate = _: true;
nixpkgs.config.allowUnsupportedSystem = true;

View file

@ -26,7 +26,10 @@
};
homeManagerModules.user-willem-linux = {
imports = [self.homeManagerModules.user-willem];
imports = [
self.homeManagerModules.user-willem
self.homeManagerModules.linux
];
home.homeDirectory = "/home/willem";
};

View file

@ -0,0 +1,22 @@
{
config,
pkgs,
lib,
...
}: {
home.file.".gnupg/gpg-agent.conf" = {
text = ''
default-cache-ttl 30
max-cache-ttl 600
'';
};
programs.zsh.shellAliases = {
nrs = "nixos-rebuild switch --flake ${config.home.homeDirectory}/.config/dotfiles.nix#";
nbs = "nixos-rebuild build --flake ${config.home.homeDirectory}/.config/dotfiles.nix#";
};
home.packages = with pkgs; [
gcc-arm-embedded
];
}

View file

@ -0,0 +1,40 @@
{
config,
pkgs,
lib,
...
}: {
services = {
gpg-agent = {
enable = true;
enableSshSupport = true;
enableZshIntegration = true;
defaultCacheTtl = 30;
maxCacheTtl = 600;
};
emacs = {
enable = true;
package =
if config.programs.emacs.enable
then config.programs.emacs.finalPackage
else pkgs.emacs;
client.enable = true;
defaultEditor = true;
startWithUserSession = true;
};
};
systemd.user.services = {
offlineimap = {
Unit = {
Description = "Runs offlineimap to get email every 15 minutes.";
};
Service = {
ExecStart = "${pkgs.offlineimap}/bin/offlineimap";
RestartSec = "15min";
Restart = "always";
};
};
};
}

View file

@ -1,9 +1,5 @@
{pkgs, ...}: {
imports = [
../profiles/desktop.nix
../profiles/gnome.nix
../profiles/linux-common.nix
];
imports = [../profiles/linux/gnome.nix];
boot.extraModulePackages = [];

View file

@ -1,5 +1,5 @@
{pkgs, ...}: {
imports = [./common.nix];
imports = [../common.nix];
console.keyMap = "colemak";