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,24 +4,14 @@
, 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;
programs = {
alacritty = {
programs.alacritty = {
enable = true;
settings = {
window.opacity = 0.88;
@ -31,114 +21,13 @@ in
};
};
};
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 = pkgs.unstable-pkgs.emacs-unstable-pgtk;
package = lib.mkForce pkgs.unstable-pkgs.emacs-unstable-pgtk;
};
};
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 = {
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
, inputs
, system
, lib
, ...
}: {
users.users.tester = {
@ -29,12 +30,14 @@
inherit config;
inherit inputs;
inherit system;
inherit lib;
};
users.tristand = import ./tristand.nix {
inherit pkgs;
inherit config;
inherit inputs;
inherit system;
inherit lib;
};
};
}

View file

@ -2,49 +2,36 @@
, config
, inputs
, system
, lib
, ...
}:
let
wallpaper = inputs.nix-wallpaper.packages.${pkgs.system}.default.override {
logoSize = 24;
preset = "gruvbox-dark-rainbow";
desktop = import ../home-mods/desktop {
inherit pkgs;
inherit config;
inherit inputs;
};
wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png";
in
{
imports = [
../home-mods/common
# ../home-mods/desktop
../home-mods/dev
../home-mods/firefox
../home-mods/plasma
../home-mods/virt
../home-mods/shell
];
config = pkgs.lib.mkMerge [
{
home = {
file.".background".source = wallpaperPath;
username = "tristand";
homeDirectory = "/home/tristand";
packages = with pkgs.unstable-pkgs; [
bitwarden
brave
btop
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";
};
}
desktop
];
}