Compare commits

..

No commits in common. "622e2ee25f1a82f49f1b06169d9c84ebe4452c94" and "9d9a349b6528abc321347750c8d687a12b4bbb77" have entirely different histories.

3 changed files with 71 additions and 139 deletions

View File

@ -1,2 +0,0 @@
[build]
rustflags = ["-C", "link-arg=-fuse-ld=lld"]

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }:
{ config, pkgs, ... }:
let
my-python3-packages = python3-packages: with python3-packages; [
@ -11,10 +11,6 @@ let
pyside2
markdown
psutil
scipy
numpy
pillow
];
#my-python2-packages = python2-packages: with python2-packages; [
# pip setuptools
@ -28,10 +24,6 @@ let
python3-with-my-packages = pkgs.python3.withPackages my-python3-packages;
#python2-with-my-packages = pkgs.python2.withPackages my-python2-packages;
linuxPackages = pkgs.linuxPackages_5_10;
mpvPlus = pkgs.mpv-with-scripts.override {
scripts = [ pkgs.mpvScripts.mpris ];
};
microsoftErgonomicKeyboard = pkgs.callPackage /home/arne/nixpkgs/microsoft-ergonomic-keyboard { kernel = linuxPackages.kernel; };
in
{
imports =
@ -39,20 +31,13 @@ in
./hardware-configuration.nix
];
nix.autoOptimiseStore = true;
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = linuxPackages;
#boot.kernelPatches = [
# {
# name = "fixup MS keyboard";
# patch = /home/arne/src/linux-5.10.62/0001-change-it.patch;
# }
#];
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback microsoftErgonomicKeyboard ];
boot.kernelModules = [ "v4l2loopback" "nct6775" "hid_microsoft_ergonomic" ];
boot.kernelParams = [ "mitigations=off" "amdgpu.noretry=0" ];
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
boot.kernelModules = [ "v4l2loopback" ];
boot.kernelParams = [ "mitigations=off" ];
boot.kernel.sysctl = {
# enable Alt+SysRq commands
"kernel.sysrq" = 1;
@ -72,32 +57,12 @@ in
boot.tmpOnTmpfs = true;
hardware.cpu.amd.updateMicrocode = true;
hardware.mcelog.enable = true;
services.fstrim.enable = true;
services.journald.extraConfig = "SystemMaxUse=100M";
#hardware.bluetooth.enable = true;
networking.useDHCP = false;
networking.interfaces.enp39s0.useDHCP = true;
#networking.interfaces.enp42s0f3u2.useDHCP = false;
#networking.interfaces.enp42s0f3u2.proxyARP = true;
#networking.interfaces.enp42s0f3u2.ipv4.routes = [
# {
# address = "10.0.0.0";
# prefixLength = 24;
# }
#];
#networking.interfaces.enp42s0f3u2.ipv4.addresses = [
# {
# address = "10.0.0.1";
# prefixLength = 24;
# }
#];
networking.hostName = "nixOS";
#networking.hosts = {
# "10.0.0.2" = [ "arne-ThinkPad-T410" ];
#};
networking.firewall.logRefusedConnections = false;
networking.firewall.rejectPackets = true;
networking.firewall.allowedTCPPorts = [ 12783 12975 25565 ];
@ -115,7 +80,7 @@ in
security.sudo.extraConfig = ''
Defaults insults
Defaults timestamp_timeout=10
Defaults timestamp_timeout=-1
'';
time.timeZone = "Europe/Berlin";
@ -134,6 +99,7 @@ in
KDE_UTF8_FILENAMES = "1";
ANDROID_SDK_HOME = "$HOME/.cache";
GRADLE_USER_HOME = "$HOME/.cache/gradle";
MATHEMATICA_USERBASE = "$HOME/.cache/mathematica";
XCOMPOSECACHE = "$HOME/.cache/X11/xcompose";
};
environment.extraInit = ''
@ -159,19 +125,9 @@ in
services.xserver.enable = true;
services.xserver.enableCtrlAltBackspace = true;
services.xserver.libinput.enable = true;
#services.xserver.libinput.accelProfile = "flat";
services.xserver.layout = "dvorak-custom";
services.xserver.extraLayouts = {
dvorak-custom = {
description = "Dvorak customized";
languages = [ "eng" ];
symbolsFile = /home/arne/.config/dvorak-custom;
};
};
services.xserver.autoRepeatDelay = 183;
services.xserver.autoRepeatInterval = 33;
services.xserver.layout = "us";
services.xserver.xkbVariant = "dvorak";
services.xserver.displayManager.sddm.enable = true;
services.xserver.displayManager.job.logToJournal = true;
services.xserver.desktopManager.plasma5.enable = true;
xdg.portal.enable = true;
xdg.portal.gtkUsePortal = true;
@ -180,8 +136,6 @@ in
fonts.fonts = with pkgs; [
noto-fonts-emoji
liberation_ttf
cozette
font-awesome
];
virtualisation.docker.enable = true;
@ -189,10 +143,6 @@ in
#virtualisation.anbox.enable = true;
# services.printing.enable = true;
services.trilium-server.enable = true;
#services.trilium-server.dataDir = "/home/arne/.local/share/trilium-sync-server-data";
#services.trilium-server.host = "192.168.178.21";
services.trilium-server.port = 12783;
services.boinc.enable = true;
services.vnstat.enable = true;
services.gitlab-runner.enable = true;
@ -200,12 +150,11 @@ in
shell = {
registrationConfigFile = "/home/arne/Documents/gitlab-runner-registration";
executor = "shell";
buildsDir = "/tmp/builds_dir";
};
#shell2 = {
# registrationConfigFile = "/home/arne/Documents/gitlab-runner-registration-kv";
# executor = "shell";
#};
shell2 = {
registrationConfigFile = "/home/arne/Documents/gitlab-runner-registration-kv";
executor = "shell";
};
};
services.openvpn.servers = {
kit-split = {
@ -223,24 +172,9 @@ in
};
# services.logmein-hamachi.enable = true;
sound.enable = false;
#hardware.pulseaudio.enable = false;
#hardware.pulseaudio.support32Bit = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# this does not exist (yet?)
#pulse.support32Bit = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
sound.enable = true;
hardware.pulseaudio.enable = true;
hardware.pulseaudio.support32Bit = true;
hardware.opengl.enable = true;
hardware.opengl.driSupport = true;
@ -250,7 +184,7 @@ in
users.users.arne = {
isNormalUser = true;
extraGroups = [ "wheel" "docker" "adbusers" "wireshark" "audio" ];
extraGroups = [ "wheel" "docker" "adbusers" ];
shell = pkgs.zsh;
};
@ -263,43 +197,55 @@ in
"mathematica"
"idea-ultimate"
"android-studio-stable"
#"logmein-hamachi"
];
packageOverrides = super: let self = super.pkgs; in {
maven = super.maven.override {
jdk = super.pkgs.jdk11;
};
# remove openssl/curl
rustup = super.rustup.overrideAttrs (attrs: rec {
buildInputs = [ super.pkgs.zlib ];
cargoBuildFlags = [ "--no-default-features --features no-self-update,reqwest-backend,reqwest-rustls-tls" ];
doCheck = false;
# remove tesseract and ImageMagick
ripgrep-all = super.ripgrep-all.overrideDerivation (attrs: {
postInstall = ''
wrapProgram $out/bin/rga \
--prefix PATH ":" "${super.pkgs.lib.makeBinPath [ super.pkgs.pandoc super.pkgs.poppler_utils super.pkgs.ripgrep ]}"
'';
doInstallCheck = false;
});
qbittorrent = super.qbittorrent.overrideAttrs (attrs: rec {
version = "4.3.4.1";
src = pkgs.fetchFromGitHub {
owner = "qbittorrent";
repo = "qbittorrent";
rev = "release-4.3.4.1"; # TODO: is there some reason this also has to be specified?
sha256 = "0hpv99ky077h5rvxxd76l5xv99ivqa1hq6739jp1gvl4w6w3cbgc";
};
});
# remove openssl
#rustup = super.rustup.overrideAttrs (attrs: rec {
# buildInputs = [ super.pkgs.zlib ];
# # this does not actually work due to #103130
# cargoBuildFlags = [ "--no-default-features" "--features" "no-self-update" "reqwest-backend" "reqwest-rustls-tls" ];
# doCheck = false;
#});
};
};
programs.steam.enable = true;
programs.zsh.enable = true;
programs.zsh.enableGlobalCompInit = false;
programs.zsh.interactiveShellInit = ''
source ${pkgs.nix-index}/etc/profile.d/command-not-found.sh
'';
programs.command-not-found.enable = false;
programs.adb.enable = true;
programs.wireshark.enable = true;
programs.wireshark.package = pkgs.wireshark;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = false;
enableSSHSupport = true;
pinentryFlavor = "qt";
};
# do not show unlock prompt on login
security.pam.services.sddm.enableKwallet = lib.mkOverride 0 false;
environment.systemPackages = with pkgs; [
# standard utilities
coreutils
gzip
gcc
manpages
dnsutils
vim htop curl wget file zsh git git-branchless
vim htop curl wget file zsh git
tree killall
# premium utilities
jq tmux
@ -309,7 +255,6 @@ in
iotop
img2pdf
pdftk
exa
fd
zoxide
fzf
@ -318,47 +263,39 @@ in
ffmpeg_4
# programming environments
#geckodriver
geckodriver
#python2-with-my-packages
python3-with-my-packages
jdk8
#visualvm
jdk11 maven visualvm
rustup
cargo-outdated cargo-edit
#jupyter
jupyter
vscodium
jetbrains.idea-ultimate
#androidStudioPackages.stable
#nodejs
gcc10 gnumake cmake
llvmPackages_11.bintools
# cplex
key
nodejs
# CLI applications
lynx
droidcam
sqlite
borgbackup
nix-tree rnix-hashes
#gallery-dl
yt-dlp
#plantuml
#tectonic
nix-tree
gallery-dl
youtube-dl
plantuml
tectonic
docker-compose
qemu
graphviz
# GUI applications
sqlitebrowser
(gimp-with-plugins.override { plugins = [ gimpPlugins.gmic ]; })
gimp
firefox
thunderbird
ungoogled-chromium
keepassxc
josm
#anki
anki
tor-browser-bundle-bin
mathematica
gparted
@ -366,25 +303,27 @@ in
qdirstat
filelight
libreoffice-fresh
filezilla
qbittorrent
tdesktop
alacritty
okular akregator kwalletmanager gwenview ark kcalc kcolorchooser kompare k3b kcharselect kmag
plasma5Packages.kruler
yakuake okular akregator kwalletmanager gwenview ark kcalc kcolorchooser kompare k3b kcharselect
kdeApplications.kruler
kdeconnect
plasma-vault
ksshaskpass
notepadqq
mpvPlus
mpv
bitcoin
#xorg.xkbcomp
xorg.xkbcomp
xorg.xrandr
#evtest
lm_sensors
xclip
ntfs3g
cryptsetup pinentry-qt
wineWowPackages.full
winetricks
cdrkit
vnstat
aspellDicts.de
@ -393,19 +332,15 @@ in
linuxPackages.perf
perf-tools
smartmontools
#libfaketime
#afl
libfaketime
afl
# Games
multimc
#minecraft
minecraft
#logmein-hamachi
update-resolv-conf # for OpenVPN configs
# List of packages to get on demand
#wineWowPackages.full
#winetricks
update-resolv-conf
];
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions

View File

@ -1,10 +1,9 @@
profile=gpu-hq
hwdec=auto-safe
hwdec=vdpau
loop-playlist=inf
image-display-duration=2
shuffle
no-audio-display
volume-max=1000.0
[noosd]
no-osc