mirror of
https://github.com/willemml/dotfiles.nix.git
synced 2025-04-13 03:37:18 +00:00
simplify home manage dir tree, split linux config off
This commit is contained in:
parent
a005df4a40
commit
41411b05d9
21 changed files with 76 additions and 10 deletions
|
@ -9,19 +9,24 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
flake.homeManagerModules = let
|
flake.homeManagerModules = let
|
||||||
modules = self.lib.importDirToAttrs ../../home-manager/modules;
|
modules = self.lib.importDirToAttrs ../../home-manager;
|
||||||
non-darwin-modules = lib.filterAttrs (n: v: !(lib.hasInfix "darwin" n)) modules;
|
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;
|
darwin-modules = lib.filterAttrs (n: v: (lib.hasInfix "darwin" n)) modules;
|
||||||
|
linux-modules = lib.filterAttrs (n: v: (lib.hasInfix "linux" n)) modules;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
default = {
|
default = {
|
||||||
imports = builtins.attrValues non-darwin-modules;
|
imports = builtins.attrValues non-specific-modules;
|
||||||
};
|
};
|
||||||
|
|
||||||
darwin = {
|
darwin = {
|
||||||
imports = builtins.attrValues darwin-modules;
|
imports = builtins.attrValues darwin-modules;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
linux = {
|
||||||
|
imports = builtins.attrValues linux-modules;
|
||||||
|
};
|
||||||
|
|
||||||
nixpkgs-config = {
|
nixpkgs-config = {
|
||||||
nixpkgs.config.allowUnfreePredicate = _: true;
|
nixpkgs.config.allowUnfreePredicate = _: true;
|
||||||
nixpkgs.config.allowUnsupportedSystem = true;
|
nixpkgs.config.allowUnsupportedSystem = true;
|
||||||
|
|
|
@ -26,7 +26,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
homeManagerModules.user-willem-linux = {
|
homeManagerModules.user-willem-linux = {
|
||||||
imports = [self.homeManagerModules.user-willem];
|
imports = [
|
||||||
|
self.homeManagerModules.user-willem
|
||||||
|
self.homeManagerModules.linux
|
||||||
|
];
|
||||||
|
|
||||||
home.homeDirectory = "/home/willem";
|
home.homeDirectory = "/home/willem";
|
||||||
};
|
};
|
||||||
|
|
22
home-manager/profiles/willem/linux/base.nix
Normal file
22
home-manager/profiles/willem/linux/base.nix
Normal 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
|
||||||
|
];
|
||||||
|
}
|
40
home-manager/profiles/willem/linux/services.nix
Normal file
40
home-manager/profiles/willem/linux/services.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,9 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [../profiles/linux/gnome.nix];
|
||||||
../profiles/desktop.nix
|
|
||||||
../profiles/gnome.nix
|
|
||||||
../profiles/linux-common.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [./common.nix];
|
imports = [../common.nix];
|
||||||
|
|
||||||
console.keyMap = "colemak";
|
console.keyMap = "colemak";
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue