WIP: Modularize moar
This commit is contained in:
parent
0df8639ccc
commit
f9c03f4161
6 changed files with 207 additions and 154 deletions
5
home-mods/common/default.nix
Normal file
5
home-mods/common/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.homeDirectory = "/home/${config.home.username}";
|
||||||
|
}
|
36
home-mods/desktop/default.nix
Normal file
36
home-mods/desktop/default.nix
Normal 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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -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
133
home-mods/shell/default.nix
Normal 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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue