diff --git a/flake.lock b/flake.lock index 9f33d7a4..a38f2578 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "catppuccin": { "locked": { - "lastModified": 1721784420, - "narHash": "sha256-bgF6fN4Qgk7NErFKGuuqWXcLORsiykTYyqMUFRiAUBY=", + "lastModified": 1734057772, + "narHash": "sha256-waF/2Y39JXJ4kG3zawmw1J1GxPHopyoOkJKJhfJ7RBs=", "owner": "catppuccin", "repo": "nix", - "rev": "8bdb55cc1c13f572b6e4307a3c0d64f1ae286a4f", + "rev": "20b6328df20ae45752c81311d225fd47cba32483", "type": "github" }, "original": { @@ -59,11 +59,11 @@ ] }, "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -98,11 +98,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -158,11 +158,11 @@ ] }, "locked": { - "lastModified": 1721852138, - "narHash": "sha256-JH8N5uoqoVA6erV4O40VtKKHsnfmhvMGbxMNDLtim5o=", + "lastModified": 1734093295, + "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", "owner": "nix-community", "repo": "home-manager", - "rev": "304a011325b7ac7b8c9950333cd215a7aa146b0e", + "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", "type": "github" }, "original": { @@ -173,11 +173,11 @@ }, "impermanence": { "locked": { - "lastModified": 1719091691, - "narHash": "sha256-AxaLX5cBEcGtE02PeGsfscSb/fWMnyS7zMWBXQWDKbE=", + "lastModified": 1731242966, + "narHash": "sha256-B3C3JLbGw0FtLSWCjBxU961gLNv+BOOBC6WvstKLYMw=", "owner": "nix-community", "repo": "impermanence", - "rev": "23c1f06316b67cb5dabdfe2973da3785cfe9c34a", + "rev": "3ed3f0eaae9fcc0a8331e77e9319c8a4abd8a71a", "type": "github" }, "original": { @@ -193,11 +193,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1721226562, - "narHash": "sha256-KfdwusX12hhkzXKBmu2HhaU9EhaxVeWLDQw1Ll2A03o=", + "lastModified": 1734162608, + "narHash": "sha256-m2AX+3eiVqIK6uO7GbGY7SFnkkYOlR5fQiNI0eRvWOQ=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "927eea31915468e06b94bedf678261dc7cf048c8", + "rev": "31bdf4c7c91204d65afbde01146deee0259a8fb7", "type": "github" }, "original": { @@ -241,11 +241,11 @@ ] }, "locked": { - "lastModified": 1690328911, - "narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=", + "lastModified": 1729697500, + "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", "owner": "zhaofengli", "repo": "nix-github-actions", - "rev": "96df4a39c52f53cb7098b923224d8ce941b64747", + "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", "type": "github" }, "original": { @@ -257,11 +257,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720418205, - "narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=", + "lastModified": 1733392399, + "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "655a58a72a6601292512670343087c2d75d859c1", + "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", "type": "github" }, "original": { @@ -289,11 +289,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1721743106, - "narHash": "sha256-adRZhFpBTnHiK3XIELA3IBaApz70HwCYfv7xNrHjebA=", + "lastModified": 1733940404, + "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc14ed91132ee3a26255d01d8fd0c1f5bff27b2f", + "rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713", "type": "github" }, "original": { @@ -313,11 +313,11 @@ ] }, "locked": { - "lastModified": 1721724566, - "narHash": "sha256-6H+OTxXkOrh3P+15bhkQJY7OaBrQVzx4Pz+pCn6rtIg=", + "lastModified": 1733858086, + "narHash": "sha256-h2BDIDKiqgMpA6E+mu0RgMGy3FeM6k+EuJ9xgOQ1+zw=", "owner": "pjones", "repo": "plasma-manager", - "rev": "b967e042896de0f64513d4596e3d1f3eae445d1c", + "rev": "7e2010249529931a3848054d5ff0dbf24675ab68", "type": "github" }, "original": { diff --git a/global/auth/pub/hakugyokurou.pub b/global/auth/pub/hakugyokurou.pub new file mode 100644 index 00000000..4fa391d2 --- /dev/null +++ b/global/auth/pub/hakugyokurou.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHKCA0/6dsdVyLEgzWt8+u5lWVc0o6A3MY4M2Hf2BT8h koishi@hakugyokurou diff --git a/global/flatpak/default.nix b/global/flatpak/default.nix new file mode 100644 index 00000000..a3b77f76 --- /dev/null +++ b/global/flatpak/default.nix @@ -0,0 +1,17 @@ +{ pkgs +, lib +, config +, ... }: with lib; let + cfg = config.global.flatpak; +in { + options.global.flatpak = { + enable = mkEnableOption "flatpak sandbox"; + }; + + config = mkIf cfg.enable { + services.flatpak.enable = true; + xdg.portal.enable = true; + users.home.persist.directories = [ ".local/share/flatpak" ".var" ]; + environment.persistence."/nix/persist/fhs".directories = [ "/var/lib/flatpak" ]; + }; +} diff --git a/global/fs/zfs/default.nix b/global/fs/zfs/default.nix index 10c88a85..61976560 100644 --- a/global/fs/zfs/default.nix +++ b/global/fs/zfs/default.nix @@ -83,6 +83,7 @@ in { fileSystems = (mapAttrs (path: dataset: { device = "${cfg.zfs.persist}/${dataset}"; fsType = "zfs"; + options = [ "zfsutil" ]; # required by impermanence neededForBoot = true; }) cfg.zfs.mountpoints) // { diff --git a/global/fs/zfs/split.nix b/global/fs/zfs/split.nix index f49c2c09..22f9231f 100644 --- a/global/fs/zfs/split.nix +++ b/global/fs/zfs/split.nix @@ -31,5 +31,5 @@ in mkIf cfg.enable { }; # import system state pool after encrypted filesystems become available for key loading - boot.initrd.systemd.services."zfs-import-${config.global.fs.store}".after = [ "cryptsetup.target" ]; + boot.initrd.systemd.services."zfs-import-${config.global.fs.store}".after = [ "sysroot-nix-var-secret.mount" "cryptsetup.target" ]; } diff --git a/global/io/default.nix b/global/io/default.nix index 9763ec11..407a3de2 100644 --- a/global/io/default.nix +++ b/global/io/default.nix @@ -13,7 +13,10 @@ in { }; config = { - services.udev.extraRules = "" + (if cfg.betaflight then '' + services.udev.extraRules = '' + # ignore zvols + KERNEL=="zd*", ENV{UDISKS_IGNORE}="1" + '' + (if cfg.betaflight then '' # DFU (Internal bootloader for STM32 and AT32 MCUs) SUBSYSTEM=="usb", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", MODE="0664", GROUP="dialout" SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0664", GROUP="dialout" @@ -45,6 +48,7 @@ in { environment.persistence."/nix/persist/fhs".directories = [ "/var/log" + "/var/lib/nixos" "/var/lib/systemd/backlight" ] ++ optional config.networking.networkmanager.enable "/etc/NetworkManager/system-connections" ++ diff --git a/home/catppuccin/nixos.nix b/home/catppuccin/nixos.nix index c68d41ff..dbdf05cc 100644 --- a/home/catppuccin/nixos.nix +++ b/home/catppuccin/nixos.nix @@ -65,12 +65,14 @@ in { # override greetd theme programs.regreet = mkIf cfg.enable { + theme = { + inherit (cfg.gtk) name package; + }; + cursorTheme = { + inherit (cfg.cursor) name package; + }; settings = { background.path = ./solid.png; - GTK = { - theme_name = cfg.gtk.name; - cursor_theme_name = cfg.cursor.name; - }; }; }; }; diff --git a/home/gnome/impl/dconf.nix b/home/gnome/impl/dconf.nix index f8426c5d..b9d88c18 100644 --- a/home/gnome/impl/dconf.nix +++ b/home/gnome/impl/dconf.nix @@ -3,6 +3,7 @@ , config , ... }: with lib; let cfg = config.passthrough.gnome; + bg = ../../../share/54345906_p0.jpg; in mkIf cfg.enable { dconf.settings = let p = "org/gnome"; @@ -26,18 +27,18 @@ in mkIf cfg.enable { "${pd}/background" = { color-shading-type = "solid"; picture-options = "zoom"; - picture-uri = "file://${../../../share/catppuccin-nix.png}"; - picture-uri-dark = "file://${../../../share/catppuccin-nix.png}"; + picture-uri = "file://${bg}"; + picture-uri-dark = "file://${bg}"; primary-color = "#000000000000"; secondary-color = "#000000000000"; }; "${pd}/interface" = { color-scheme = "prefer-dark"; - cursor-theme = "Catppuccin-Frappe-Dark-Cursors"; + cursor-theme = "Bibata-Modern-Classic"; font-antialiasing = "grayscale"; font-hinting = "slight"; - gtk-theme = "Catppuccin-Frappe-Compact-Pink-Dark"; + gtk-theme = "adw-gtk3-dark"; icon-theme = "Papirus-Dark"; }; @@ -45,7 +46,7 @@ in mkIf cfg.enable { color-shading-type = "solid"; lock-enabled = false; picture-options = "zoom"; - picture-uri = "file://${../../../share/catppuccin-nix.png}"; + picture-uri = "file://${bg}"; primary-color = "#000000000000"; secondary-color = "#000000000000"; }; @@ -53,11 +54,64 @@ in mkIf cfg.enable { "${pd}/wm/preferences" = { action-double-click-titlebar = "toggle-maximize"; action-middle-click-titlebar = "minimize"; - button-layout = "close,minimize,maximize:appmenu"; + button-layout = "close:appmenu"; + resize-with-right-button = true; + }; + + "${pd}/wm/keybindings" = { + panel-run-dialog = [ ]; + begin-resize = [ "r" ]; + close = [ "q" ]; + minimize = [ "BackSpace" ]; + move-to-workspace-1 = [ "1" ]; + move-to-workspace-2 = [ "2" ]; + move-to-workspace-3 = [ "3" ]; + move-to-workspace-4 = [ "4" ]; + move-to-workspace-left = [ "h" ]; + move-to-workspace-right = [ "l" ]; + switch-to-workspace-1 = [ "1" ]; + switch-to-workspace-2 = [ "2" ]; + switch-to-workspace-3 = [ "3" ]; + switch-to-workspace-4 = [ "4" ]; + toggle-maximized = [ "f" ]; + }; + + "${ps}/keybindings" = { + switch-to-application-1 = [ ]; + switch-to-application-2 = [ ]; + switch-to-application-3 = [ ]; + switch-to-application-4 = [ ]; + switch-to-application-5 = [ ]; + switch-to-application-6 = [ ]; + switch-to-application-7 = [ ]; + switch-to-application-8 = [ ]; + switch-to-application-9 = [ ]; + toggle-application-view = [ "d" ]; + }; + + "${p}/settings-daemon/plugins/media-keys" = { + custom-keybindings = [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" + ]; + logout = [ ]; + screensaver = [ "l" ]; + }; + + "${p}/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { + binding = "Return"; + command = "kgx"; + name = "Launch console"; + }; + + "${p}/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { + binding = "q"; + command = "google-chrome-stable"; + name = "Launch Google Chrome"; }; "${ptlp}" = { - default = "71a9971e-e829-43a9-9b2f-4565c855d664"; + #default = "95894cfd-82f7-430d-af6e-84d168bc34f5"; list = [ "de8a9081-8352-4ce4-9519-5de655ad9361" "71a9971e-e829-43a9-9b2f-4565c855d664" @@ -151,41 +205,80 @@ in mkIf cfg.enable { "windowsNavigator@gnome-shell-extensions.gcampax.github.com" "window-list@gnome-shell-extensions.gcampax.github.com" "workspace-indicator@gnome-shell-extensions.gcampax.github.com" - "dash-to-panel@jderose9.github.com" + "dash-to-dock@micxgx.gmail.com" ]; enabled-extensions = [ "user-theme@gnome-shell-extensions.gcampax.github.com" "apps-menu@gnome-shell-extensions.gcampax.github.com" "drive-menu@gnome-shell-extensions.gcampax.github.com" - "dash-to-dock@micxgx.gmail.com" + "appindicatorsupport@rgcjonas.gmail.com" + "dash-to-panel@jderose9.github.com" + "caffeine@patapon.info" + "PrivacyMenu@stuarthayhurst" ]; + last-selected-power-profile = "performance"; welcome-dialog-last-shown-version = "45.3"; }; - "${pse}/user-theme".name = "Catppuccin-Frappe-Compact-Pink-Dark"; + #"${pse}/user-theme".name = "catppuccin-mocha-pink-compact"; + + "${pse}/caffeine" = { + screen-blank = "never"; + }; "${pse}/dash-to-dock" = { background-opacity = 0.80000000000000004; dash-max-icon-size = 48; dock-position = "BOTTOM"; height-fraction = 0.90000000000000002; - multi-monitor = true; + multi-monitor = false; + running-indicator-style = "DOTS"; + custom-theme-shrink = true; }; "${pse}/dash-to-panel" = { - animate-appicon-hover-animation-extent = ''{'RIPPLE': 4, 'PLANK': 4, 'SIMPLE': 1}''; + animate-appicon-hover = false; + animate-appicon-hover-animation-type = "SIMPLE"; appicon-margin = 0; appicon-padding = 4; + appicon-style= "NORMAL"; available-monitors = [ 0 ]; dot-position = "BOTTOM"; + dot-style-focused = "METRO"; + dot-style-unfocused = "DOTS"; + group-apps = true; + hide-overview-on-startup = true; hotkeys-overlay-combo = "TEMPORARILY"; + intellihide = true; + intellihide-behaviour = "FOCUSED_WINDOWS"; + intellihide-hide-from-windows = true; + isolate-workspaces = false; leftbox-padding = -1; + overview-click-to-exit = true; panel-anchors = ''{"0":"MIDDLE"}''; - panel-lengths=''{"0":100}''; - panel-sizes=''{"0":42}''; + panel-element-positions = ''{"0":[{"element":"showAppsButton","visible":true,"position":"stackedTL"},{"element":"activitiesButton","visible":true,"position":"stackedTL"},{"element":"leftBox","visible":false,"position":"stackedTL"},{"element":"taskbar","visible":true,"position":"centerMonitor"},{"element":"centerBox","visible":true,"position":"stackedBR"},{"element":"rightBox","visible":true,"position":"stackedBR"},{"element":"dateMenu","visible":true,"position":"stackedBR"},{"element":"systemMenu","visible":true,"position":"stackedBR"},{"element":"desktopButton","visible":false,"position":"stackedBR"}]}''; + panel-lengths = ''{"0":100}''; + panel-positions = ''{"0":"BOTTOM"}''; + panel-sizes = ''{"0":42}''; primary-monitor = 0; + secondarymenu-contains-showdetails = true; + show-showdesktop-hover = true; status-icon-padding = -1; - trans-use-custom-bg = false; + stockgs-force-hotcorner = false; + stockgs-keep-dash = false; + stockgs-keep-top-panel = false; + stockgs-panelbtn-click-only = false; + trans-bg-color = "#2a2a2a"; + trans-dynamic-anim-target = 1.0; + trans-dynamic-behavior = "MAXIMIZED_WINDOWS"; + trans-gradient-bottom-color = "#000000"; + trans-gradient-bottom-opacity = 0.5; + trans-gradient-top-opacity = 0.0; + trans-panel-opacity = 0.0; + trans-use-custom-bg = true; + trans-use-custom-gradient = true; + trans-use-custom-opacity = true; + trans-use-dynamic-opacity = true; tray-padding = -1; window-preview-title-position = "TOP"; }; diff --git a/home/gnome/impl/home.nix b/home/gnome/impl/home.nix index 24d15901..ff5b9eba 100644 --- a/home/gnome/impl/home.nix +++ b/home/gnome/impl/home.nix @@ -8,12 +8,25 @@ in mkIf cfg.enable { with pkgs; with gnome; with gnomeExtensions; [ - # gnome - gnome-terminal + # gtk3 theme + adw-gtk3 # gnomeExtensions + caffeine dash-to-panel dash-to-dock appindicator + privacy-settings-menu ]; + + catppuccin.enable = mkForce false; + home.pointerCursor = mkForce null; + gtk.enable = false; + + home.persistence."/nix/persist/home/${config.home.username}" = { + removePrefixDirectory = true; + files = [ + (if config.specialisation != {} then "gnome/.config/monitors.xml" else "extern/.config/monitors.xml") + ]; + }; } diff --git a/home/gnome/impl/nixos.nix b/home/gnome/impl/nixos.nix index e7ebd0a8..e49c6ad2 100644 --- a/home/gnome/impl/nixos.nix +++ b/home/gnome/impl/nixos.nix @@ -4,13 +4,46 @@ , ... }: with lib; let cfg = config.home.gnome; in mkIf cfg.enable { + global.flatpak.enable = mkDefault true; + home.catppuccin.enable = mkDefault false; + catppuccin.enable = false; programs.regreet.enable = false; services.xserver.enable = true; services.xserver.displayManager.startx.enable = false; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; - services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; + services.udev.packages = with pkgs; [ gnome-settings-daemon ]; + services.hardware.bolt.enable = true; + xdg.portal.configPackages = with pkgs; [ gnome-session ]; + hardware.pulseaudio.enable = false; - users.home.persist.directories = [ ]; - environment.persistence."/nix/persist/fhs".directories = [ ]; + environment.gnome.excludePackages = (with pkgs; [ + snapshot + gnome-tour + ] ++ optionals config.global.flatpak.enable [ + baobab + simple-scan + evince + file-roller + geary + loupe + seahorse + totem + epiphany + gnome-calculator + gnome-calendar + gnome-connections + gnome-font-viewer + gnome-text-editor + gnome-characters + gnome-clocks + gnome-contacts + gnome-logs + gnome-maps + gnome-music + gnome-weather + ]) ++ (with pkgs.gnome; [ ] ++ optionals config.global.flatpak.enable [ + ]); + + users.home.persist.directories = [ ".config/dconf" ]; } diff --git a/home/gnome/nixos.nix b/home/gnome/nixos.nix index ee00b3ef..c7a3bd26 100644 --- a/home/gnome/nixos.nix +++ b/home/gnome/nixos.nix @@ -13,7 +13,7 @@ in { config = { users.homeModules = [ # this module passes gnome configuration to home-manager - { passthrough.gnome= cfg; } + { passthrough.gnome = cfg; } ]; specialisation.nognome = with cfg; mkIf enable { diff --git a/home/gui/nixos.nix b/home/gui/nixos.nix index 6b1fccd3..0e655654 100644 --- a/home/gui/nixos.nix +++ b/home/gui/nixos.nix @@ -30,7 +30,7 @@ in { dconf.enable = true; }; services = mkIf gui { - blueman.enable = true; + blueman.enable = !config.global.flatpak.enable; }; }; } diff --git a/home/gyroflow/home.nix b/home/gyroflow/home.nix index 5ec39359..abff2f37 100644 --- a/home/gyroflow/home.nix +++ b/home/gyroflow/home.nix @@ -4,7 +4,8 @@ , ... }: with lib; let cfg = config.passthrough.gyroflow; in mkIf cfg.enable { - home.packages = [ cfg.package ]; + # temporarily gone until regression is fixed + #home.packages = [ cfg.package ]; wayland.windowManager.sway.config.window.commands = [ { criteria.app_id = "xyz.gyroflow.gyroflow"; command = "floating enable"; } diff --git a/home/profile.nix b/home/profile.nix index 6cf374df..ee64c439 100644 --- a/home/profile.nix +++ b/home/profile.nix @@ -139,6 +139,7 @@ in { home-manager.users = mapAttrs (name: opts: { imports = with inputs; cfg.homeModules ++ [ + impermanence.homeManagerModules.impermanence catppuccin.homeManagerModules.catppuccin ]; home.file.".face" = mkIf (opts.picture != null) { diff --git a/home/util/home.nix b/home/util/home.nix index 19d6eb0d..2c377008 100644 --- a/home/util/home.nix +++ b/home/util/home.nix @@ -14,14 +14,15 @@ in { ] ++ optionals config.passthrough.gui [ gtk-engine-murrine gnome-themes-extra - xfce.thunar gimp - jellyfin-media-player mission-planner - betaflight-configurator inav-configurator inav-blackbox-tools (blhelisuite32.override { workdir = "${config.home.homeDirectory}/.blhelisuite32"; }) + ] ++ optionals (config.passthrough.gui && !config.passthrough.flatpak.enable) [ + xfce.thunar gimp + jellyfin-media-player + betaflight-configurator expresslrs-configurator ]; diff --git a/home/util/nixos.nix b/home/util/nixos.nix index 4e55af9a..990d9e61 100644 --- a/home/util/nixos.nix +++ b/home/util/nixos.nix @@ -13,6 +13,8 @@ in { users.homeModules = [ # this module passes util configuration to home-manager { passthrough.util = cfg; } + # this module passes flatpak configuration to home-manager + { passthrough.flatpak = config.global.flatpak; } ]; programs.zsh.enable = true; @@ -23,18 +25,20 @@ in { ".cache/nix-index" ] ++ optionals gui [ + # mission-planner + ".local/share/Mission Planner" + # inav-configurator + ".config/inav-configurator" + ] ++ + optionals (gui && !config.global.flatpak.enable) [ # jellyfin-media-player ".config/jellyfin.org" ".local/share/jellyfinmediaplayer" ".local/share/Jellyfin Media Player" - # mission-planner - ".local/share/Mission Planner" # expresslrs-configurator ".config/ExpressLRS Configurator" # betaflight-configurator ".config/betaflight-configurator" - # inav-configurator - ".config/inav-configurator" ]; }; } diff --git a/spec/chireiden/default.nix b/spec/chireiden/default.nix index 4dd70842..f59fbf08 100644 --- a/spec/chireiden/default.nix +++ b/spec/chireiden/default.nix @@ -18,6 +18,7 @@ }; home = { + gnome.enable = true; vscode.enable = true; libreoffice.enable = true; minecraft.enable = true; diff --git a/spec/eientei/minecraft.nix b/spec/eientei/minecraft.nix index a9b88b9f..a18a5e6b 100644 --- a/spec/eientei/minecraft.nix +++ b/spec/eientei/minecraft.nix @@ -12,6 +12,11 @@ # stop = "stop"; #}; + greedycraft = { + cmdline = "${pkgs.jdk8}/bin/java -Xmx10G -Xms10G -Xss4M -Dfile.encoding=GBK -Dsun.rmi.dgc.server.gcInterval=1800000 -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:+AlwaysPreTouch -XX:+UseStringDeduplication -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -XX:-OmitStackTraceInFastThrow -XX:+OptimizeStringConcat -XX:+UseAdaptiveGCBoundary -XX:G1HeapRegionSize=32M -jar forge-1.12.2-14.23.5.2855.jar nogui"; + stop = "stop"; + }; + nfwc = { cmdline = "${pkgs.jdk}/bin/java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.19.2-43.3.8/unix_args.txt"; stop = "stop"; diff --git a/spec/eientei/nextcloud.nix b/spec/eientei/nextcloud.nix index 51af4cf0..23d1e678 100644 --- a/spec/eientei/nextcloud.nix +++ b/spec/eientei/nextcloud.nix @@ -4,9 +4,9 @@ in { services.nextcloud = { enable = true; - package = pkgs.nextcloud29; + package = pkgs.nextcloud30; extraApps = { - inherit (pkgs.nextcloud29Packages.apps) + inherit (pkgs.nextcloud30Packages.apps) notify_push impersonate spreed contacts bookmarks deck polls notes forms twofactor_webauthn; diff --git a/spec/eientei/tubesync.nix b/spec/eientei/tubesync.nix index f67b7e49..202dae12 100644 --- a/spec/eientei/tubesync.nix +++ b/spec/eientei/tubesync.nix @@ -1,6 +1,6 @@ { services.tubesync = { - enable = true; + enable = false; stateDir = "/nix/persist/service/tubesync"; }; diff --git a/spec/focus/nextcloud.nix b/spec/focus/nextcloud.nix index 6c9debc0..eabee803 100644 --- a/spec/focus/nextcloud.nix +++ b/spec/focus/nextcloud.nix @@ -4,9 +4,9 @@ in { services.nextcloud = { enable = true; - package = pkgs.nextcloud29; + package = pkgs.nextcloud30; extraApps = { - inherit (pkgs.nextcloud29Packages.apps) + inherit (pkgs.nextcloud30Packages.apps) notify_push impersonate spreed contacts bookmarks deck polls notes forms twofactor_webauthn; diff --git a/spec/hakugyokurou/default.nix b/spec/hakugyokurou/default.nix new file mode 100644 index 00000000..f1f9f285 --- /dev/null +++ b/spec/hakugyokurou/default.nix @@ -0,0 +1,61 @@ +{ pkgs, lib, config, ... }: { + global = { + id = "09a2900f15b74f36b023a9ebcd539f6a"; + fs.esp.uuid = "AE73-B83E"; + fs.type = "xfs"; + fs.store = "e4c673cb-03c5-44ac-b2f1-1085a7f7a553"; + fs.cryptsetup.enable = true; + fs.cryptsetup.uuids.persist = "122001b1-7a43-4bab-ae7c-ba8eeb1cc864"; + boot.lanzaboote = true; + gpu.enable = true; + gpu.type = "amdgpu"; + android.enable = true; + }; + + home = { + gnome.enable = true; + jetbrains.enable = true; + vscode.enable = true; + steam.enable = true; + minecraft.enable = true; + minecraft.user = "app"; + }; + + users.homeModules = [ { + wayland.windowManager.sway.config = { + input = { + "9610:30:HID_258a:001e_Mouse".natural_scroll = "disabled"; + "1539:61441:NVTK0603:00_0603:F001_UNKNOWN".map_to_output = "eDP-1"; + "1539:61441:NVTK0603:00_0603:F001".map_to_output = "eDP-1"; + }; + output = { + eDP-1.scale = "2"; + eDP-1.transform = "270"; + }; + }; + } ]; + + powerManagement.enable = true; + powerManagement.cpuFreqGovernor = "performance"; + boot.kernelParams = [ + "video=eDP-1:panel_orientation=left_side_up" + ]; + boot.plymouth.extraConfig = '' + DeviceScale=2 + ''; + + services.greetd.settings.default_session.command = let + cfg = config.programs.regreet; + in lib.mkOverride 999 "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} ${lib.escapeShellArgs cfg.cageArgs} -- ${pkgs.writeShellScript "cageResolution" '' + ${lib.getExe pkgs.wlr-randr} --output eDP-1 --scale 2 --transform 90 + ${lib.getExe cfg.package} + ''}"; + + hardware.sensor.iio.enable = true; + hardware.enableRedistributableFirmware = true; + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usbhid" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + hardware.cpu.intel.updateMicrocode = true; +} diff --git a/spec/koumakyou/jovian.nix b/spec/koumakyou/jovian.nix index a5754ee1..f06d43f7 100644 --- a/spec/koumakyou/jovian.nix +++ b/spec/koumakyou/jovian.nix @@ -32,16 +32,23 @@ }; }; - home-manager.users.app.home.packages = with pkgs; [ - (pkgs.kodi-wayland.passthru.withPackages (kodiPkgs: with kodiPkgs; [ - joystick # keymap steam-controller - #controller-topology-project - libretro libretro-2048 - libretro-fuse libretro-genplus libretro-mgba - libretro-nestopia libretro-snes9x - jellycon - ])) - ]; + home-manager.users.app = { + home.packages = with pkgs; [ + (pkgs.kodi-wayland.passthru.withPackages (kodiPkgs: with kodiPkgs; [ + joystick # keymap steam-controller + #controller-topology-project + libretro libretro-2048 + libretro-fuse libretro-genplus libretro-mgba + libretro-nestopia libretro-snes9x + jellycon + ])) + ]; + + home.pointerCursor = { + package = pkgs.steamdeck-hw-theme; + name = "steam"; + }; + }; services.handheld-daemon = { enable = true; diff --git a/spec/reimaden/default.nix b/spec/reimaden/default.nix index 447d1f8a..10962ef7 100644 --- a/spec/reimaden/default.nix +++ b/spec/reimaden/default.nix @@ -11,13 +11,12 @@ }; home = { - plasma.specialise = true; + gnome.enable = true; #headless.enable = "eDP-1"; gyroflow.enable = true; jetbrains.enable = true; vscode.enable = true; libreoffice.enable = true; - minecraft.enable = true; steam.enable = true; }; diff --git a/spec/shatter/default.nix b/spec/shatter/default.nix new file mode 100644 index 00000000..9602114c --- /dev/null +++ b/spec/shatter/default.nix @@ -0,0 +1,34 @@ +{ lib +, pkgs +, ... }: { + global = { + id = "f16d3a87afdd4eb2b1fa4c098d4a9c1a"; + auth.openssh.enable = true; + fs.esp.uuid = "153D-AA49"; + fs.type = "xfs"; + fs.store = "67878f8f-3724-4551-a2e2-f43d674e1d93"; + fs.cryptsetup.enable = true; + fs.cryptsetup.uuids.persist = "3633e292-59e8-497d-9e51-0186ca73c25c"; + gpu.enable = true; + gpu.type = "intel"; + gpu.session = false; + boot.lanzaboote = true; + }; + + services.udev.extraRules = '' + SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="88:c9:b3:b5:15:0e", NAME="i225-v" + SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="8c:a6:82:70:08:ca", NAME="aqc113c" + ''; + boot.kernelParams = [ "zfs.zfs_arc_max=2147483648" ]; + networking.firewall.checkReversePath = false; + boot.swraid.enable = true; + boot.swraid.mdadmConf = '' + PROGRAM /run/current-system/sw/bin/true + ''; + + hardware.enableRedistributableFirmware = true; + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ "i915" ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; +} diff --git a/spec/yume/default.nix b/spec/yume/default.nix index 3352e4e4..1550ec16 100644 --- a/spec/yume/default.nix +++ b/spec/yume/default.nix @@ -11,10 +11,11 @@ boot.lanzaboote = true; gpu.enable = true; gpu.type = "nvidia"; + android.enable = true; }; home = { - plasma.enable = true; + gnome.enable = true; gyroflow.enable = true; jetbrains.enable = true; vscode.enable = true; @@ -23,27 +24,12 @@ steam.enable = true; }; - home.plasma.extraConfig = { - configFile = { - kscreenlockerrc.Daemon.Autolock = false; - kcminputrc."Libinput/16700/9486/Dell Computer Corp Dell Laser Mouse MS3220".NaturalScroll = true; - }; - }; - imports = lib.pipe ./. [ builtins.readDir (lib.filterAttrs (n: ty: ty == "regular" && n != "default.nix")) (lib.mapAttrsToList (n: _: ./${n})) ] ++ [ (modulesPath + "/profiles/qemu-guest.nix") ]; - # work around low cage resolution on pure nvidia - services.greetd.settings.default_session.command = let - cfg = config.programs.regreet; - in "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} ${lib.escapeShellArgs cfg.cageArgs} -- ${pkgs.writeShellScript "cageResolution" '' - ${lib.getExe pkgs.wlr-randr} --output DP-2 --mode 1920x1080@60.000000Hz - ${lib.getExe cfg.package} - ''}"; - boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "usbhid" "sr_mod" "virtio_blk" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ];