This commit is contained in:
Ivan Kirilov Dimitrov 2024-07-05 18:19:34 +02:00
parent 853ffca7cc
commit 9d672f7832
No known key found for this signature in database
GPG Key ID: 0BDAD4B211C49294
3 changed files with 122 additions and 139 deletions

View File

@ -1,20 +1,5 @@
{
"nodes": {
"catppuccin": {
"locked": {
"lastModified": 1719915848,
"narHash": "sha256-zq+CMkdT8A9z74HonwspXp8HsX4OvP4uaVdD98AO6as=",
"owner": "catppuccin",
"repo": "nix",
"rev": "9345073d27d91ab66c1b6ab65df322906992aa59",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "nix",
"type": "github"
}
},
"devshell": {
"inputs": {
"flake-utils": "flake-utils_2",
@ -568,7 +553,6 @@
},
"root": {
"inputs": {
"catppuccin": "catppuccin",
"home-manager": "home-manager",
"hosts": "hosts",
"ide": "ide",

View File

@ -8,14 +8,11 @@ toplevel@{ inputs, withSystem, config, ... }:
mods = config.flake.homeManagerModules;
in
[
{
home.stateVersion = config.flake.stateVersion;
}
mods.all
mods.dev
mods.base
mods.random
mods.reminders
mods.shell
mods.util
mods.swayland
mods.web
];
});
}

View File

@ -1,5 +1,99 @@
{ moduleWithSystem, ... }: {
toplevel@{ moduleWithSystem, ... }: {
flake.homeManagerModules = {
base = moduleWithSystem (
top@{ config, ... }:
perSystem@{ pkgs, ... }: {
programs = {
home-manager.enable = true;
password-store = {
enable = true;
package = pkgs.pass.withExtensions (e: with e; [ pass-otp pass-file ]);
settings = {
PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.password-store";
};
};
git = {
enable = true;
delta.enable = true;
userName = pkgs.lib.mkDefault "Ivan Kirilov Dimitrov";
userEmail = pkgs.lib.mkDefault "ivan@idimitrov.dev";
signing = {
signByDefault = true;
key = "ivan@idimitrov.dev";
};
extraConfig = {
color.ui = "auto";
pull.rebase = true;
push.autoSetupRemote = true;
};
aliases = {
a = "add .";
c = "commit";
d = "diff --cached";
p = "push";
};
};
gpg.enable = true;
};
services = {
pueue.enable = true;
gpg-agent = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
enableNushellIntegration = true;
pinentryPackage = pkgs.pinentry-qt;
};
};
home = {
stateVersion = toplevel.config.flake.stateVersion;
username = "ivand";
homeDirectory = "/home/ivand";
sessionVariables = {
EDITOR = "nvim";
PAGER = "bat";
TERM = "screen-256color";
MAKEFLAGS = "-j 4";
};
pointerCursor = with pkgs; {
name = lib.mkForce "BreezeX-RosePine-Linux";
package = lib.mkForce rose-pine-cursor;
size = 24;
gtk.enable = true;
};
packages = with pkgs; [
transmission_4
speedtest-cli
nvim
];
};
xdg = {
enable = true;
userDirs = with config; {
enable = true;
createDirectories = true;
desktop = "${home.homeDirectory}/dt";
documents = "${home.homeDirectory}/doc";
download = "${home.homeDirectory}/dl";
pictures = "${home.homeDirectory}/pic";
videos = "${home.homeDirectory}/vid";
templates = "${home.homeDirectory}/tpl";
publicShare = "${home.homeDirectory}/pub";
music = "${home.homeDirectory}/mus";
};
mimeApps = {
enable = true;
defaultApplications = {
"text/html" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
};
};
};
}
);
shell = moduleWithSystem (
top@{ ... }:
perSystem@{ pkgs, ... }: {
@ -68,10 +162,9 @@
dev = "nix develop --command $env.SHELL";
};
};
programs.kitty.shellIntegration = {
kitty.shellIntegration = {
enableBashIntegration = true;
enableZshIntegration = true;
enableNushellIntegration = true;
};
tmux = {
enable = true;
@ -95,103 +188,10 @@
};
}
);
base = moduleWithSystem (
top@{ config, ... }:
perSystem@{ pkgs, ... }: {
programs = {
home-manager.enable = true;
password-store = {
enable = true;
package = pkgs.pass.withExtensions (e: with e; [ pass-otp pass-file ]);
settings = {
PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.password-store";
};
};
git = {
enable = true;
delta.enable = true;
userName = pkgs.lib.mkDefault "Ivan Kirilov Dimitrov";
userEmail = pkgs.lib.mkDefault "ivan@idimitrov.dev";
signing = {
signByDefault = true;
key = "ivan@idimitrov.dev";
};
extraConfig = {
color.ui = "auto";
pull.rebase = true;
push.autoSetupRemote = true;
};
aliases = {
a = "add .";
c = "commit";
d = "diff --cached";
p = "push";
};
};
gpg.enable = true;
};
services = {
pueue.enable = true;
gpg-agent = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
enableNushellIntegration = true;
pinentryPackage = pkgs.pinentry-qt;
};
};
home = {
username = "ivand";
homeDirectory = "/home/ivand";
sessionVariables = {
EDITOR = "nvim";
PAGER = "bat";
TERM = "screen-256color";
MAKEFLAGS = "-j 4";
};
pointerCursor = with pkgs; {
name = lib.mkForce "BreezeX-RosePine-Linux";
package = lib.mkForce rose-pine-cursor;
size = 24;
gtk.enable = true;
};
packages = with pkgs; [
transmission_4
speedtest-cli
nvim
];
};
bat.enable = true;
xdg = {
enable = true;
userDirs = with config; {
enable = true;
createDirectories = true;
desktop = "${home.homeDirectory}/dt";
documents = "${home.homeDirectory}/doc";
download = "${home.homeDirectory}/dl";
pictures = "${home.homeDirectory}/pic";
videos = "${home.homeDirectory}/vid";
templates = "${home.homeDirectory}/tpl";
publicShare = "${home.homeDirectory}/pub";
music = "${home.homeDirectory}/mus";
};
mimeApps = {
enable = true;
defaultApplications = {
"text/html" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
};
};
};
}
);
util = moduleWithSystem (
top@{ ... }:
perSystem@{ ... }: {
programs = {
tealdeer = {
enable = true;
settings = {
@ -216,6 +216,8 @@
];
};
};
bat.enable = true;
};
}
);
swayland = moduleWithSystem (