This commit is contained in:
Till 2026-01-28 14:00:40 +01:00
parent 7f9c096123
commit 26ed81dbee
36 changed files with 165 additions and 207 deletions

View file

@ -54,11 +54,25 @@
users = { users = {
till = { till = {
imports = [ ./home ]; imports = [
./home/desktop-full.nix
./home/users/till.nix
];
}; };
alt = { imports = [ ./home/alt.nix ]; }; alt = {
guest = { imports = [ ./home/guest.nix ]; }; imports = [
./home/desktop-slim.nix
./home/users/alt.nix
];
};
guest = {
imports = [
./home/desktop-slim.nix
./home/users/guest.nix
];
};
}; };
}; };
} }

8
home/aichat.nix Normal file
View file

@ -0,0 +1,8 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
aichat
glow
];
}

View file

@ -1,47 +0,0 @@
{ config, pkgs, inputs, lib, ... }:
{
home.packages = with pkgs; [
fzf
silver-searcher
tmux
nodejs
wl-clipboard
qbittorrent
vlc
ffmpeg
libnotify
];
imports = [
./minimal.nix
./gnome
./firefox.nix
./foot.nix
./fish.nix
./vifm
./tmux
./nvim
./user-dirs.nix
];
programs.nix-index = {
enable = true;
enableFishIntegration = true;
};
programs.git = {
enable = true;
userName = "Till";
userEmail = "till@ktiu.net";
lfs = {
enable = true;
};
extraConfig = {
init = {
defaultBranch = "main";
};
};
};
}

View file

@ -1,57 +0,0 @@
{ pkgs, ... }:
{
home.username = "till";
home.homeDirectory = "/home/till";
imports = [
./slim-desktop.nix
./fonts.nix
./gnome
./r.nix
./tex.nix
];
home.packages = with pkgs; [
# messenger
signal-desktop
telegram-desktop
# office
xournalpp
pdfpc
# text publishing
libreoffice
jdk
poppler-utils
zotero
lorem
typst
# graphics
gimp
inkscape
# web
chromium
nyxt
# media
anki-bin
qbittorrent
nicotine-plus
# other
quickemu
keymapp
gnome-solanum
eduvpn-client
yt-dlp
];
programs.obs-studio.enable = true;
}

15
home/desktop-full.nix Normal file
View file

@ -0,0 +1,15 @@
{ pkgs, ... }:
{
imports = [
./desktop-slim.nix
./messaging.nix
./r.nix
./tex.nix
./mail
./office-gui.nix
./office-cli.nix
./aichat.nix
];
}

View file

@ -4,23 +4,22 @@
imports = [ imports = [
./minimal.nix ./minimal.nix
./calendars.nix
./cli-office
./devel.nix ./devel.nix
./firefox.nix ./firefox.nix
./fonts.nix
./foot.nix ./foot.nix
./mail ./gnome
./media.nix
./user-dirs.nix ./user-dirs.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
aichat anki-bin
appimage-run appimage-run
drawing drawing
feh
keepassxc keepassxc
libnotify
usbutils usbutils
vlc
wl-clipboard wl-clipboard
yubioath-flutter yubioath-flutter
zathura zathura

View file

@ -7,7 +7,6 @@
du = "dust"; du = "dust";
ymd = "date +'%Y-%m-%d'"; ymd = "date +'%Y-%m-%d'";
dmy = "date +'%-d.-%-m.%Y'"; dmy = "date +'%-d.-%-m.%Y'";
v = "nvim";
r = "R --no-save --no-restore"; r = "R --no-save --no-restore";
R = "R --no-save --no-restore"; R = "R --no-save --no-restore";
cdg = "cd \$(git rev-parse --show-toplevel)"; cdg = "cd \$(git rev-parse --show-toplevel)";

View file

@ -8,7 +8,7 @@
services.gpg-agent = { services.gpg-agent = {
enable = true; enable = true;
# pinentry.package = pkgs.pinentry-gnome3; pinentry.package = pkgs.pinentry-gnome3;
pinentry.program = "pinentry-gnome3"; pinentry.program = "pinentry-gnome3";
enableSshSupport = true; enableSshSupport = true;
}; };

View file

@ -1,37 +0,0 @@
{ config, pkgs, inputs, lib, ... }:
{
home.username = "guest";
home.homeDirectory = "/home/guest";
imports = [
./minimal.nix
./firefox.nix
./fish.nix
./fonts.nix
./foot.nix
./gnome
./nvim
./tmux
./user-dirs.nix
];
home.packages = with pkgs; [
ffmpeg
keepassxc
mpv
qbittorrent
vlc
wl-clipboard
yt-dlp
];
services.syncthing.enable = true;
programs.nix-index = {
enable = true;
enableFishIntegration = true;
};
}

View file

@ -1,5 +0,0 @@
{ config, pkgs, ... }:
{
programs.librewolf.enable = true;
}

View file

@ -129,7 +129,7 @@
mbsync.create = "maildir"; mbsync.create = "maildir";
msmtp = { msmtp = {
enable = true; enable = true;
extraConfig.from = "*@t9e.me"; extraConfig.from = "*@(ktiu.net|t9e.me)";
}; };
passwordCommand = "pass mail/arielle.ktiu.net"; passwordCommand = "pass mail/arielle.ktiu.net";
}; };
@ -177,8 +177,8 @@
mbsync.enable = true; mbsync.enable = true;
mbsync.create = "maildir"; mbsync.create = "maildir";
msmtp = { msmtp = {
enable = true; enable = false;
extraConfig.from = "*@ktiu.net"; # extraConfig.from = "*@ktiu.net";
}; };
passwordCommand = "secret-tool lookup server shorbut.ktiu.net account till"; passwordCommand = "secret-tool lookup server shorbut.ktiu.net account till";
}; };

16
home/media.nix Normal file
View file

@ -0,0 +1,16 @@
{ config, pkgs, inputs, lib, ... }:
{
home.packages = with pkgs; [
castget
feh
ffmpeg
nicotine-plus
qbittorrent
vlc
yt-dlp
zathura
];
xdg.configFile."castget/castget.conf".source = ./castget/castget.conf;
}

9
home/messaging.nix Normal file
View file

@ -0,0 +1,9 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
signal-desktop
telegram-desktop
simplex-chat-desktop
];
}

View file

@ -3,10 +3,14 @@
{ {
programs.home-manager.enable = true; programs.home-manager.enable = true;
home.homeDirectory = "/home/${config.home.username}";
home.packages = with pkgs; [ home.packages = with pkgs; [
dust dust
fastfetch
fzf fzf
jq jq
nix-search
progress progress
rename rename
silver-searcher silver-searcher
@ -32,18 +36,10 @@
programs.git = { programs.git = {
enable = true; enable = true;
settings = { settings = {
user.name = "Till";
user.email = "till@ktiu.net";
pull.rebase = true; pull.rebase = true;
extraConfig = { extraConfig.init.defaultBranch = "main";
init = {
defaultBranch = "main";
};
};
};
lfs = {
enable = true;
}; };
lfs.enable = true;
}; };
programs.bottom = { programs.bottom = {

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }: { pkgs, ... }:
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
@ -12,6 +12,8 @@
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
viAlias = true;
vimAlias = true;
extraConfig = builtins.readFile ./config.vim; extraConfig = builtins.readFile ./config.vim;
@ -33,19 +35,22 @@
{ {
plugin = fzf-vim; plugin = fzf-vim;
type = "lua";
config = '' config = ''
nnoremap <leader><tab> :Buffers<return> vim.api.nvim_set_keymap('n', '<leader><tab>', ':Buffers<return>', { noremap = true, silent = true })
imap <c-x><c-f> <Plug>(fzf-complete-path) vim.api.nvim_set_keymap('i', '<c-x><c-f>', '<Plug>(fzf-complete-path)', { silent = true })
nnoremap <leader>o :Files<return> vim.api.nvim_set_keymap('n', '<leader>o', ':Files<return>', { noremap = true, silent = true })
nnoremap <leader>O :Files ~/ vim.api.nvim_set_keymap('n', '<leader>O', ':Files ~/', { noremap = true, silent = true })
nnoremap <leader>r :Read<cr> vim.api.nvim_set_keymap('n', '<leader>r', ':Read<return>', { noremap = true, silent = true })
nnoremap <leader>R :Read ~/ vim.api.nvim_set_keymap('n', '<leader>R', ':Read ~/', { noremap = true, silent = true })
nnoremap <leader>a :Ag<cr> vim.api.nvim_set_keymap('n', '<leader>a', ':Ag<return>', { noremap = true, silent = true })
nnoremap <leader>b :Buffers<cr> vim.api.nvim_set_keymap('n', '<leader>A', ':Ag ~/', { noremap = true, silent = true })
nnoremap <leader>. :Files ~/devel/omniflake/<return> vim.api.nvim_set_keymap('n', '<leader>.', ':Files ~/devel/omniflake/<return>', { noremap = true, silent = true })
command! -nargs=? -complete=dir Read call fzf#run( vim.api.nvim_create_user_command(
\fzf#wrap({'sink': 'read', 'dir': <q-args>}) 'Read',
\) 'call fzf#run(fzf#wrap({\'sink\': \'read\', \'dir\': <q-args>}))',
{ nargs = '?', complete = 'dir' }
)
''; '';
} }
{ {
@ -80,8 +85,9 @@
typescript-vim typescript-vim
{ {
plugin = ultisnips; plugin = ultisnips;
type = "lua";
config = '' config = ''
nnoremap <leader>se :UltiSnipsEdit!<return> vim.api.nvim_set_keymap('n', '<leader>se', ':UltiSnipsEdit!<return>', { noremap = true, silent = true })
''; '';
} }
vifm-vim vifm-vim
@ -113,8 +119,6 @@
nmap s <plug>SlimeMotionSend nmap s <plug>SlimeMotionSend
nmap ss <plug>SlimeLineSend nmap ss <plug>SlimeLineSend
nnoremap s: :SlimeSend1 nnoremap s: :SlimeSend1
" let g:slime_target = "neovim"
" autocmd TermOpen * let g:slime_default_config = {"jobid": &channel}
''; '';
} }
vim-snippets vim-snippets
@ -123,12 +127,11 @@
vim-unimpaired vim-unimpaired
]; ];
}; };
xdg.configFile."nvim/autocommmands.vim".source = ./autocommands.vim;
xdg.configFile."nvim/ftplugin/markdown.vim".source = ./ftplugin/markdown.vim; xdg.configFile."nvim" = {
xdg.configFile."nvim/after/ftplugin/markdown.vim".source = ./after/ftplugin/markdown.vim; source = ./dotfiles;
xdg.configFile."nvim/ftplugin/r.vim".source = ./ftplugin/r.vim; recursive = true;
xdg.configFile."nvim/ftplugin/rmd.vim".source = ./ftplugin/rmd.vim; };
xdg.configFile."nvim/ftplugin/tex.vim".source = ./ftplugin/tex.vim;
xdg.configFile."nvim/ftplugin/typescript.vim".source = ./ftplugin/typescript.vim; home.shellAliases.v = "nvim";
xdg.configFile."nvim/syntax/rmd.vim".source = ./syntax/rmd.vim;
} }

View file

@ -0,0 +1 @@
setlocal makeprg=nixos-rebuild\ dry-build

View file

@ -1 +0,0 @@
setlocal makeprg=sudo\ nixos-rebuild\ switch

View file

@ -4,13 +4,13 @@
imports = [ imports = [
./khard-dump.nix ./khard-dump.nix
./tasks.nix ./tasks.nix
./calendars.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
bat bat
castget castget
ghostscript ghostscript
glow
hunspell hunspell
hunspellDicts.de_DE hunspellDicts.de_DE
hunspellDicts.en_US hunspellDicts.en_US

21
home/office-gui.nix Normal file
View file

@ -0,0 +1,21 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
chromium
eduvpn-client
gimp
gnome-solanum
inkscape
libreoffice
lorem
nyxt
pdfpc
poppler-utils
typst
xournalpp
zotero
];
programs.obs-studio.enable = true;
}

View file

@ -1,10 +0,0 @@
{ config, pkgs, ... }:
{
home.packages = [ pkgs.openconnect ];
xdg.configFile."openconnect/config".text = ''
server=vpn-einwahl.uni-frankfurt.de
user=tstraube
protocol=anyconnect
'';
}

View file

@ -53,6 +53,12 @@ in
identityFile = certs.personal; identityFile = certs.personal;
}; };
"codeberg codeberg.org" = {
hostname = "codeberg.org";
user = "git";
identityFile = certs.personal;
};
# "mila" = { # "mila" = {
# hostname = "mila"; # hostname = "mila";
# user = "till"; # user = "till";

9
home/users/alt.nix Normal file
View file

@ -0,0 +1,9 @@
{ ... }:
{
home.username = "alt";
programs.git.settings.user = {
name = "Till";
email = "till@ktiu.net";
};
}

5
home/users/guest.nix Normal file
View file

@ -0,0 +1,5 @@
{ ... }:
{
home.username = "guest";
}

9
home/users/till.nix Normal file
View file

@ -0,0 +1,9 @@
{ ... }:
{
home.username = "till";
programs.git.settings.user = {
name = "Till";
email = "till@ktiu.net";
};
}

View file

@ -1,6 +1,10 @@
{ ... }: { pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [
keymapp
];
services.udev.extraRules = '' services.udev.extraRules = ''
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="wheel" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="wheel"
''; '';

View file

@ -5,6 +5,7 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
yubikey-personalization yubikey-personalization
keymapp
]; ];
services.udev = { services.udev = {