X-Git-Url: https://gitweb.ps.run/flake_thinkpad/blobdiff_plain/6d5e77492bd3b0032686f2351498726da5d98cd8..6971b205f6732330b38e2417f529f6344b5e44c3:/configuration.nix diff --git a/configuration.nix b/configuration.nix index e236758..73a06b4 100644 --- a/configuration.nix +++ b/configuration.nix @@ -53,6 +53,7 @@ in nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.download-buffer-size = 500000000; + nix.settings.trusted-users = ["root" "ps"]; # Configure network proxy if necessary # networking.proxy.default = "http://user:password@proxy:port/"; @@ -130,6 +131,9 @@ in displayManager = { defaultSession = "xfce+i3"; }; + desktopManager = { + plasma6.enable = true; + }; xserver = { enable = true; @@ -164,6 +168,7 @@ in }; windowManager.i3.enable = true; windowManager.awesome.enable = true; + windowManager.herbstluftwm.enable = true; xkb = { layout = "de"; @@ -176,6 +181,19 @@ in }; }; + systemd.user.services.plasma-i3wm = { + wantedBy = [ "plasma-workspace-x11.target" ]; + before = [ "plasma-workspace-x11.target" ]; + description = "Launch Plasma with i3"; + environment = lib.mkForce {}; + serviceConfig = { + ExecStart = "${pkgs.i3}/bin/i3"; + Restart = "on-failure"; + }; + }; + # systemd.user.services.plasma-workspace-x11.after = [ "plasma-i3wm.target" ]; + systemd.user.services.plasma-kwin_x11.enable = false; + services.autorandr = { enable = true; matchEdid = true; @@ -193,34 +211,46 @@ in configDir = "/home/ps/.config/syncthing"; }; - services.tlp = { - enable = true; - settings = { - CPU_SCALING_GOVERNOR_ON_AC = "performance"; - CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; - - CPU_ENERGY_PERF_POLICY_ON_AC = "balance_performance"; - CPU_ENERGY_PERF_POLICY_ON_BAT = "power"; - - PLATFORM_PROFILE_ON_AC = "balanced"; - PLATFORM_PROFILE_ON_BAT = "low-power"; - - CPU_BOOST_ON_AC = "1"; - CPU_BOOST_ON_BAT = "0"; - - AMDGPU_ABM_LEVEL_ON_AC = "0"; - AMDGPU_ABM_LEVEL_ON_BAT = "3"; - - CPU_MIN_PERF_ON_AC = 0; - CPU_MAX_PERF_ON_AC = 100; - CPU_MIN_PERF_ON_BAT = 0; - CPU_MAX_PERF_ON_BAT = 20; - - START_CHARGE_THRESH_BAT0 = 40; # 40 and below it starts to charge - STOP_CHARGE_THRESH_BAT0 = 85; # 85 and above it stops charging + # services.auto-cpufreq.enable = true; + services.auto-cpufreq.settings = { + battery = { + governor = "powersave"; + turbo = "never"; + }; + charger = { + governor = "performance"; + turbo = "auto"; }; }; + # services.tlp = { + # enable = true; + # settings = { + # CPU_SCALING_GOVERNOR_ON_AC = "performance"; + # CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; + # + # CPU_ENERGY_PERF_POLICY_ON_AC = "balance_performance"; + # CPU_ENERGY_PERF_POLICY_ON_BAT = "power"; + # + # PLATFORM_PROFILE_ON_AC = "balanced"; + # PLATFORM_PROFILE_ON_BAT = "low-power"; + # + # CPU_BOOST_ON_AC = "1"; + # CPU_BOOST_ON_BAT = "0"; + # + # AMDGPU_ABM_LEVEL_ON_AC = "0"; + # AMDGPU_ABM_LEVEL_ON_BAT = "3"; + # + # CPU_MIN_PERF_ON_AC = 0; + # CPU_MAX_PERF_ON_AC = 100; + # CPU_MIN_PERF_ON_BAT = 0; + # CPU_MAX_PERF_ON_BAT = 20; + # + # # START_CHARGE_THRESH_BAT0 = 40; # 40 and below it starts to charge + # STOP_CHARGE_THRESH_BAT0 = 90; # 85 and above it stops charging + # }; + # }; + services.udev.extraRules = '' KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" ''; @@ -230,6 +260,11 @@ in graphics = { enable = true; enable32Bit = true; + extraPackages = with pkgs; [ + rocmPackages.clr.icd + mesa.opencl + amf + ]; }; amdgpu.amdvlk = { @@ -261,7 +296,7 @@ in # Enable Bluetooth hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = false; - services.blueman.enable = true; + # services.blueman.enable = true; # Enable sound with pipewire. services.pulseaudio.enable = false; @@ -296,13 +331,13 @@ in shell = pkgs.bash; extraGroups = [ "networkmanager" "wheel" "dialout" "jackaudio" "lp" "incus-admin" ]; }; - sshd = { - isSystemUser = true; - packages = [ - pkgs.python3 - ]; - group = "ssh"; - }; + # sshd = { + # isSystemUser = true; + # packages = [ + # pkgs.python3 + # ]; + # group = "ssh"; + # }; chirp = { isSystemUser = true; packages = [ @@ -323,10 +358,13 @@ in inherit inputs; inherit wallpaper; }; - # users = { - # "ps" = import ./home.nix; - # }; - users.ps.imports = [ ./home.nix ]; + users = { + "ps" = import ./home-ps.nix; + "root" = { home.stateVersion = "24.05"; }; + }; + sharedModules = [ + (import ./home-common.nix) + ]; }; # Enable automatic login for the user. @@ -341,26 +379,40 @@ in # Allow unfree packages nixpkgs.config.allowUnfree = true; + + environment.variables = { + RUSTICL_ENABLE = "radeonsi"; + }; # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - args.inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.zig - args.inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.zls + args.inputs.zls.inputs.zig-overlay.packages.${pkgs.system}.master + args.inputs.zls.packages.${pkgs.system}.zls args.inputs.psch-flakes.packages.${pkgs.system}.resetmsmice + args.inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.zuban vim wget file git kitty i3 gdb mosh cmake + entr + asciinema asciinema-agg + shellify + deno scrcpy xsel + xcwd + + pinta + mupdf + davinci-resolve pavucontrol syncthingtray # xfce plugins xfce.xfce4-panel xfce.xfce4-pulseaudio-plugin - # xfce.xfce4-verve-plugin + # xfce.xfce4-verve-plugin xfce.xfce4-notes-plugin # xfce.xfce4-timer-plugin # xfce.xfce4-windowck-plugin @@ -388,28 +440,28 @@ in # Enable the OpenSSH daemon. services.openssh = { - enable = false; + enable = true; ports = [ 22 ]; - settings = { - PasswordAuthentication = false; - PermitRootLogin = "no"; - }; - authorizedKeysCommand = - let keys = pkgs.writers.writePython3Bin "keys" {} '' - import sys - - args = sys.argv - - print(args) - ''; - in - "${keys}/bin/keys"; - authorizedKeysCommandUser = "ps"; + # settings = { + # PasswordAuthentication = false; + # PermitRootLogin = "no"; + # }; + # authorizedKeysCommand = + # let keys = pkgs.writers.writePython3Bin "keys" {} '' + # import sys + # + # args = sys.argv + # + # print(args) + # ''; + # in + # "${keys}/bin/keys"; + # authorizedKeysCommandUser = "ps"; }; # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ 22 1234 5900 6011 6021 6022 8080 53317 ]; - networking.firewall.allowedUDPPorts = [ 5901 53317 ]; + networking.firewall.allowedTCPPorts = [ 22 1234 5900 6011 6021 6022 8080 53317 7236 7250 ]; + networking.firewall.allowedUDPPorts = [ 5901 53317 7236 5353 ]; # Or disable the firewall altogether. # networking.firewall.enable = false;