Initial commit
This commit is contained in:
commit
b0a95003b7
57 changed files with 1561 additions and 0 deletions
12
modules/administration.nix
Normal file
12
modules/administration.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
remmina
|
||||
|
||||
teleport_16
|
||||
];
|
||||
|
||||
}
|
12
modules/android.nix
Normal file
12
modules/android.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
android-studio-full
|
||||
android-tools
|
||||
android-udev
|
||||
];
|
||||
|
||||
}
|
11
modules/bluetooth.nix
Normal file
11
modules/bluetooth.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
|
||||
services.blueman.enable = true;
|
||||
|
||||
}
|
32
modules/boot-login.nix
Normal file
32
modules/boot-login.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
23
modules/cli-essentials.nix
Normal file
23
modules/cli-essentials.nix
Normal 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
12
modules/connectivity.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
|
||||
programs.kdeconnect = {
|
||||
enable = true;
|
||||
package = pkgs.valent;
|
||||
};
|
||||
|
||||
}
|
19
modules/creativity.nix
Normal file
19
modules/creativity.nix
Normal 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
|
||||
];
|
||||
|
||||
}
|
30
modules/desktop-essentials.nix
Normal file
30
modules/desktop-essentials.nix
Normal 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
11
modules/distrobox.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
distrobox
|
||||
];
|
||||
|
||||
}
|
11
modules/docker.nix
Normal file
11
modules/docker.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
}
|
9
modules/fingerprint.nix
Normal file
9
modules/fingerprint.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services.fprintd = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
12
modules/firmware.nix
Normal file
12
modules/firmware.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
|
||||
services = {
|
||||
fwupd.enable = true;
|
||||
fstrim.enable = true;
|
||||
};
|
||||
|
||||
}
|
22
modules/flatpak.nix
Normal file
22
modules/flatpak.nix
Normal 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
13
modules/fonts.nix
Normal 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
14
modules/gaming.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
];
|
||||
|
||||
programs = {
|
||||
steam.enable = true;
|
||||
};
|
||||
|
||||
}
|
17
modules/gui-coding.nix
Normal file
17
modules/gui-coding.nix
Normal 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
58
modules/i3.nix
Normal 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
28
modules/internet.nix
Normal 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
21
modules/laptop.nix
Normal 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
12
modules/locale.nix
Normal 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
12
modules/logitech.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
|
||||
hardware.logitech.wireless = {
|
||||
enable = true;
|
||||
enableGraphical = true;
|
||||
};
|
||||
|
||||
}
|
31
modules/network.nix
Normal file
31
modules/network.nix
Normal 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
22
modules/nix.nix
Normal 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
28
modules/office.nix
Normal 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
12
modules/optical-media.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
brasero
|
||||
makemkv
|
||||
usbimager
|
||||
];
|
||||
|
||||
}
|
28
modules/security.nix
Normal file
28
modules/security.nix
Normal 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
11
modules/sync-clients.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
nextcloud-client
|
||||
pcloud
|
||||
];
|
||||
|
||||
}
|
23
modules/system.nix
Normal file
23
modules/system.nix
Normal 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
18
modules/typesetting.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
typst
|
||||
typst-lsp
|
||||
typstfmt
|
||||
|
||||
texliveFull
|
||||
|
||||
pandoc
|
||||
|
||||
zotero
|
||||
];
|
||||
|
||||
}
|
22
modules/video-and-sound.nix
Normal file
22
modules/video-and-sound.nix
Normal 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;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue