Compare commits

...

3 Commits

Author SHA1 Message Date
Arne Keller
622e2ee25f mpv: change to auto hwdec and increase max volume 2022-02-04 19:00:37 +01:00
Arne Keller
2f77fe642b All NixOS config changes since last commit 2022-02-04 18:59:47 +01:00
Arne Keller
87c74b0141 cargo: link using lld 2021-04-09 18:40:10 +02:00
3 changed files with 139 additions and 71 deletions

2
.cache/cargo/config.toml Normal file
View File

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

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
let
my-python3-packages = python3-packages: with python3-packages; [
@ -11,6 +11,10 @@ let
pyside2
markdown
psutil
scipy
numpy
pillow
];
#my-python2-packages = python2-packages: with python2-packages; [
# pip setuptools
@ -22,8 +26,12 @@ let
# pyopengl-accelerate
#];
python3-with-my-packages = pkgs.python3.withPackages my-python3-packages;
#python2-with-my-packages = pkgs.python2.withPackages my-python2-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 =
@ -31,13 +39,20 @@ in
./hardware-configuration.nix
];
# Use the systemd-boot EFI boot loader.
nix.autoOptimiseStore = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = linuxPackages;
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
boot.kernelModules = [ "v4l2loopback" ];
boot.kernelParams = [ "mitigations=off" ];
#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.kernel.sysctl = {
# enable Alt+SysRq commands
"kernel.sysrq" = 1;
@ -57,12 +72,32 @@ 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 ];
@ -80,7 +115,7 @@ in
security.sudo.extraConfig = ''
Defaults insults
Defaults timestamp_timeout=-1
Defaults timestamp_timeout=10
'';
time.timeZone = "Europe/Berlin";
@ -99,7 +134,6 @@ 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 = ''
@ -125,17 +159,29 @@ in
services.xserver.enable = true;
services.xserver.enableCtrlAltBackspace = true;
services.xserver.libinput.enable = true;
services.xserver.layout = "us";
services.xserver.xkbVariant = "dvorak";
#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.displayManager.sddm.enable = true;
services.xserver.displayManager.job.logToJournal = true;
services.xserver.desktopManager.plasma5.enable = true;
xdg.portal.enable = true;
xdg.portal.gtkUsePortal = true;
fonts.enableDefaultFonts = true;
fonts.fonts = with pkgs; [
noto-fonts-emoji
liberation_ttf
cozette
font-awesome
];
virtualisation.docker.enable = true;
@ -143,6 +189,10 @@ 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;
@ -150,11 +200,12 @@ 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 = {
@ -172,9 +223,24 @@ in
};
# services.logmein-hamachi.enable = true;
sound.enable = true;
hardware.pulseaudio.enable = true;
hardware.pulseaudio.support32Bit = 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;
};
hardware.opengl.enable = true;
hardware.opengl.driSupport = true;
@ -184,7 +250,7 @@ in
users.users.arne = {
isNormalUser = true;
extraGroups = [ "wheel" "docker" "adbusers" ];
extraGroups = [ "wheel" "docker" "adbusers" "wireshark" "audio" ];
shell = pkgs.zsh;
};
@ -197,55 +263,43 @@ 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 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;
# 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;
});
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.gnupg.agent = {
programs.wireshark.enable = true;
programs.wireshark.package = pkgs.wireshark;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
enableSSHSupport = false;
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
vim htop curl wget file zsh git git-branchless
tree killall
# premium utilities
jq tmux
@ -255,6 +309,7 @@ in
iotop
img2pdf
pdftk
exa
fd
zoxide
fzf
@ -263,39 +318,47 @@ in
ffmpeg_4
# programming environments
geckodriver
#geckodriver
#python2-with-my-packages
python3-with-my-packages
jdk11 maven visualvm
jdk8
#visualvm
rustup
jupyter
cargo-outdated cargo-edit
#jupyter
vscodium
jetbrains.idea-ultimate
#androidStudioPackages.stable
nodejs
#nodejs
gcc10 gnumake cmake
llvmPackages_11.bintools
# cplex
key
# CLI applications
lynx
droidcam
sqlite
borgbackup
nix-tree
gallery-dl
youtube-dl
plantuml
tectonic
nix-tree rnix-hashes
#gallery-dl
yt-dlp
#plantuml
#tectonic
docker-compose
qemu
graphviz
# GUI applications
sqlitebrowser
gimp
(gimp-with-plugins.override { plugins = [ gimpPlugins.gmic ]; })
firefox
thunderbird
ungoogled-chromium
keepassxc
josm
anki
#anki
tor-browser-bundle-bin
mathematica
gparted
@ -303,27 +366,25 @@ in
qdirstat
filelight
libreoffice-fresh
filezilla
qbittorrent
tdesktop
yakuake okular akregator kwalletmanager gwenview ark kcalc kcolorchooser kompare k3b kcharselect
kdeApplications.kruler
alacritty
okular akregator kwalletmanager gwenview ark kcalc kcolorchooser kompare k3b kcharselect kmag
plasma5Packages.kruler
kdeconnect
plasma-vault
ksshaskpass
notepadqq
mpv
bitcoin
mpvPlus
xorg.xkbcomp
#xorg.xkbcomp
xorg.xrandr
#evtest
lm_sensors
xclip
ntfs3g
cryptsetup pinentry-qt
wineWowPackages.full
winetricks
cdrkit
vnstat
aspellDicts.de
@ -332,15 +393,19 @@ in
linuxPackages.perf
perf-tools
smartmontools
libfaketime
afl
#libfaketime
#afl
# Games
multimc
minecraft
#minecraft
#logmein-hamachi
update-resolv-conf
update-resolv-conf # for OpenVPN configs
# List of packages to get on demand
#wineWowPackages.full
#winetricks
];
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions

View File

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