WIP: Modularize moar

This commit is contained in:
Tristan D. 2023-10-17 19:55:45 +02:00
parent 0df8639ccc
commit f9c03f4161
Signed by: tristan
SSH key fingerprint: SHA256:U7y6eMb7CQDaTHv9XoX6/BaQnPqyxxKc+Xnfcefi6rY
6 changed files with 207 additions and 154 deletions

View file

@ -0,0 +1,5 @@
{ config, lib, pkgs, ... }:
{
home.homeDirectory = "/home/${config.home.username}";
}

View file

@ -0,0 +1,36 @@
{ config
, pkgs
, inputs
, ...
}:
let
wallpaper = inputs.nix-wallpaper.packages.${pkgs.system}.default.override {
logoSize = 24;
preset = "gruvbox-dark-rainbow";
};
wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png";
in
{
home = {
file.".background".source = wallpaperPath;
packages = with pkgs.unstable-pkgs; [
bitwarden
brave
cavalier
freetube
inkscape
jellyfin-media-player
kate
neofetch
nextcloud-client
onlyoffice-bin
rustdesk
tutanota-desktop
signal-desktop
thunderbird
];
};
}

View file

@ -4,141 +4,30 @@
, inputs , inputs
, ... , ...
}: }:
let
doomemacsSrc = builtins.fetchGit {
url = "https://github.com/doomemacs/doomemacs";
ref = "master";
rev = "986398504d09e585c7d1a8d73a6394024fe6f164";
};
personalDoomConfSrc = builtins.fetchGit {
url = "https://git.vlt81.de/tristan/doom";
ref = "main";
rev = "c6558ab65f106628a3bdb890df935bb7965edd95";
};
in
{ {
# imports = [
# ../shell
#];
xdg.enable = true; xdg.enable = true;
programs = { programs.alacritty = {
alacritty = { enable = true;
enable = true; settings = {
settings = { window.opacity = 0.88;
window.opacity = 0.88; window.dimensions = {
window.dimensions = { lines = 40;
lines = 40; columns = 150;
columns = 150;
};
}; };
}; };
starship = {
enable = true;
package = pkgs.unstable-pkgs.starship;
};
fish = {
enable = true;
package = pkgs.unstable-pkgs.fish;
interactiveShellInit = ''
any-nix-shell fish --info-right | source
direnv hook fish | source
'';
loginShellInit = ''
direnv hook fish | source
'';
functions = {
ec = "emacsclient $argv";
ecc = "emacsclient -c $argv";
ecr = "emacsclient -r $argv";
ecrr = "emacsclient -r $argv";
};
};
git = {
enable = true;
userName = "Tristan Druyen";
userEmail = "tristan@vault81.de";
aliases = {
ci = "commit";
co = "checkout";
s = "status";
};
extraConfig = {
user.signingkey = "${config.home.homeDirectory}/.ssh/id_ed25519";
commit.gpgsign = true;
gpg.format = "ssh";
};
package = pkgs.unstable-pkgs.git;
};
nix-index = {
enable = true;
enableFishIntegration = true;
};
ssh = {
enable = true;
package = pkgs.unstable-pkgs.openssh;
matchBlocks = {
"he3" = {
host = "he3";
hostname = "he3.vault81.de";
user = "root";
identityFile = "~/.ssh/id_hetz_ed25519";
};
"he2" = {
host = "he2";
hostname = "he2.vault81.de";
user = "root";
identityFile = "~/.ssh/id_v81_ed25519";
};
"desk-arch" = {
host = "desk-arch";
hostname = "tristan-desk-arch";
user = "tristand";
identityFile = "~/.ssh/id_v81_ed25519";
};
};
};
gpg = {
enable = true;
package = pkgs.unstable-pkgs.gnupg;
};
}; };
services = { services = {
gpg-agent = {
enable = true;
enableExtraSocket = true;
enableSshSupport = true;
};
lorri.enable = true;
emacs = { emacs = {
enable = true; package = lib.mkForce pkgs.unstable-pkgs.emacs-unstable-pgtk;
defaultEditor = true;
package = pkgs.unstable-pkgs.emacs-unstable-pgtk;
}; };
}; };
home = { home = {
activation.installDoomEmacs = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
mkdir ~/.config/emacs -p
chmod u+rw -R ~/.config/emacs
cp -r ${doomemacsSrc}/. "$HOME/.config/emacs"
mkdir ~/.config/doom -p
chmod u+rw -R ~/.config/doom
cp -r ${personalDoomConfSrc}/. "$HOME/.config/doom"
'';
sessionVariables = { sessionVariables = {
TERMINAL = "alacritty"; TERMINAL = "alacritty";
}; };

133
home-mods/shell/default.nix Normal file
View file

@ -0,0 +1,133 @@
{ config, pkgs, lib, ... }:
let
doomemacsSrc = builtins.fetchGit {
url = "https://github.com/doomemacs/doomemacs";
ref = "master";
rev = "986398504d09e585c7d1a8d73a6394024fe6f164";
};
personalDoomConfSrc = builtins.fetchGit {
url = "https://git.vlt81.de/tristan/doom";
ref = "main";
rev = "c6558ab65f106628a3bdb890df935bb7965edd95";
};
in
{
programs = {
starship = {
enable = true;
package = pkgs.unstable-pkgs.starship;
};
fish = {
enable = true;
package = pkgs.unstable-pkgs.fish;
interactiveShellInit = ''
any-nix-shell fish --info-right | source
direnv hook fish | source
'';
loginShellInit = ''
direnv hook fish | source
'';
functions = {
ec = "emacsclient $argv";
ecc = "emacsclient -c $argv";
ecr = "emacsclient -r $argv";
ecrr = "emacsclient -r $argv";
};
};
git = {
enable = true;
userName = "Tristan Druyen";
userEmail = "tristan@vault81.de";
aliases = {
ci = "commit";
co = "checkout";
s = "status";
};
extraConfig = {
user.signingkey = "${config.home.homeDirectory}/.ssh/id_ed25519";
commit.gpgsign = true;
gpg.format = "ssh";
};
package = pkgs.unstable-pkgs.git;
};
nix-index = {
enable = true;
enableFishIntegration = true;
};
ssh = {
enable = true;
package = pkgs.unstable-pkgs.openssh;
matchBlocks = {
"he3" = {
host = "he3";
hostname = "he3.vault81.de";
user = "root";
identityFile = "~/.ssh/id_hetz_ed25519";
};
"he2" = {
host = "he2";
hostname = "he2.vault81.de";
user = "root";
identityFile = "~/.ssh/id_v81_ed25519";
};
"desk-arch" = {
host = "desk-arch";
hostname = "tristan-desk-arch";
user = "tristand";
identityFile = "~/.ssh/id_v81_ed25519";
};
};
};
gpg = {
enable = true;
package = pkgs.unstable-pkgs.gnupg;
};
};
services = {
gpg-agent = {
enable = true;
enableExtraSocket = true;
enableSshSupport = true;
};
lorri.enable = true;
emacs = {
enable = true;
defaultEditor = true;
package = lib.mkDefault pkgs.unstable-pkgs.emacs-unstable;
};
};
home = {
activation.installDoomEmacs = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
mkdir ~/.config/emacs -p
chmod u+rw -R ~/.config/emacs
cp -r ${doomemacsSrc}/. "$HOME/.config/emacs"
mkdir ~/.config/doom -p
chmod u+rw -R ~/.config/doom
cp -r ${personalDoomConfSrc}/. "$HOME/.config/doom"
'';
packages = with pkgs.unstable-pkgs; [
btop
imagemagick
rust-motd
zellij
];
};
}

View file

@ -2,6 +2,7 @@
, config , config
, inputs , inputs
, system , system
, lib
, ... , ...
}: { }: {
users.users.tester = { users.users.tester = {
@ -29,12 +30,14 @@
inherit config; inherit config;
inherit inputs; inherit inputs;
inherit system; inherit system;
inherit lib;
}; };
users.tristand = import ./tristand.nix { users.tristand = import ./tristand.nix {
inherit pkgs; inherit pkgs;
inherit config; inherit config;
inherit inputs; inherit inputs;
inherit system; inherit system;
inherit lib;
}; };
}; };
} }

View file

@ -2,49 +2,36 @@
, config , config
, inputs , inputs
, system , system
, lib
, ... , ...
}: }:
let let
wallpaper = inputs.nix-wallpaper.packages.${pkgs.system}.default.override { desktop = import ../home-mods/desktop {
logoSize = 24; inherit pkgs;
preset = "gruvbox-dark-rainbow"; inherit config;
inherit inputs;
}; };
wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png";
in in
{ {
imports = [ imports = [
../home-mods/common
# ../home-mods/desktop
../home-mods/dev ../home-mods/dev
../home-mods/firefox ../home-mods/firefox
../home-mods/plasma ../home-mods/plasma
../home-mods/virt ../home-mods/virt
../home-mods/shell
]; ];
home = { config = pkgs.lib.mkMerge [
file.".background".source = wallpaperPath; {
username = "tristand"; home = {
homeDirectory = "/home/tristand"; username = "tristand";
packages = with pkgs.unstable-pkgs; [ stateVersion = "23.05";
bitwarden };
brave }
btop desktop
cavalier ];
freetube
imagemagick
inkscape
jellyfin-media-player
kate
neofetch
nextcloud-client
onlyoffice-bin
rust-motd
rustdesk
tutanota-desktop
signal-desktop
thunderbird
zellij
];
stateVersion = "23.05";
};
} }