diff --git a/home/home.nix b/home/home.nix index 9eb918a..d0a1c03 100755 --- a/home/home.nix +++ b/home/home.nix @@ -12,9 +12,9 @@ in { imports = [ # who are you? - ./bolt.nix + # ./bolt.nix # ./fossil.nix - # ./plank.nix + ./plank.nix ]; nixpkgs.config.packageOverrides = pkgs: { @@ -29,7 +29,7 @@ in thunderbird clementine - inkscape + # inkscape btop bat @@ -56,7 +56,7 @@ in libsForQt5.qtstyleplugin-kvantum libsForQt5.bismuth - hackneyed + # hackneyed gtk-engine-murrine diff --git a/home/plank.nix b/home/plank.nix index 9e979d7..8f67594 100755 --- a/home/plank.nix +++ b/home/plank.nix @@ -1,8 +1,31 @@ { config, pkgs, ... }: { + nixpkgs.overlays = [ + (self: super: { + kwin-system76-scheduler-integration = pkgs.libsForQt5.callPackage ../system/syspkgs/kwin-system76-scheduler-integration.nix {}; + }) + ]; home.username = "plank"; home.homeDirectory = "/home/plank"; + systemd.user.startServices = true; + systemd.user.services."com.system76.Scheduler.dbusproxy" = { + + Unit = { + Description = "the system76 process scheduler kwin dbus proxy"; + Requires = [ "dbus.service" ]; + }; + + Install = { + WantedBy = [ "graphical-session.target" "default.target" ]; + }; + + Service = { + ExecStart = ''${pkgs.kwin-system76-scheduler-integration}/bin/kwin-system76-scheduler-dbus-proxy.sh''; + }; + + }; + } diff --git a/system/adrift.nix b/system/adrift.nix index 6781460..535c1e1 100755 --- a/system/adrift.nix +++ b/system/adrift.nix @@ -5,6 +5,13 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; + nixpkgs.overlays = [ + (self: super: { + system76-scheduler = pkgs.callPackage ./syspkgs/system76-scheduler.nix {}; + kwin-system76-scheduler-integration = pkgs.libsForQt5.callPackage ./syspkgs/kwin-system76-scheduler-integration.nix {}; + }) + ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.kernelModules = [ "dm-snapshot" ]; @@ -43,4 +50,38 @@ fsType = "ext4"; }; -} + environment.systemPackages = with pkgs; + [ + wl-clipboard + wl-clipboard-x11 + xclip + system76-scheduler + kwin-system76-scheduler-integration + ]; + + systemd.services."com.system76.Scheduler" = { + wantedBy = [ "multi-user.target" ]; + description = "the system76 process scheduler"; + serviceConfig = { + Type = "dbus"; + ExecStart = ''${pkgs.system76-scheduler}/bin/system76-scheduler daemon''; + ExecReload = ''${pkgs.system76-scheduler}/bin/system76-scheduler daemon reload''; + BusName = "com.system76.Scheduler"; + }; + }; + + services.dbus.packages = [ + pkgs.kwin-system76-scheduler-integration + pkgs.system76-scheduler + ]; + + systemd.packages = [ + pkgs.kwin-system76-scheduler-integration + pkgs.system76-scheduler + ]; + + environment.etc = { + "system76-scheduler".source = "${pkgs.system76-scheduler}/etc/system76-scheduler"; + }; + + } diff --git a/system/configuration.nix b/system/configuration.nix index 95a2e55..514798f 100755 --- a/system/configuration.nix +++ b/system/configuration.nix @@ -6,8 +6,8 @@ imports = [ # where are we ? #./wollomi.nix - # ./adrift.nix - ./quiver.nix + ./adrift.nix + # ./quiver.nix # home manager should exist for users @@ -29,15 +29,15 @@ keep-derivations = true ''; - environment.sessionVariables = rec { - WLR_NO_HARDWARE_CURSORS = "1"; - GBM_BACKEND = "nvidia-drm"; - NVD_BACKEND = "direct"; - __GLX_VENDOR_LIBRARY_NAME = "nvidia"; - LIBVA_DRIVER_NAME = "nvidia"; - __GL_GSYNC_ALLOWED = "1"; - __GL_VRR_ALLOWED = "1"; - }; + # environment.sessionVariables = rec { + # WLR_NO_HARDWARE_CURSORS = "1"; + # GBM_BACKEND = "nvidia-drm"; + # NVD_BACKEND = "direct"; + # __GLX_VENDOR_LIBRARY_NAME = "nvidia"; + # LIBVA_DRIVER_NAME = "nvidia"; + # __GL_GSYNC_ALLOWED = "1"; + # __GL_VRR_ALLOWED = "1"; + # }; environment.pathsToLink = [ "/share/zsh" ]; boot.loader.systemd-boot.enable = true; @@ -49,7 +49,6 @@ boot.tmpOnTmpfs = true; - networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. time.timeZone = "Australia/Sydney"; @@ -142,7 +141,7 @@ nix-index comma - hackneyed + # hackneyed ];