Merge remote-tracking branch 'refs/remotes/origin/main'

This commit is contained in:
Till 2025-04-15 15:04:24 +02:00
commit 21b3a32d90
24 changed files with 187 additions and 56 deletions

24
flake.lock generated
View file

@ -28,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734366194, "lastModified": 1742234739,
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", "narHash": "sha256-zFL6zsf/5OztR1NSNQF33dvS1fL/BzVUjabZq4qrtY4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", "rev": "f6af7280a3390e65c2ad8fd059cdc303426cbd59",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -44,11 +44,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1734323986, "lastModified": 1742268799,
"narHash": "sha256-m/lh6hYMIWDYHCAsn81CDAiXoT3gmxXI9J987W5tZrE=", "narHash": "sha256-IhnK4LhkBlf14/F8THvUy3xi/TxSQkp9hikfDZRD4Ic=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "394571358ce82dff7411395829aa6a3aad45b907", "rev": "da044451c6a70518db5b730fe277b70f494188f1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -60,11 +60,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1734424634, "lastModified": 1742288794,
"narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", "narHash": "sha256-Txwa5uO+qpQXrNG4eumPSD+hHzzYi/CdaM80M9XRLCo=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", "rev": "b6eaf97c6960d97350c584de1b6dcff03c9daf42",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -81,11 +81,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1734616194, "lastModified": 1742392354,
"narHash": "sha256-J90ItNNG+V2tneyHGHDCTb/WBxrpobxl+SsiQGVxOAI=", "narHash": "sha256-zWsw/tQ45G92yoG+ievU9nVUa3e807nQ6YpsdxcoOYM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "89621e43228d2941138a4d54a24924cd70d12bfe", "rev": "339f1d2fd68fc1e33ece1f94ee2ab4b4badecbf7",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -22,10 +22,12 @@
./system/desktop.nix ./system/desktop.nix
./system/hardware/nova.nix ./system/hardware/nova.nix
./system/gnome.nix ./system/gnome.nix
./system/sway.nix
./system/steam.nix ./system/steam.nix
./system/btrbk.nix ./system/btrbk.nix
./system/yubikey.nix ./system/yubikey.nix
./system/alt.nix ./system/alt.nix
./system/guest.nix
]; ];
}; };
@ -110,6 +112,13 @@
./home/alt.nix ./home/alt.nix
]; ];
}; };
guest = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; };
modules = [
./home/guest.nix
];
};
}; };
}; };
} }

View file

@ -6,9 +6,22 @@ id3album=drei90
[50plus2] [50plus2]
url=https://50plus2.podigee.io/feed/mp3 url=https://50plus2.podigee.io/feed/mp3
id3album=50+2
[latenightlinux] [latenightlinux]
url=https://latenightlinux.com/feed/all url=https://latenightlinux.com/feed/mp3
[linuxdevtime]
url=https://latenightlinux.com/feed/extra
[linuxafterdark]
url=https://linuxafterdark.net/feed/podcast
[linuxmatters]
url=https://linuxmatters.sh/episode/index.xml
[2.5admins]
url=https://2.5admins.com/feed/podcast
[schlusskonferenz] [schlusskonferenz]
url=https://schlusskonferenz.podigee.io/feed/mp3 url=https://schlusskonferenz.podigee.io/feed/mp3
@ -27,9 +40,9 @@ url=https://www.eintracht-podcast.de/feed/mp3
# url=https://cdn.julephosting.de/podcasts/573-edeltalk-mit-dominik-kevin/feed.rss # url=https://cdn.julephosting.de/podcasts/573-edeltalk-mit-dominik-kevin/feed.rss
# id3album=Edeltalk # id3album=Edeltalk
[musikisteinewaffe] [logbuchnetzpolitik]
url=https://www.radioeins.de/archiv/podcast/ton_steine_scherben.xml/feed=podcast.xml url=https://feeds.metaebene.me/lnp/mp3
id3album=Musik ist eine Waffe id3album=Logbuch Netzpolitik
[*] [*]
id3contenttype=Podcast id3contenttype=Podcast

View file

@ -15,6 +15,7 @@
# text publishing # text publishing
libreoffice libreoffice
jdk
poppler_utils poppler_utils
zotero zotero
@ -43,10 +44,13 @@
./slim-desktop.nix ./slim-desktop.nix
./gnome ./gnome
./firefox.nix ./firefox.nix
./librewolf.nix
./tex.nix ./tex.nix
./fonts.nix ./fonts.nix
]; ];
programs.obs-studio.enable = true; programs.obs-studio.enable = true;
programs.kitty.enable = true;
} }

View file

@ -143,7 +143,7 @@
user_pref("intl.regional_prefs.use_os_locales", true); user_pref("intl.regional_prefs.use_os_locales", true);
user_pref("media.eme.enabled", true); user_pref("media.eme.enabled", true);
user_pref("network.trr.custom_uri", "https://dns.quad9.net/dns-query "); user_pref("network.trr.custom_uri", "https://dns.quad9.net/dns-query ");
user_pref("network.trr.mode", 3); user_pref("network.trr.mode", 2);
user_pref("network.trr.uri", "https://dns.quad9.net/dns-query"); user_pref("network.trr.uri", "https://dns.quad9.net/dns-query");
user_pref("permissions.default.desktop-notification", 2); user_pref("permissions.default.desktop-notification", 2);
user_pref("privacy.annotate_channels.strict_list.enabled", true); user_pref("privacy.annotate_channels.strict_list.enabled", true);

View file

@ -4,6 +4,7 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
anonymousPro anonymousPro
cantarell-fonts cantarell-fonts
cascadia-code
charis-sil charis-sil
cm_unicode cm_unicode
corefonts corefonts
@ -11,6 +12,7 @@
dotcolon-fonts dotcolon-fonts
freefont_ttf freefont_ttf
gyre-fonts gyre-fonts
hack-font
hubot-sans hubot-sans
liberation_ttf liberation_ttf
libertine libertine

View file

@ -23,6 +23,9 @@
"org/gnome/mutter" = { "org/gnome/mutter" = {
dynamic-workspaces = true; dynamic-workspaces = true;
}; };
"org/gnome/mutter/keybindings" = {
switch-monitor = [];
};
"org/gnome/desktop/session" = { "org/gnome/desktop/session" = {
idle-delay = 0; idle-delay = 0;
}; };
@ -31,13 +34,16 @@
}; };
"org/gnome/settings-daemon/plugins/media-keys" = { "org/gnome/settings-daemon/plugins/media-keys" = {
screenreader = []; screenreader = [];
magnifier = []; magnifier = ["<Super>z"];
magnifier-zoom-in = []; magnifier-zoom-in = [];
magnifier-zoom-out = []; magnifier-zoom-out = [];
help = []; help = [];
logout = ["<Super>q"];
}; };
"org/gnome/shell/keybindings" = { "org/gnome/shell/keybindings" = {
toggle-quick-settings = ["<Super>comma"]; toggle-quick-settings = ["<Super>comma"];
toggle-message-tray = ["<Super>n"];
toggle-overview = ["<Super>a"];
}; };
"org/gnome/desktop/wm/keybindings" = { "org/gnome/desktop/wm/keybindings" = {
move-to-monitor-down = []; move-to-monitor-down = [];
@ -84,6 +90,8 @@
switch-to-application-2 = []; switch-to-application-2 = [];
switch-to-application-3 = []; switch-to-application-3 = [];
switch-to-application-4 = []; switch-to-application-4 = [];
toggle-fullscreen = ["<Shift><Super>f"];
begin-resize = ["<Super>r"];
}; };
}; };
xdg.configFile."run-or-raise/shortcuts.conf".source = ./run-or-raise.conf; xdg.configFile."run-or-raise/shortcuts.conf".source = ./run-or-raise.conf;

View file

@ -14,12 +14,10 @@
# #
# This line cycles any open gnome-terminal (matched by wm_class = Gnome-terminal on Ubuntu 17.10) OR if not found, launches new one. # This line cycles any open gnome-terminal (matched by wm_class = Gnome-terminal on Ubuntu 17.10) OR if not found, launches new one.
# If you're using Arch, you may want to match by wm_class = gnome-terminal-server , just check yourself by Alt+F2/lg/Windows # If you're using Arch, you may want to match by wm_class = gnome-terminal-server , just check yourself by Alt+F2/lg/Windows
<Super>t,gnome-terminal,gnome-terminal-server, <Super>b,firefox,,
<Super>n,nautilus,, <Super>f,nautilus,,
<Super>f,firefox,,
<Super>return,foot,, <Super>return,foot,,
<Super>x,keepassxc,,, <Super>p,keepassxc,,,
<Super>q,qutebrowser,,
# You may use regular expression in title or wm_class. # You may use regular expression in title or wm_class.
# Just put the regular expression between slashes. # Just put the regular expression between slashes.

55
home/guest.nix Normal file
View file

@ -0,0 +1,55 @@
{ config, pkgs, inputs, lib, ... }:
{
home.username = "guest";
home.homeDirectory = "/home/guest";
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.packages = with pkgs; [
fzf
silver-searcher
tmux
nodejs
wl-clipboard
qbittorrent
vlc
# mullvad-vpn
ffmpeg
libnotify
];
imports = [
./gnome
./firefox.nix
./foot.nix
./fish.nix
./tmux
./nvim
];
programs.nix-index = {
enable = true;
enableFishIntegration = true;
};
}

5
home/librewolf.nix Normal file
View file

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

View file

@ -35,7 +35,7 @@
passwordCommand = "secret-tool lookup server uni-frankfurt.de account tstraube"; passwordCommand = "secret-tool lookup server uni-frankfurt.de account tstraube";
signature = { signature = {
text = '' text = ''
Dr. Till Straube (he, him, his) Dr. Till Straube (he/him)
Dept. of Human Geography Dept. of Human Geography
Goethe University Frankfurt Goethe University Frankfurt
''; '';
@ -88,7 +88,7 @@
notmuch.enable = true; notmuch.enable = true;
userName = "till"; userName = "till";
signature.text = '' signature.text = ''
Till Straube (he, him, his) Till Straube (he/him)
PGP: https://keys.openpgp.org/search?q=till@ktiu.net PGP: https://keys.openpgp.org/search?q=till@ktiu.net
''; '';
signature.showSignature = "append"; signature.showSignature = "append";

View file

@ -64,6 +64,6 @@
programs.bottom = { programs.bottom = {
enable = true; enable = true;
settings.flags.color = "default-light"; settings.styles.theme = "default-light";
}; };
} }

View file

@ -5,7 +5,6 @@ setlocal breakat-=@
setlocal makeprg=Rscript\ -e\ 'publishR::render(\\"%\\")' setlocal makeprg=Rscript\ -e\ 'publishR::render(\\"%\\")'
" nnoremap <localleader>oh :! xdg-open %:r.html<cr>
nnoremap <localleader>oh :! xdg-open %:r.html<cr> nnoremap <localleader>oh :! xdg-open %:r.html<cr>
nnoremap <localleader>op :! xdg-open %:r.pdf<cr> nnoremap <localleader>op :! xdg-open %:r.pdf<cr>
nnoremap <localleader>ow :! xdg-open %:r.docx<cr> nnoremap <localleader>ow :! xdg-open %:r.docx<cr>

View file

@ -34,27 +34,6 @@
propagatedBuildInputs = []; propagatedBuildInputs = [];
nativeBuildInputs = []; nativeBuildInputs = [];
}; };
readODS = pkgs.rPackages.buildRPackage {
name = "readODS";
src = pkgs.fetchFromGitHub {
owner = "ropensci";
repo = "readODS";
rev = "011a89f57169d6f7c8796954e2365f0bd9b5765f";
sha256 = "1hg8w46l5ifbaifmkmxxdvbamlj7bkadq956fab5063a5yrxfzwm";
};
propagatedBuildInputs = [xml2 cellranger readr stringi purrr zip];
nativeBuildInputs = [];
};
# readODS = pkgs.rPackages.buildRPackage {
# name = "readODS";
# src = builtins.fetchGit {
# url = "https://git@github.com/ktiu/readODS/";
# ref = "v1.8";
# rev = "d7e9c54a3a193979ea4195ac36938aa55cd5360f";
# };
# propagatedBuildInputs = [xml2 cellranger readr stringi purrr zip];
# nativeBuildInputs = [];
# };
in [ in [
bookdown bookdown
catmaply catmaply
@ -71,6 +50,7 @@
languageserver languageserver
magrittr magrittr
mapproj mapproj
networkD3
openxlsx openxlsx
plotly plotly
progress progress
@ -88,6 +68,7 @@
rvest rvest
sf sf
stringr stringr
swirl
testthat testthat
tidyr tidyr
tidyverse tidyverse
@ -96,7 +77,7 @@
yaml yaml
lectuR lectuR
publishR publishR
goethR # goethR
ggtree ggtree
]; ];
R-packed = rWrapper.override { packages = customPackages; }; R-packed = rWrapper.override { packages = customPackages; };

View file

@ -40,6 +40,8 @@
hunspellDicts.en_US hunspellDicts.en_US
hunspellDicts.th_TH hunspellDicts.th_TH
hyphen hyphen
hyphenDicts.de_DE
hyphenDicts.en_US
pandoc pandoc
imagemagick imagemagick
ghostscript ghostscript

View file

@ -32,6 +32,7 @@ let
nowidow nowidow
pdfcol pdfcol
pdfpages pdfpages
pdfx
pgf pgf
qrcode qrcode
scheme-medium scheme-medium
@ -51,6 +52,7 @@ let
transparent transparent
was was
wrapfig wrapfig
xmpincl
xpatch xpatch
xstring xstring
xtab xtab

View file

@ -11,7 +11,4 @@
]; ];
shell = pkgs.fish; shell = pkgs.fish;
}; };
services.xserver.displayManager.gdm.settings = {
greeter.Exclude = "bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,nobody4,noaccess,postgres,pvm,rpm,nfsnobody,pcap,alt";
};
} }

View file

@ -10,7 +10,7 @@
snapshot_preserve_min = "4d"; snapshot_preserve_min = "4d";
snapshot_dir = "/btrbk_snapshots"; snapshot_dir = "/btrbk_snapshots";
target = "/run/media/till/backup/${config.networking.hostName}"; target = "/run/media/till/backup/${config.networking.hostName}";
target_preserve_min = "latest"; target_preserve_min = "no";
target_preserve = "10d 10w 24m"; target_preserve = "10d 10w 24m";
}; };
}; };

View file

@ -12,6 +12,8 @@
programs.fish.enable = true; programs.fish.enable = true;
users.mutableUsers = true;
users.users.till = { users.users.till = {
isNormalUser = true; isNormalUser = true;
description = "Till"; description = "Till";

View file

@ -2,7 +2,10 @@
{ {
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager = {
gdm.enable = true;
};
services.xserver.desktopManager.gnome.enable = true; services.xserver.desktopManager.gnome.enable = true;
services.gnome.gnome-browser-connector.enable = true; services.gnome.gnome-browser-connector.enable = true;
environment.gnome.excludePackages = (with pkgs; [ environment.gnome.excludePackages = (with pkgs; [

14
system/guest.nix Normal file
View file

@ -0,0 +1,14 @@
{ config, pkgs, ... }:
{
users.users.guest = {
home = "/home/guest";
isNormalUser = true;
group = "users";
description = "Guest";
extraGroups = [
"networkmanager"
];
shell = pkgs.fish;
};
}

17
system/hyprland.nix Normal file
View file

@ -0,0 +1,17 @@
{ config, pkgs, ... }:
{
programs.uwsm.enable = true;
programs.hyprland = {
enable = true;
withUWSM = true;
};
programs.waybar.enable = true;
environment.systemPackages = with pkgs; [
swaynotificationcenter
tofi
];
}

20
system/sway.nix Normal file
View file

@ -0,0 +1,20 @@
{ config, pkgs, ... }:
{
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};
programs.waybar.enable = true;
services.gnome.gnome-keyring.enable = true;
environment.systemPackages = with pkgs; [
grim
slurp
wl-clipboard
swaynotificationcenter
tofi
];
}