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 = {
till = {
imports = [ ./home ];
imports = [
./home/desktop-full.nix
./home/users/till.nix
];
};
alt = { imports = [ ./home/alt.nix ]; };
guest = { imports = [ ./home/guest.nix ]; };
alt = {
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 = [
./minimal.nix
./calendars.nix
./cli-office
./devel.nix
./firefox.nix
./fonts.nix
./foot.nix
./mail
./gnome
./media.nix
./user-dirs.nix
];
home.packages = with pkgs; [
aichat
anki-bin
appimage-run
drawing
feh
keepassxc
libnotify
usbutils
vlc
wl-clipboard
yubioath-flutter
zathura

View file

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

View file

@ -8,7 +8,7 @@
services.gpg-agent = {
enable = true;
# pinentry.package = pkgs.pinentry-gnome3;
pinentry.package = pkgs.pinentry-gnome3;
pinentry.program = "pinentry-gnome3";
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";
msmtp = {
enable = true;
extraConfig.from = "*@t9e.me";
extraConfig.from = "*@(ktiu.net|t9e.me)";
};
passwordCommand = "pass mail/arielle.ktiu.net";
};
@ -177,8 +177,8 @@
mbsync.enable = true;
mbsync.create = "maildir";
msmtp = {
enable = true;
extraConfig.from = "*@ktiu.net";
enable = false;
# extraConfig.from = "*@ktiu.net";
};
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;
home.homeDirectory = "/home/${config.home.username}";
home.packages = with pkgs; [
dust
fastfetch
fzf
jq
nix-search
progress
rename
silver-searcher
@ -32,18 +36,10 @@
programs.git = {
enable = true;
settings = {
user.name = "Till";
user.email = "till@ktiu.net";
pull.rebase = true;
extraConfig = {
init = {
defaultBranch = "main";
};
};
};
lfs = {
enable = true;
extraConfig.init.defaultBranch = "main";
};
lfs.enable = true;
};
programs.bottom = {

View file

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

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 = [
./khard-dump.nix
./tasks.nix
./calendars.nix
];
home.packages = with pkgs; [
bat
castget
ghostscript
glow
hunspell
hunspellDicts.de_DE
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;
};
"codeberg codeberg.org" = {
hostname = "codeberg.org";
user = "git";
identityFile = certs.personal;
};
# "mila" = {
# hostname = "mila";
# 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 = ''
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="wheel"
'';

View file

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