2025.04.30-20:50

This commit is contained in:
2025-04-30 20:47:57 +02:00
commit 8065685ccb
153 changed files with 6149 additions and 0 deletions

View File

@ -0,0 +1,16 @@
{ config, pkgs, ... }:
{
boot.binfmt = {
registrations.appimage = {
wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = "\\xff\\xff\\xff\\xff\\x00\\x00\\x00\\x00\\xff\\xff\\xff";
magicOrExtension = "\\x7fELF....AI\\x02";
};
# run aarch64 binaries
emulatedSystems = [ "aarch64-linux" ];
};
}

View File

@ -0,0 +1,106 @@
{ config, pkgs, ... }:
{
services = {
# Enable the X11 windowing system
xserver = {
enable = true;
xkb.layout = "de";
xkb.variant = "";
xkb.options = "eurosign:e";
exportConfiguration = true;
enableCtrlAltBackspace = true;
#wacom.enable = false;
# Enable Lightdm
displayManager = {
lightdm.enable = true;
lightdm.background = /etc/nixos/home/wallpaper/5120x2880.jpg;
lightdm.greeters.slick.theme.name = "Arc-Dark";
lightdm.greeters.slick.iconTheme.name = "Papirus-Dark";
lightdm.greeters.slick.cursorTheme.name = "Numix-Cursor";
lightdm.greeters.slick.extraConfig = "activate-numlock=true";
};
# Enable the Cinnamon Desktop Environment
desktopManager = {
xterm.enable = false;
cinnamon.enable = true;
};
};
displayManager.defaultSession = "cinnamon";
bamf.enable = true;
libinput.enable = false;
};
# Enable Programs
programs = {
dconf.enable = true;
geary.enable = false;
system-config-printer.enable = true;
};
# Enable xdg portal
xdg.portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-xapp ];
};
# Environment variables
environment.variables = {
EDITOR = "nano";
BROWSER = "firefox";
QT_QPA_PLATFORM = "xcb";
#QT_QPA_PLATFORMTHEME = lib.mkForce "qt5ct";
};
environment.sessionVariables = rec {
XDG_CACHE_HOME = "$HOME/.cache";
XDG_CONFIG_HOME = "$HOME/.config";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
XDG_BIN_HOME = "$HOME/.local/bin";
PATH = [
"${XDG_BIN_HOME}"
];
};
environment.systemPackages = with pkgs; [
conky
clipit
nemo-emblems
nemo-with-extensions
nemo-fileroller
nemo-python
bulky
file-roller
gnome-system-monitor
gnome-disk-utility
tilda
system-config-printer
plank
numlockx
];
environment.cinnamon.excludePackages = with pkgs; [
#nemo
onboard
hexchat
xterm
];
networking.firewall = {
allowedTCPPorts = [
42000 # Warpinator used for transfer
42001 # Warpinator authentication port
];
allowedUDPPorts = [
42000 # Warpinator used for transfer
42001 # Warpinator authentication port
];
};
}

View File

@ -0,0 +1,17 @@
{ config, pkgs, ... }:
{
imports = [
./appimage.nix
./cinnamon.nix
./distrobox.nix
./firefox.nix
./flatpak.nix
#./mpd.nix
./nix-ld.nix
./steam.nix
./syncthing.nix
./packages.nix
./home-manager.nix
];
}

View File

@ -0,0 +1,13 @@
{ config, pkgs, ... }:
{
virtualisation.docker.enable = true;
users.users.zulumann.extraGroups = [ "docker" ];
environment.systemPackages = with pkgs; [
distrobox # Wrapper around podman or docker to create and start containers
boxbuddy # An unofficial GUI for managing your Distroboxes
];
}

View File

@ -0,0 +1,196 @@
{ config, pkgs, ... }:
{
programs.firefox = {
enable = true;
languagePacks = [ "de" ];
preferences = {
"extensions.pocket.enabled" = false;
"extensions.screenshots.disabled" = false;
"browser.topsites.contile.enabled" = false;
"browser.formfill.enable" = false;
"browser.search.suggest.enabled" = false;
"browser.search.suggest.enabled.private" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.showSearchSuggestionsFirst" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.feeds.snippets" = false;
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.system.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
};
policies = {
CaptivePortal = false;
DisableFirefoxAccounts = false;
DisableAccounts = false;
DisableFirefoxScreenshots = true;
DisableTelemetry = true;
DisableFirefoxStudies = true;
DisablePocket = true;
DontCheckDefaultBrowser = true;
PasswordManagerEnabled = false;
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
SearchBar = "separate"; # alternative: "unified"
EnableTrackingProtection = {
Value= true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
FirefoxHome = {
Highlights = false;
Pocket = false;
Search = true;
Snippets = false;
TopSites = false;
};
settings = {
"browser.download.panel.shown" = true;
"dom.security.https_only_mode" = true;
"general.smoothScroll" = true;
"gfx.webrender.enabled" = true;
"layout.css.backdrop-filter.enabled" = true;
"media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
"signon.rememberSignons" = false;
"svg.context-properties.content.enabled" = true;
# We handle this elsewhere
"browser.shell.checkDefaultBrowser" = false;
# Don't allow websites to prevent use of right-click, or otherwise
# messing with the context menu.
"dom.event.contextmenu.enabled" = true;
# Don't allow websites to prevent copy and paste. Disable
# notifications of copy, paste, or cut functions. Stop webpage
# knowing which part of the page had been selected.
"dom.event.clipboardevents.enabled" = true;
# Do not track from battery status.
"dom.battery.enabled" = false;
# Show punycode. Help protect from character 'spoofing'.
"network.IDN_show_punycode" = true;
# Disable site reading installed plugins.
"plugins.enumerable_names" = "";
# Use Mozilla instead of Google here.
"geo.provider.network.url" =
"https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
# Safe browsing
"browser.safebrowsing.enabled" = false;
"browser.safebrowsing.phishing.enabled" = false;
"browser.safebrowsing.malware.enabled" = false;
"browser.safebrowsing.downloads.enabled" = false;
"browser.safebrowsing.provider.google4.updateURL" = "";
"browser.safebrowsing.provider.google4.reportURL" = "";
"browser.safebrowsing.provider.google4.reportPhishMistakeURL" = "";
"browser.safebrowsing.provider.google4.reportMalwareMistakeURL" = "";
"browser.safebrowsing.provider.google4.lists" = "";
"browser.safebrowsing.provider.google4.gethashURL" = "";
"browser.safebrowsing.provider.google4.dataSharingURL" = "";
"browser.safebrowsing.provider.google4.dataSharing.enabled" = false;
"browser.safebrowsing.provider.google4.advisoryURL" = "";
"browser.safebrowsing.provider.google4.advisoryName" = "";
"browser.safebrowsing.provider.google.updateURL" = "";
"browser.safebrowsing.provider.google.reportURL" = "";
"browser.safebrowsing.provider.google.reportPhishMistakeURL" = "";
"browser.safebrowsing.provider.google.reportMalwareMistakeURL" = "";
"browser.safebrowsing.provider.google.pver" = "";
"browser.safebrowsing.provider.google.lists" = "";
"browser.safebrowsing.provider.google.gethashURL" = "";
"browser.safebrowsing.provider.google.advisoryURL" = "";
"browser.safebrowsing.downloads.remote.url" = "";
# Don't call home on new tabs
"browser.selfsupport.url" = "";
"browser.aboutHomeSnippets.updateUrL" = "";
"browser.startup.homepage_override.mstone" = "ignore";
"browser.startup.homepage_override.buildID" = "";
"startup.homepage_welcome_url" = "";
"startup.homepage_welcome_url.additional" = "";
"startup.homepage_override_url" = "";
# Firefox experiments...
"experiments.activeExperiment" = false;
"experiments.enabled" = false;
"experiments.supported" = false;
"extensions.pocket.enabled" = false;
"identity.fxaccounts.enabled" = false;
# Privacy
"privacy.donottrackheader.enabled" = true;
"privacy.donottrackheader.value" = 1;
"privacy.trackingprotection.enabled" = true;
"privacy.trackingprotection.socialtracking.enabled" = true;
"privacy.firstparty.isolate" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.archive.enabled" = false;
"browser.toolbars.bookmarks.visibility" = "never";
# Cookies
"network.cookie.cookieBehavior" = 1;
# Perf
"gfx.webrender.all" = true;
"media.ffmpeg.vaapi.enabled" = true;
"media.ffvpx.enabled" = false;
"media.rdd-vpx.enabled" = false;
"gfx.webrender.compositor.force-enabled" = true;
"media.navigator.mediadatadecoder_vpx_enabled" = true;
"webgl.force-enabled" = true;
"layers.acceleration.force-enabled" = true;
"layers.offmainthreadcomposition.enabled" = true;
"layers.offmainthreadcomposition.async-animations" = true;
"layers.async-video.enabled" = true;
"html5.offmainthread" = true;
};
};
};
programs.firefox.policies = {
ExtensionSettings = with builtins;
let extension = shortId: uuid: {
name = uuid;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
installation_mode = "normal_installed";
};
};
in listToAttrs [
(extension "torrent-to-web" "torrent-to-web@dasprids.de")
(extension "Cookie-AutoDelete" "CookieAutoDelete@kennydo.com")
(extension "ublock-origin" "uBlock0@raymondhill.net")
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
(extension "no-gender" "{f0bb47a1-a5b1-4a4c-80fb-556d6a60e45c}")
(extension "get-rss-feed-url" "{15bdb1ce-fa9d-4a00-b859-66c214263ac0}")
(extension "freshrss-watcher" "{8276b2b6-a974-4254-8647-79c691694b10}")
(extension "bookmarked-speed-dial" "{83a9ecbd-0360-4fee-8822-233ed92cf930}")
(extension "i-still-don't-care-about-cookies" "idcac-pub@guus.ninja")
#(extension "joplin-web-clipper" "{8419486a-54e9-11e8-9401-ac9e17909436}")
#(extension "umatrix" "uMatrix@raymondhill.net")
#(extension "libredirect" "7esoorv3@alefvanoon.anonaddy.me")
#(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
];
# To add additional extensions, find it on addons.mozilla.org, find
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
# Then, download the XPI by filling it in to the install_url template, unzip it,
# run `jq .browser_specific_settings.gecko.id manifest.json` or
# `jq .applications.gecko.id manifest.json` to get the UUID
};
}

View File

@ -0,0 +1,14 @@
{ config, pkgs, ... }:
{
services.flatpak.enable = true;
systemd.services.flatpak-repo = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.flatpak ];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
}

View File

@ -0,0 +1,30 @@
{ config, lib, pkgs, osConfig, ... }:
let
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz";
in
{
imports = [
(import "${home-manager}/nixos")
];
home-manager.backupFileExtension = "backup";
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.zulumann = {
home.stateVersion = "24.11";
home.homeDirectory = "/home/zulumann";
home.packages = with pkgs; [
neofetch
];
imports = [
./../home
];
programs.home-manager.enable = true;
};
}

View File

@ -0,0 +1,44 @@
{ config, pkgs, ... }:
# aplay -l
# aplay --list-pcm
# pacmd list-modules
# pacmd list-cards
{
services.mpd = {
enable = true;
user = "zulumann";
musicDirectory = "/run/media/zulumann/HDD1.5TB/Audio/Musik";
playlistDirectory = "/run/media/zulumann/HDD1.5TB/Audio/Playlists";
network.listenAddress = "any";
startWhenNeeded = true; # systemd feature: only start MPD service upon connection to its socket
extraConfig = ''
audio_output {
type "alsa"
name "My ALSA"
device "hw:0,0" # optional
format "44100:16:2" # optional
mixer_type "hardware"
mixer_device "default"
mixer_control "PCM"
}
audio_output {
type "pipewire"
name "My PipeWire Output"
}
'';
};
systemd.services.mpd.environment = {
# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/609
XDG_RUNTIME_DIR =
"/run/user/1000"; # User-id 1000 must match above user. MPD will look inside this directory for the PipeWire socket.
};
environment.systemPackages = with pkgs; [
#gmpc # Gnome Music Player Client
cantata
];
}

View File

@ -0,0 +1,63 @@
{ config, pkgs, ... }:
{
# Enable LD Fix
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
# Add any missing dynamic libraries for unpackaged
# programs here, NOT in environment.systemPackages
alsa-lib
at-spi2-atk
at-spi2-core
atk
cairo
cups
curl
dbus
expat
fontconfig
freetype
fuse3
gdk-pixbuf
glib
gtk3
icu
libGL
libappindicator-gtk3
libdrm
libglvnd
libnotify
libpulseaudio
libunwind
libusb1
libuuid
libxkbcommon
libxml2
mesa
nspr
nss
openssl
pango
pipewire
stdenv.cc.cc
systemd
vulkan-loader
xorg.libX11
xorg.libXScrnSaver
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libxcb
xorg.libxkbfile
xorg.libxshmfence
zlib
];
}

View File

@ -0,0 +1,262 @@
{ config, pkgs, ... }:
let
unstableTarball =
fetchTarball
https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz;
in
{
imports =
[ # Include the results of the hardware scan.
/etc/nixos/hardware-configuration.nix
];
nixpkgs.config = {
packageOverrides = pkgs: {
unstable = import unstableTarball {
config = config.nixpkgs.config;
};
};
};
# Allow unfree packages
nixpkgs.config = {
allowUnfree = true;
permittedInsecurePackages = [
];
};
# Enable Fonts
fonts = {
fontDir.enable = true;
enableGhostscriptFonts = true;
packages = with pkgs; [
corefonts
terminus_font
ubuntu_font_family
liberation_ttf
dejavu_fonts
];
};
# Enable Java
programs.java = {
enable = true;
package = pkgs.jdk11;
};
environment.systemPackages = with pkgs; [
# ---------------------------------------------------------------------
# Core Pakages
# ---------------------------------------------------------------------
ansible # Radically simple IT automation
curl # A command line tool for transferring files with URL syntax
dnsutils # Domain name server
diffutils # Commands for showing the differences between files (diff, cmp, etc.)
mc # File Manager and User Shell for the GNU Project
htop # An interactive process viewer
rsync # Fast incremental file transfer utility
wget # Tool for retrieving files using HTTP, HTTPS, and FTP
nettools # A set of tools for controlling the network subsystem
ncdu # Disk usage analyzer with an ncurses interface
# nfs-utils # Linux user-space NFS utilities
pciutils # inspecting and manipulating configuration of PCI devices
pwgen # Password generator
# pwgen-secure # Secure password generation library to replace pwgen
renameutils # A set of programs to make renaming of files faster
rename # Rename files according to a Perl rewrite expression
smartmontools # Tools for monitoring the health of hard drives
imagemagick # A software suite to create, edit, compose, or convert bitmap images
lshw # Provide detailed information on the hardware configuration
lsof # A tool to list open files
unrar # Utility for RAR archives
unzip # An extraction utility for archives compressed
zip # Compressor/archiver for creating and modifying zipfiles
p7zip # A new p7zip fork with additional codecs
# ---------------------------------------------------------------------
# Accessories
# ---------------------------------------------------------------------
authenticator # Two-factor authentication code generator for GNOME
bleachbit # A program to clean your computer
# czkawka # A simple, fast and easy to use app to remove unnecessary files
bitwarden # bitwarden-desktop
# deja-dup # A simple backup tool
gnome-decoder # Scan and Generate QR Codes
gnome-obfuscate # Censor private information
gnome-maps # A map application for GNOME 3
# gpt4all # A free-to-use, locally running, privacy-aware chatbot. No GPU or internet required
# fsearch # A fast file search utility for Unix-like systems based on GTK+3
cherrytree # An hierarchical note taking application
# caffeine-ng # Status bar application to temporarily inhibit screensaver and sleep mode
doublecmd # Two-panel graphical file manager written in Pascal
freefilesync # Open Source File Synchronization & Backup Software
shutter # Screenshot and annotation tool
gparted # Graphical disk partitioning tool
ulauncher # A fast application launcher for Linux
# synapse # Semantic launcher to start applications and find relevant files
# pika-backup # Simple backups based on borg
owncloud-client # Synchronise your ownCloud
keepassxc # Offline password manager
# veracrypt # Free Open-Source filesystem on-the-fly encryption
# ---------------------------------------------------------------------
# Andriod software
# ---------------------------------------------------------------------
# android-file-transfer # Reliable MTP client with minimalistic UI provides: aft-mtp-cli android-file-transfer aft-mtp-mount
# android-tools # Android SDK platform tools
# waydroid # Waydroid is a container-based approach to boot a full Android system on a regular GNU/Linux system
# ---------------------------------------------------------------------
# Codec
# ---------------------------------------------------------------------
ffmpeg # A complete, cross-platform solution to record, convert and stream audio and video
ffmpegthumbnailer # A lightweight video thumbnailer
gst_all_1.gst-vaapi
gst_all_1.gst-libav
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-base
lame # A high quality MPEG Audio Layer III (MP3) encoder
wavpack # Hybrid audio compression format
x264 # Library for encoding H264/AVC video streams
x265 # Library for encoding H.265/HEVC video streams
mpg123 # Fast console MPEG Audio Player and decoder library
#-----------------------------------------------------------------
# DVD / Bluray
#-----------------------------------------------------------------
asunder # A graphical Audio CD ripper and encoder for Linux
libbluray # Library to access Blu-Ray disks for video playback
libaacs # Library to access AACS protected Blu-Ray disks
libdvdcss # A library for decrypting DVDs
libisofs # A library to create an ISO-9660 filesystem with extensions like RockRidge or Joliet
libburn # A library by which preformatted data get onto optical media: CD, DVD, BD (Blu-Ray)
xfce.xfburn # Disc burner and project creator for Xfce
#-----------------------------------------------------------------
# Emulatoren
#-----------------------------------------------------------------
# ppsspp-qt # Playstation Portable emulator
# pcsx2 # Playstation 2 emulator
# ---------------------------------------------------------------------
# Graphics
# ---------------------------------------------------------------------
simple-scan # Simple scanning utility
gimp-with-plugins # The GNU Image Manipulation Program
pinta # Drawing/editing program modeled after Paint.NET
# shotwell # Popular photo organizer for the GNOME desktop
#-----------------------------------------------------------------
# Gaming
#-----------------------------------------------------------------
# bottles # An easy-to-use wineprefix manager
# mangohud # A Vulkan and OpenGL overlay for monitoring FPS
# goverlay # Graphical UI to help manage Linux overlays
# heroic # A Native GOG, Epic, and Amazon Games Launcher
# protonup-ng # CLI program and API to automate the installation and update Proton-GE
# protonup-qt # manage Proton-GE and Luxtorpeda for Steam and Wine-GE
xboxdrv # Xbox/Xbox360 gamepad driver
#-----------------------------------------------------------------
# Tools
#-----------------------------------------------------------------
# gpu-viewer # A front-end to glxinfo, vulkaninfo, clinfo and es2_info
# cpu-x # Software that gathers information on CPU, motherboard and more
#-----------------------------------------------------------------
# Internet
#-----------------------------------------------------------------
angryipscanner # fast and friendly network scanner
brave # Brave Browser
freetube # An Open Source YouTube app for privacy
filezilla # Graphical FTP, FTPS and SFTP client
# protonvpn-gui # Proton VPN GTK app
# signal-desktop # Private, simple, and secure messenger
tdesktop # Telegram Desktop
# deltachat-desktop # Email-based instant messaging for Desktop
tor-browser # Tor Browser
remmina # Remote desktop client written in GTK
# newsflash # Modern feed reader designed for the GNOME desktop
mumble # Low-latency, high quality voice chat software
liferea # A GTK-based news feed aggregator
uget # Download manager using GTK and libcurl
# vivaldi # Browser for our Friends, powerful and personal
# vivaldi-ffmpeg-codecs # Additional support for proprietary codecs for Vivaldi
#-----------------------------------------------------------------
# Office
#-----------------------------------------------------------------
evolution # application that provides integrated mail, calendaring and address book
# gscan2pdf # GUI to produce PDFs or DjVus from scanned documents
foliate # A simple and modern GTK eBook reader
paperwork # personal document manager for scanned documents
pdfarranger # Merge or split pdf documents and rotate, crop and rearrange their pages
# onlyoffice-bin_latest # Office suite that combines text, spreadsheet and presentation editors allowing to create
libreoffice-fresh # Comprehensive, professional-quality productivity suite, a variant of openoffice.org
obsidian # Powerful knowledge base that works on top of a local folder of plain text Markdown files
# xournalpp # Xournal++ is a handwriting Notetaking software with PDF annotation support
# ---------------------------------------------------------------------
# Programming
# ---------------------------------------------------------------------
git # Distributed version control system
# diffuse # Graphical tool for merging and comparing text files
meld # Visual diff and merge tool
vscodium # Open source source code editor developed by Microsoft
github-desktop # GUI for managing Git and GitHub
# ---------------------------------------------------------------------
# Themes
# ---------------------------------------------------------------------
arc-theme # Flat theme with transparent elements for GTK 3, GTK 2 and Gnome Shell
papirus-icon-theme # Pixel perfect icon theme for Linux
numix-cursor-theme # Numix cursor theme
#-----------------------------------------------------------------
# Multimedia
#-----------------------------------------------------------------
audacious # A lightweight and versatile audio player
audacious-plugins # Plugins for Audacious music player
easytag # View and edit tags for various audio files
mediainfo-gui # Supplies technical and tag information about a video or audio file
soundconverter # Leading audio file converter for the GNOME Desktop
strawberry # Music player and music collection organizer
# obs-studio # Free and open source software for video recording and live streaming
# guvcview # A simple interface for devices supported by the linux UVC driver
# kazam # A screencasting program created with design in mind
video-trimmer # Trim videos quickly
radiotray-ng # An internet radio player
jellyfin-media-player # Jellyfin Desktop Client based on Plex Media Player
vlc # Cross-platform media player and streaming server
# ---------------------------------------------------------------------
# NIX-Tools
# ---------------------------------------------------------------------
niv # Nix dependency management
nix-bash-completions # Bash completions for Nix, NixOS, and NixOps
nix-index # A files database for nixpkgs
nix-prefetch-git # nix-prefetch-git
# nixos-generators # Collection of image builders
# ---------------------------------------------------------------------
# Spell checker
# ---------------------------------------------------------------------
aspell # Spell checker for many languages
aspellDicts.de # Aspell dictionary for German
hunspell # Spell checker
hunspellDicts.de-de # Hunspell dictionary for German
hyphen # A text hyphenation library
# languagetool # A proofreading program for English, German ...
# ---------------------------------------------------------------------
# Openvpn
# ---------------------------------------------------------------------
#openvpn # A robust and highly flexible tunneling application
#networkmanager-openvpn
#gnome.networkmanager-openvpn
];
}

View File

@ -0,0 +1,19 @@
{ config, pkgs, ... }:
{
# Enable Steam and Gamemode
nixpkgs.config = {
allowUnfreePackages = [ "steam" "steam-original" "steam-runtime" "steam-run" ];
};
programs.gamemode.enable = true;
hardware.steam-hardware.enable = true;
programs.steam = {
enable = true;
gamescopeSession.enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
}

View File

@ -0,0 +1,36 @@
{ config, pkgs, ... }:
{
# Enable Syncthing
services.syncthing = {
enable = true;
openDefaultPorts = true;
guiAddress = "127.0.0.1:8384";
user = "zulumann";
group = "users";
configDir = "/home/zulumann/.config/syncthing";
dataDir = "/home/zulumann";
overrideDevices = false;
overrideFolders = false;
settings.devices = {
"Syncthing-Server" = { id = "2YNMVUC-HCUVYV4-C7ZJJ72-HQJSFBF-TOO6VPG-QYYIBZA-X3JC4MA-5WKEGA4"; };
};
settings.versioning = {
type = "staggered";
params = {
cleanInterval = "3600"; # 1 hour in seconds
maxAge = "15552000"; # 180 days in seconds
};
};
};
services.syncthing.settings.gui = {
user = "zulumann";
password = "he_lu@1970";
};
environment.systemPackages = with pkgs; [
#qsyncthingtray
];
}