Initial commit

This commit is contained in:
JuliusFreudenberger 2025-01-14 01:29:24 +01:00
commit b0a95003b7
57 changed files with 1561 additions and 0 deletions

View file

@ -0,0 +1,12 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
remmina
teleport_16
];
}

12
modules/android.nix Normal file
View file

@ -0,0 +1,12 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
android-studio-full
android-tools
android-udev
];
}

11
modules/bluetooth.nix Normal file
View file

@ -0,0 +1,11 @@
{
pkgs,
lib,
...
}: {
hardware.bluetooth.enable = true;
services.blueman.enable = true;
}

32
modules/boot-login.nix Normal file
View file

@ -0,0 +1,32 @@
{
pkgs,
...
}: {
boot = {
initrd.systemd.enable = true;
kernelParams = ["quiet"];
plymouth = {
enable = true;
theme = "bgrt";
};
};
services = {
xserver.displayManager = {
lightdm = {
enable = true;
greeters.gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
};
iconTheme = {
name = "Arc";
package = pkgs.arc-icon-theme;
};
};
};
};
};
}

View file

@ -0,0 +1,23 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
wget
curl
git
neofetch
bat
tealdeer
pdfgrep
pdftk
p7zip
];
programs = {
htop.enable = true;
zsh.enable = true;
};
}

12
modules/connectivity.nix Normal file
View file

@ -0,0 +1,12 @@
{
pkgs,
lib,
...
}: {
programs.kdeconnect = {
enable = true;
package = pkgs.valent;
};
}

19
modules/creativity.nix Normal file
View file

@ -0,0 +1,19 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
#gimp-with-plugins
inkscape-with-extensions
darktable
hugin
audacity
handbrake
musescore
obs-studio
xcolor
];
}

View file

@ -0,0 +1,30 @@
{
pkgs,
lib,
...
}: let
nemo-with-nextcloud-extensions = pkgs.nemo-with-extensions.override { extensions = [pkgs.nextcloud-client];};
in {
environment.systemPackages = with pkgs; [
sakura
alacritty
evince
zathura
viewnior
pavucontrol
xed-editor
mate.mate-calc
xarchiver
mate.engrampa
nemo-with-nextcloud-extensions
];
programs = {
nm-applet.enable = true;
dconf.enable = true;
};
}

11
modules/distrobox.nix Normal file
View file

@ -0,0 +1,11 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
distrobox
];
}

11
modules/docker.nix Normal file
View file

@ -0,0 +1,11 @@
{
pkgs,
lib,
...
}: {
virtualisation.docker = {
enable = true;
};
}

9
modules/fingerprint.nix Normal file
View file

@ -0,0 +1,9 @@
{
pkgs,
lib,
...
}: {
services.fprintd = {
enable = true;
};
}

12
modules/firmware.nix Normal file
View file

@ -0,0 +1,12 @@
{
pkgs,
lib,
...
}: {
services = {
fwupd.enable = true;
fstrim.enable = true;
};
}

22
modules/flatpak.nix Normal file
View file

@ -0,0 +1,22 @@
{
pkgs,
lib,
...
}: {
services = {
flatpak.enable = true;
};
xdg.portal = {
enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gtk];
config = {
common = {
default = ["gtk"];
};
};
xdgOpenUsePortal = true;
};
}

13
modules/fonts.nix Normal file
View file

@ -0,0 +1,13 @@
{
pkgs,
lib,
...
}: {
fonts.packages = with pkgs; [
noto-fonts
font-awesome
terminus_font
dlrg-fonts
];
}

14
modules/gaming.nix Normal file
View file

@ -0,0 +1,14 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
];
programs = {
steam.enable = true;
};
}

17
modules/gui-coding.nix Normal file
View file

@ -0,0 +1,17 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
jetbrains.idea-ultimate
jetbrains.pycharm-professional
jetbrains.phpstorm
vscodium-fhs
zed-editor.fhs
k6
];
}

58
modules/i3.nix Normal file
View file

@ -0,0 +1,58 @@
{pkgs, ...}: {
# i3 related options
environment.pathsToLink = ["/libexec"]; # links /libexec from derivations to /run/current-system/sw
services.displayManager.defaultSession = "none+i3";
services.xserver = {
enable = true;
desktopManager = {
xterm.enable = false;
};
windowManager.i3 = {
enable = true;
extraPackages = with pkgs; [
rofi # application launcher, the same as dmenu
dunst # notification daemon
i3blocks # status bar
lightlocker
xautolock # lock screen after some time
i3status # provide information to i3bar
i3-gaps # i3 with gaps
nitrogen # set wallpaper
acpi # battery information
arandr # screen layout manager
alsa-utils
dex # autostart applications
xbindkeys # bind keys to commands
xclip
xorg.xbacklight # control screen brightness
brightnessctl
numlockx
xorg.xdpyinfo # get screen information
sysstat # get system information
scrot
i3-scrot
rofirefox
rofi-rbw
rbw
pinentry-gnome3
xdotool
playerctl
];
};
# Configure keymap in X11
xkb.layout = "eu";
xkb.variant = "";
};
services = {
libinput.touchpad.naturalScrolling = true;
gvfs.enable = true; # Mount, trash, and other functionalities
udisks2.enable = true;
autorandr.enable = true;
redshift.enable = true;
};
}

28
modules/internet.nix Normal file
View file

@ -0,0 +1,28 @@
{
pkgs,
pkgs-unstable,
lib,
...
}: {
environment.systemPackages = with pkgs; [
transmission_4
filezilla
pkgs-unstable.element-desktop
];
programs = {
firefox.enable = true;
thunderbird = {
enable = true;
package = pkgs.thunderbird-latest;
};
};
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
}

21
modules/laptop.nix Normal file
View file

@ -0,0 +1,21 @@
{
pkgs,
lib,
...
}: {
boot.kernelPackages = pkgs.linuxKernel.packages.linux_zen;
services.logind = {
lidSwitch = "suspend-then-hibernate";
lidSwitchDocked = "suspend-then-hibernate";
powerKey = "ignore";
};
programs.auto-cpufreq.enable = true;
services.tlp.enable = false;
services.thermald.enable = true;
virtualisation.docker.enableOnBoot = false;
}

12
modules/locale.nix Normal file
View file

@ -0,0 +1,12 @@
{
pkgs,
lib,
...
}: {
# Set your time zone.
time.timeZone = "Europe/Berlin";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
}

12
modules/logitech.nix Normal file
View file

@ -0,0 +1,12 @@
{
pkgs,
lib,
...
}: {
hardware.logitech.wireless = {
enable = true;
enableGraphical = true;
};
}

31
modules/network.nix Normal file
View file

@ -0,0 +1,31 @@
{
pkgs,
lib,
...
}: {
networking = {
networkmanager = {
enable = true;
wifi.powersave = true;
# logLevel = "INFO";
};
wireguard.enable = true;
firewall = {
# if packets are still dropped, they will show up in dmesg
logReversePathDrops = true;
# wireguard trips rpfilter up
extraCommands = ''
iptables -t mangle -I nixos-fw-rpfilter -p udp -m udp --sport 1194 -j RETURN
ip6tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --sport 1194 -j RETURN
iptables -t mangle -I nixos-fw-rpfilter -p udp -m udp --dport 1194 -j RETURN
ip6tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --dport 1194 -j RETURN
'';
extraStopCommands = ''
iptables -t mangle -D nixos-fw-rpfilter -p udp -m udp --sport 1194 -j RETURN || true
ip6tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --sport 1194 -j RETURN || true
iptables -t mangle -D nixos-fw-rpfilter -p udp -m udp --dport 1194 -j RETURN || true
ip6tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --dport 1194 -j RETURN || true
'';
};
};
}

22
modules/nix.nix Normal file
View file

@ -0,0 +1,22 @@
{
pkgs,
lib,
...
}: {
# do garbage collection weekly to keep disk usage low
nix = {
settings = {
experimental-features = ["nix-command" "flakes"];
};
gc = {
automatic = lib.mkDefault true;
dates = lib.mkDefault "weekly";
options = lib.mkDefault "--delete-older-than 7d";
};
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
}

28
modules/office.nix Normal file
View file

@ -0,0 +1,28 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
libreoffice-fresh
xournalpp
system-config-printer
simple-scan
#naps2
baobab
];
services.printing = {
enable = true;
drivers = with pkgs; [
gutenprint
#epson-escpr
epson-escpr2
];
};
}

12
modules/optical-media.nix Normal file
View file

@ -0,0 +1,12 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
brasero
makemkv
usbimager
];
}

28
modules/security.nix Normal file
View file

@ -0,0 +1,28 @@
{
pkgs,
pkgs-unstable,
lib,
...
}: {
environment.systemPackages = with pkgs; [
pkgs-unstable.cryptomator
keepassxc
];
services.gnome.gnome-keyring.enable = true;
programs = {
seahorse.enable = true;
ausweisapp = {
enable = true;
openFirewall = true;
};
};
security = {
polkit.enable = true;
soteria.enable = true;
};
}

11
modules/sync-clients.nix Normal file
View file

@ -0,0 +1,11 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
nextcloud-client
pcloud
];
}

23
modules/system.nix Normal file
View file

@ -0,0 +1,23 @@
{
pkgs,
lib,
username,
...
}: {
# do garbage collection weekly to keep disk usage low
nix = {
settings = {
experimental-features = ["nix-command" "flakes"];
};
gc = {
automatic = lib.mkDefault true;
dates = lib.mkDefault "weekly";
options = lib.mkDefault "--delete-older-than 7d";
};
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
}

18
modules/typesetting.nix Normal file
View file

@ -0,0 +1,18 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
typst
typst-lsp
typstfmt
texliveFull
pandoc
zotero
];
}

View file

@ -0,0 +1,22 @@
{
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
#shotcut
];
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
programs = {
droidcam.enable = true;
};
}