Merge branch 'main' of ktiu.net:omniflake

This commit is contained in:
Till 2024-06-26 10:27:43 +02:00
commit a7fa8028b2
21 changed files with 297 additions and 209 deletions

21
flake.lock generated
View file

@ -7,42 +7,43 @@
]
},
"locked": {
"lastModified": 1704498488,
"narHash": "sha256-yINKdShHrtjdiJhov+q0s3Y3B830ujRoSbHduUNyKag=",
"lastModified": 1718530513,
"narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "51e44a13acea71b36245e8bd8c7db53e0a3e61ee",
"rev": "a1fddf0967c33754271761d91a3d921772b30d0e",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.05",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1704420045,
"narHash": "sha256-C36QmoJd5tdQ5R9MC1jM7fBkZW9zBUqbUCsgwS6j4QU=",
"lastModified": 1719145550,
"narHash": "sha256-K0i/coxxTEl30tgt4oALaylQfxqbotTSNb1/+g+mKMQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c1be43e8e837b8dbee2b3665a007e761680f0c3d",
"rev": "e4509b3a560c87a8d4cb6f9992b8915abf9e36d8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1704710672,
"narHash": "sha256-4lkd1XPxxr00kz+DXY0il6TG0pvK5Go3xkgISX1Gnks=",
"lastModified": 1719251528,
"narHash": "sha256-5xpD5AWMFLnfCZ35N69hrxDYCbeVyi2xskyebfAU2Jw=",
"owner": "nix-community",
"repo": "nur",
"rev": "6b35830e8b50fd1c6cf096f74a76cb9c5e0793cc",
"rev": "fb5d243838c4994a7e3c48ac3a7b5a9c1cddaf21",
"type": "github"
},
"original": {

View file

@ -2,8 +2,8 @@
description = "Complete system and home config";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
home-manager.url = "github:nix-community/home-manager";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
home-manager.url = "github:nix-community/home-manager/release-24.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nur.url = "github:nix-community/nur";
};
@ -23,6 +23,7 @@
./system/btrbk.nix
./system/yubikey.nix
./system/alt.nix
./system/lisa.nix
];
};
romulus = nixpkgs.lib.nixosSystem {
@ -50,6 +51,13 @@
./home
];
};
"till@romulus" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlay;
extraSpecialArgs = { inherit inputs; };
modules = [
./home/minimal.nix
];
};
alt = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlay;
extraSpecialArgs = { inherit inputs; };

View file

@ -1,33 +0,0 @@
{ config, pkgs, ... }:
{
home.shellAliases = {
htop = "btm -b";
linkbox = "ln -s (pwd) ~/box/";
rloft = "tmux source-file ~/.config/tmux/rloft.conf";
liftbox = "rsync -vaL --delete ~/box/ tstraube@login.server.uni-frankfurt.de:box/";
ktiubox = "rsync -vaL --delete ~/box/ root@ktiu.net:/var/www/html/box/";
ymd = "date +'%Y-%m-%d'";
pulluni = "ssh tstraube@login.server.uni-frankfurt.de \"cd uni-tstraube && git pull\"";
pullstat = "ssh tstraube@login.server.uni-frankfurt.de \"cd statistik && git pull\"";
pullds = "ssh tstraube@login.server.uni-frankfurt.de \"cd ds23 && git pull\"";
pullmla = "ssh tstraube@login.server.uni-frankfurt.de \"cd malta23 && git pull\"";
pulldkg = "ssh till@geocom.uni-frankfurt.de \"cd /var/www/dkg_lp && git pull\"";
pullgrid = "ssh till@geocom.uni-frankfurt.de \"cd /var/www/grid && git pull\"";
pullsneak = "ssh till@geocom.uni-frankfurt.de \"cd /var/www/dkg_lp_prev && git pull\"";
pullkhole = "ssh root@ktiu.net \"cd /var/www/karaoke && git pull\"";
buildfk = "curl -X POST -d '{}' https://api.netlify.com/build_hooks/61669ddfeaa3cccc44e752ea";
showbox = "chromium-browser -app=https://user.uni-frankfurt.de/~tstraube/box";
showc = "chromium-browser -app=https://user.uni-frankfurt.de/~tstraube/c/";
castget = "castget -prvC ~/.config/castget/castget.conf";
castsync = "mv -v ~/.local/share/podcasts/* /run/media/till/CLIP\\ JAM/Podcasts/";
cb = "cd $(sed 's|^file://||' /home/till/.config/gtk-3.0/bookmarks | fzf --height 10% --reverse)";
univpn = "secret-tool lookup server uni-frankfurt.de account tstraube | sudo openconnect --config=/home/till/.config/openconnect/config --passwd-on-stdin";
v = "nvim";
r = "R --no-save --no-restore";
R = "R --no-save --no-restore";
cdg = "cd \$(git rev-parse --show-toplevel)";
map = "telnet mapscii.me";
weather = "curl wttr.in/frankfurt";
};
}

View file

@ -2,9 +2,7 @@
{
home.username = "alt";
home.homeDirectory = "/home/alt";
home.stateVersion = "22.11";
nixpkgs = {
config = {
allowUnfree = true;
@ -36,7 +34,7 @@
wl-clipboard
qbittorrent
vlc
mullvad-vpn
# mullvad-vpn
ffmpeg
libnotify
];
@ -45,7 +43,9 @@
./desktop
./firefox.nix
./foot.nix
./fish.nix
./tmux
./nvim
];
programs.nix-index = {
@ -66,16 +66,4 @@
};
};
};
programs.fish = {
enable = true;
shellInit = ''
set -gx EDITOR "nvim"
set -gx VISUAL "nvim"
'';
};
home.shellAliases = {
v = "nvim";
};
}

View file

@ -113,5 +113,13 @@ in
url = "http://i.cal.to/ical/5940/eintrachtfrankfurt/spielplan-frauen-profis/28ae0d30.f781380b-1763bff2.ics";
};
};
"euro" = calDefaults // {
khal.enable = true;
khal.color = "dark green";
remote = {
type = "http";
url = "https://football.bkn.dev/euro/2024/ics/?flags";
};
};
};
}

View file

@ -1,3 +1,5 @@
# vim: set ft=conf
[drei90]
url=http://feeds.feedburner.com/Drei90
id3album=drei90
@ -21,10 +23,11 @@ id3album=Wettbrötchen
[efpodcast]
url=https://www.eintracht-podcast.de/feed/mp3
[edeltalk]
url=https://cdn.julephosting.de/podcasts/573-edeltalk-mit-dominik-kevin/feed.rss
id3album=Edeltalk
# [edeltalk]
# url=https://cdn.julephosting.de/podcasts/573-edeltalk-mit-dominik-kevin/feed.rss
# id3album=Edeltalk
[*]
id3contenttype=Podcast
spool=/home/till/.local/share/podcasts

View file

@ -1,83 +1,25 @@
{ config, pkgs, inputs, lib, ... }:
{
home.username = "till";
home.homeDirectory = "/home/till";
home.stateVersion = "22.11";
nixpkgs = {
config = {
allowUnfree = true;
allowUnfreePredicate = (_: true);
};
};
programs.home-manager.enable = true;
xdg.userDirs = {
enable = true;
createDirectories = true;
download = "${config.home.homeDirectory}/tmp";
music = "${config.home.homeDirectory}/media/music";
pictures = "${config.home.homeDirectory}/media/img";
videos = "${config.home.homeDirectory}/media/vid";
documents = "${config.home.homeDirectory}/misc";
templates = "${config.xdg.dataHome}/templates";
};
services.syncthing.enable = true;
home.file.".npmrc".text = ''
prefix = ${config.xdg.dataHome}/npm/packages
'';
xdg.configFile."castget/castget.conf".source = ./castget/castget.conf;
home.packages = with pkgs; [
# commandline
fzf
jq
progress
silver-searcher
tmux
wl-clipboard
# messenger
mattermost-desktop
element-desktop
signal-desktop
tdesktop
element-desktop
whatsapp-for-linux
# email
msmtp
notmuch
# isync
w3m
openssl
gnupg
urlscan
# office
khal
khard
taskopen
okular
xournalpp
evolution
zoom-us
pdfpc
# text publishing
hunspell
hunspellDicts.de_DE
hunspellDicts.en_US
hunspellDicts.th_TH
hyphen
libreoffice
pandoc
poppler_utils
zathura
zotero
pdftk
# graphics
drawing
@ -87,89 +29,28 @@
imagemagick
ghostscript
scrcpy
# openshot-qt
# audacity
# web
chromium
mullvad-vpn
nyxt
# mullvad-vpn
# nyxt
# media
bookworm
castget
freetube
qbittorrent
mindustry
rhythmbox
vlc
yt-dlp
heroic
anki-bin
# development
bundler
bundix
nodejs
android-studio
netlify-cli
appimage-run
# secrets
libsecret
keepassxc
yubikey-manager-qt
];
imports = [
./alias.nix
./calendars.nix
./desktop
./minimal.nix
./gnome
./firefox.nix
./fish.nix
./foot.nix
./mail
./nvim
./openconnect.nix
./r.nix
./tex.nix
./tmux
];
programs.nix-index = {
enable = true;
enableFishIntegration = true;
};
programs.git = {
enable = true;
userName = "Till";
userEmail = "till@ktiu.net";
lfs = {
enable = true;
};
extraConfig = {
init = {
defaultBranch = "main";
};
};
};
programs.taskwarrior = {
enable = true;
dataLocation = "${config.xdg.dataHome}/taskwarrior/tasks";
colorTheme = "light-256";
config = {
report.list.columns = ["id" "depends.indicator" "priority" "project" "recur.indicator" "scheduled.countdown" "due" "until.age" "status.short" "description.count" "tags"];
report.list.labels= ["ID" "D" "Prio" "Proj" "R" "Scheduled" "Due" "Until" "S" "Description" "Tags"];
};
extraConfig = "
hooks.location=${config.xdg.dataHome}/taskwarrior/hooks
verbose=affected,context,edit,label,header,new-id,project,special,sync,recur
";
};
programs.bottom = {
enable = true;
settings.flags.color = "default-light";
};
programs.obs-studio.enable = true;
}
}

View file

@ -95,7 +95,37 @@
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@gs" ];
};
"Wikipedia (en)".metaData.alias = "@wiki";
"UB" = {
urls = [{ template = "https://ubffm.hds.hebis.de/Search/Results?lookfor={searchTerms}"; }];
iconUpdateURL = "https://ubffm.hds.hebis.de/themes/ubffm/images/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@ub" ];
};
"SciHub" = {
urls = [{ template = "https://libgen.is/search.php?req={searchTerms}"; }];
iconUpdateURL = "https://libgen.is/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@lg" ];
};
"Libgen" = {
urls = [{ template = "https://libgen.is/search.php?req={searchTerms}"; }];
iconUpdateURL = "https://libgen.is/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@lg" ];
};
"Urban Dictionary" = {
urls = [{ template = "https://www.urbandictionary.com/define.php?term={searchTerms}"; }];
iconUpdateURL = "https://www.urbandictionary.com/favicon-32x32.png";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@ud" ];
};
"Leo" = {
urls = [{ template = "https://dict.leo.org/englisch-deutsch/{searchTerms}"; }];
iconUpdateURL = "https://dict.leo.org/img/favicons/ende-32.png";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@leo" ];
};
"Wikipedia".metaData.alias = "@wiki";
"Bing".metaData.hidden = true;
"Amazon.de".metaData.hidden = true;
};

View file

@ -1,5 +1,35 @@
{ config, pkgs, ... }:
{
home.shellAliases = {
top = "btm --battery";
linkbox = "ln -s (pwd) ~/box/";
rloft = "tmux source-file ~/.config/tmux/rloft.conf";
liftbox = "rsync -vaL --delete ~/box/ tstraube@login.server.uni-frankfurt.de:box/";
ktiubox = "rsync -vaL --delete ~/box/ root@ktiu.net:/var/www/html/box/";
ymd = "date +'%Y-%m-%d'";
pulluni = "ssh tstraube@login.server.uni-frankfurt.de \"cd uni-tstraube && git pull\"";
pullstat = "ssh tstraube@login.server.uni-frankfurt.de \"cd stat24 && git pull\"";
pullds = "ssh tstraube@login.server.uni-frankfurt.de \"cd ds23 && git pull\"";
pullmla = "ssh tstraube@login.server.uni-frankfurt.de \"cd malta23 && git pull\"";
pulldkg = "ssh till@geocom.uni-frankfurt.de \"cd /var/www/dkg_lp && git pull\"";
pullgrid = "ssh till@geocom.uni-frankfurt.de \"cd /var/www/grid && git pull\"";
pullsneak = "ssh till@geocom.uni-frankfurt.de \"cd /var/www/dkg_lp_prev && git pull\"";
pullkhole = "ssh root@ktiu.net \"cd /var/www/karaoke && git pull\"";
buildfk = "curl -X POST -d '{}' https://api.netlify.com/build_hooks/65dc8705b91d7cbaf0a1e1b5";
showbox = "chromium-browser -app=https://user.uni-frankfurt.de/~tstraube/box";
showc = "chromium-browser -app=https://user.uni-frankfurt.de/~tstraube/c/";
castget = "castget -prvC ~/.config/castget/castget.conf";
castsync = "rsync -va --remove-source-files --progress --stats ~/.local/share/podcasts/ /run/media/till/CLIP\\ JAM/Podcasts/";
musicsync = "rsync -va --progress --stats ~/media/music/sync/ /run/media/till/CLIP\\ JAM/Music/";
cb = "cd $(sed 's|^file://||' /home/till/.config/gtk-3.0/bookmarks | fzf --height 10% --reverse)";
univpn = "secret-tool lookup server uni-frankfurt.de account tstraube | sudo openconnect --config=/home/till/.config/openconnect/config --passwd-on-stdin";
v = "nvim";
r = "R --no-save --no-restore";
R = "R --no-save --no-restore";
cdg = "cd \$(git rev-parse --show-toplevel)";
map = "telnet mapscii.me";
weather = "curl wttr.in/frankfurt";
};
programs.fish = {
enable = true;
interactiveShellInit = "fish_add_path ${config.xdg.dataHome}/npm/packages/bin";
@ -13,8 +43,9 @@
function fish_greeting; end
function pod --description 'Full service podcast refresh'
udisksctl mount -b /dev/disk/by-label/CLIP\\x20JAM
castget
udisksctl mount -b /dev/disk/by-label/CLIP\\x20JAM
musicsync
castsync
udisksctl unmount -b /dev/disk/by-label/CLIP\\x20JAM
end
@ -29,7 +60,11 @@
end
function note --description 'Create a new note'
if count $argv > /dev/null
nvim -c "call CreateNote('$argv')"
else
nvim ~/notes/(ls ~/notes/ | fzf)
end
end
function lipsum --description 'Create placeholder text'

View file

@ -33,6 +33,9 @@
magnifier-zoom-out = [];
help = [];
};
"org/gnome/shell/keybindings" = {
toggle-quick-settings = ["<Super>comma"];
};
"org/gnome/desktop/wm/keybindings" = {
move-to-monitor-down = [];
move-to-monitor-left = [];

147
home/minimal.nix Normal file
View file

@ -0,0 +1,147 @@
{ config, pkgs, inputs, lib, ... }:
{
home.username = "till";
home.homeDirectory = "/home/till";
home.stateVersion = "22.11";
nixpkgs = {
config = {
allowUnfree = true;
allowUnfreePredicate = (_: true);
};
};
programs.home-manager.enable = true;
xdg.userDirs = {
enable = true;
createDirectories = true;
download = "${config.home.homeDirectory}/tmp";
music = "${config.home.homeDirectory}/media/music";
pictures = "${config.home.homeDirectory}/media/img";
videos = "${config.home.homeDirectory}/media/vid";
documents = "${config.home.homeDirectory}/misc";
templates = "${config.xdg.dataHome}/templates";
};
home.file.".npmrc".text = ''
prefix = ${config.xdg.dataHome}/npm/packages
'';
xdg.configFile."castget/castget.conf".source = ./castget/castget.conf;
home.packages = with pkgs; [
# commandline
fzf
jq
progress
silver-searcher
tmux
wl-clipboard
tldr
du-dust
# email
msmtp
notmuch
w3m
openssl
gnupg
urlscan
ripmime
# office
khal
khard
taskopen
zathura
# publishing
hunspell
hunspellDicts.de_DE
hunspellDicts.en_US
hunspellDicts.th_TH
hyphen
pandoc
imagemagick
ghostscript
# web
nyxt
# media
castget
freetube
qbittorrent
rhythmbox
vlc
yt-dlp
# development
bundler
bundix
nodejs
android-studio
netlify-cli
appimage-run
# secrets
libsecret
keepassxc
yubikey-manager-qt
];
imports = [
./calendars.nix
./fish.nix
./foot.nix
./tmux
./mail
./nvim
./openconnect.nix
./r.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";
};
};
};
programs.taskwarrior = {
enable = true;
dataLocation = "${config.xdg.dataHome}/taskwarrior/tasks";
colorTheme = "light-256";
config = {
report.list.columns = ["id" "depends.indicator" "priority" "project" "recur.indicator" "scheduled.countdown" "due" "until.age" "status.short" "description.count" "tags"];
report.list.labels= ["ID" "D" "Prio" "Proj" "R" "Scheduled" "Due" "Until" "S" "Description" "Tags"];
};
extraConfig = "
hooks.location=${config.xdg.dataHome}/taskwarrior/hooks
verbose=affected,context,edit,label,header,new-id,project,special,sync,recur
";
};
programs.bottom = {
enable = true;
settings.flags.color = "default-light";
};
services.syncthing.enable = true;
}

View file

@ -12,7 +12,7 @@
src = builtins.fetchGit {
url = "ssh://git@ktiu.net/home/git/woof.vim/";
ref = "main";
rev = "2857f151fba9dc77842a8bae23005a47f1e0ac51";
rev = "f960c022594940a01cdbd3e025294d498bc28448";
};
};
in [
@ -87,14 +87,18 @@
}
typescript-vim
{
plugin = ultisnips;
config = ''
nnoremap <leader>se :UltiSnipsEdit!<return>
'';
}
{
plugin = vim-astro;
config = ''
let g:astro_typescript = 'enable'
'';
}
vim-commentary
{
plugin = vim-easy-align;

View file

@ -7,8 +7,8 @@ lua <<EOF
end,
},
window = {
documentation = cmp.config.window.bordered(),
completion = cmp.config.window.bordered(),
-- documentation = cmp.config.window.bordered(),
-- completion = cmp.config.window.bordered(),
},
mapping = {
['<C-p>'] = cmp.mapping.select_prev_item(),

View file

@ -20,7 +20,7 @@
src = builtins.fetchGit {
url = "ssh://git@ktiu.net/home/git/publishR/";
ref = "main";
rev = "bbf9b785c2a71996afa8ddbb96d00cf76ce18f07";
rev = "ee137a66ca3b713205ac44e5165292e7ad6388b6";
};
propagatedBuildInputs = [];
nativeBuildInputs = [];
@ -30,7 +30,7 @@
src = builtins.fetchGit {
url = "ssh://git@ktiu.net/home/git/goethR/";
ref = "main";
rev = "e953fdb9814c02858017e623519c0a4c59ff583d";
rev = "a3a0363d1fbdf6be19e3597d9484615cd2c47cc0";
};
propagatedBuildInputs = [];
nativeBuildInputs = [];

View file

@ -16,6 +16,7 @@ let
framed
gensymb
graphbox
hanging
idxlayout
ifmtarg
imakeidx

View file

@ -5,7 +5,7 @@
home = "/home/alt";
isSystemUser = true;
group = "users";
description = "Backup profile";
description = "Alt";
extraGroups = [
"networkmanager"
];

View file

@ -2,7 +2,6 @@
{
services.btrbk = {
extraPackages = [ pkgs.mbuffer ];
instances.btrbk = {
onCalendar = "hourly";
settings = {

View file

@ -24,6 +24,8 @@
allowedTCPPorts = [ 4000 ];
};
services.opensnitch.enable = true;
time.timeZone = "Europe/Berlin";
i18n.extraLocaleSettings = {
LC_TIME = "en_GB.UTF-8";
@ -59,7 +61,7 @@
programs.gnupg.agent = {
enable = true;
pinentryFlavor = "curses";
pinentryPackage = pkgs.pinentry-curses;
# enableSSHSupport = true;
};
@ -92,6 +94,7 @@
openssh.enable = true;
printing.enable = true;
mullvad-vpn.enable = true;
mullvad-vpn.package = pkgs.mullvad-vpn;
};
virtualisation.libvirtd.enable = true;

View file

@ -16,7 +16,6 @@
environment.systemPackages = with pkgs.gnome; [
gnome-sound-recorder
gnome-tweaks
gedit
gnome-boxes
];
}

11
system/lisa.nix Normal file
View file

@ -0,0 +1,11 @@
{ config, pkgs, ... }:
{
users.users.lisa = {
isNormalUser = true;
description = "Lisa";
extraGroups = [
"networkmanager"
];
};
}