Compare commits

...

52 commits

Author SHA1 Message Date
7431c6079a
chore(flake)!: bump inputs 2024-12-14 17:58:40 +08:00
2cf696e9ef
feat(eientei): add minecraft greedycraft instance 2024-12-14 17:47:10 +08:00
bc3d3e5423
fix(gnome): link monitors.xml 2024-11-26 22:42:49 +08:00
186c33373c
feat(shatter): initial configuration 2024-11-22 04:52:45 +08:00
71e7a0e90b
chore(flake)!: bump inputs 2024-11-22 04:48:24 +08:00
f6b2482822
chore(flake)!: bump inputs 2024-11-14 11:00:55 +08:00
28db6370ad
chore(flake)!: bump inputs 2024-11-08 14:54:30 +08:00
9138eb110a
chore(flake)!: bump inputs 2024-10-26 01:33:16 +08:00
c51c239c95
chore(flake)!: bump inputs 2024-10-26 01:14:54 +08:00
b9f9c0cf74
fix(zfs): split setup depend on secret mountpoint 2024-10-26 01:02:09 +08:00
55b1d8d596
feat(chireiden): enable gnome 2024-10-26 01:01:06 +08:00
f63e2c30b5
chore(focus): nextcloud 29 -> 30 2024-10-24 15:08:00 +08:00
21bf4cbdb0
chore(eientei): nextcloud 29 -> 30 2024-10-21 22:11:31 +08:00
ddfed88ec5
chore(flake)!: bump inputs 2024-10-21 20:48:13 +08:00
c5ee49c8c3
feat(yume): enable android 2024-10-21 20:48:04 +08:00
900dd7f887
chore(flake)!: bump inputs 2024-09-28 16:52:28 +08:00
cd4a5fcd02
fix(gnome): intellihide from focused windows 2024-09-19 09:25:48 +08:00
0aa0a18058
chore(flake)!: bump inputs 2024-09-18 19:23:46 +08:00
bc362174a9
fix(hakugyokurou): remove jovian mode 2024-09-13 12:32:12 +08:00
992572be6b
chore(flake)!: bump inputs 2024-09-13 12:28:17 +08:00
5ba7d04556
fix(gnome): update package 2024-09-13 12:14:49 +08:00
d7e86b23aa
chore(flake)!: bump inputs 2024-09-10 22:53:05 +08:00
156fcf69be
fix(gnome): add monitors persist 2024-09-02 22:14:26 +08:00
5db8ac7db9
fix(gnome): add some gnome-specific theming 2024-08-31 21:25:47 +08:00
ca243e9d62
chore(flake)!: bump inputs 2024-08-28 22:15:58 +08:00
05bd719cf5
fix(reimaden): disable unsandboxed minecraft 2024-08-18 13:33:29 +08:00
1a0efefa32
fix(io): udisks ignore zvols 2024-08-17 20:08:25 +08:00
5f52e997d7
feat(fs): add zfs option 2024-08-17 20:08:02 +08:00
430b48beb8
feat(reimaden): enable gnome 2024-08-17 20:07:47 +08:00
08a362c339
feat(gnome): add extensions 2024-08-15 20:50:14 +08:00
b33f834903
fix(gnome): disable d2p multi-monitor 2024-08-15 18:26:59 +08:00
a2029ca202
chore(flake)!: bump inputs 2024-08-13 10:10:58 +08:00
f1238f9380
fix(util): remove persist unnecessary for flatpak 2024-08-07 23:01:06 +08:00
8bf10bb62a
fix(flatpak): add var persist 2024-08-07 22:49:43 +08:00
5d86e40272
feat(gnome): set power profile toggle 2024-08-04 17:20:50 +08:00
cf218d666d
fix(gnome): add more shortcuts 2024-08-04 13:05:00 +08:00
fb006e5969
chore(flake)!: bump inputs 2024-08-04 12:28:13 +08:00
79ee409aa1
feat(hakugyokurou): enable android 2024-08-04 12:27:11 +08:00
d566409e94
fix(gnome): add more shortcuts 2024-08-03 18:02:17 +08:00
236ea9ad25
fix(gnome): improve gtk3 theme consistency 2024-07-30 18:51:45 +08:00
a6613c5946
fix(gnome): add some gnome-specific theming 2024-07-30 18:45:20 +08:00
3afc10527e
feat(gnome): move applications to flatpak 2024-07-29 23:44:44 +08:00
5b549b0c35
fix(hakugyokurou): set plymouth scale 2024-07-29 20:01:06 +08:00
94bf2f9847
fix(gnome): disable theme 2024-07-29 19:56:16 +08:00
e9bf8b292f
feat(gnome): enable flatpak by default 2024-07-29 15:40:59 +08:00
195878e780
feat(flatpak): add portals and persist 2024-07-29 15:40:41 +08:00
0209929c94
feat(hakugyokurou): enable gnome 2024-07-29 14:43:01 +08:00
7f1f67e956
fix(gnome): update gtk theme names 2024-07-29 14:19:20 +08:00
250bd3545f
chore(flake)!: bump inputs 2024-07-28 16:06:12 +08:00
e91e516e1a
fix(koumakyou): set cursor theme 2024-07-27 23:05:13 +08:00
9c2b48ea85
fix(hakugyokurou): correct Xwayland scale value 2024-07-27 23:03:53 +08:00
fc393ba3c9
feat(hakugyokurou): initial configuration 2024-07-27 18:18:35 +08:00
26 changed files with 363 additions and 99 deletions

60
flake.lock generated
View file

@ -2,11 +2,11 @@
"nodes": { "nodes": {
"catppuccin": { "catppuccin": {
"locked": { "locked": {
"lastModified": 1721784420, "lastModified": 1734057772,
"narHash": "sha256-bgF6fN4Qgk7NErFKGuuqWXcLORsiykTYyqMUFRiAUBY=", "narHash": "sha256-waF/2Y39JXJ4kG3zawmw1J1GxPHopyoOkJKJhfJ7RBs=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "8bdb55cc1c13f572b6e4307a3c0d64f1ae286a4f", "rev": "20b6328df20ae45752c81311d225fd47cba32483",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -59,11 +59,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719994518, "lastModified": 1733312601,
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -98,11 +98,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1731533236,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -158,11 +158,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1721852138, "lastModified": 1734093295,
"narHash": "sha256-JH8N5uoqoVA6erV4O40VtKKHsnfmhvMGbxMNDLtim5o=", "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "304a011325b7ac7b8c9950333cd215a7aa146b0e", "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -173,11 +173,11 @@
}, },
"impermanence": { "impermanence": {
"locked": { "locked": {
"lastModified": 1719091691, "lastModified": 1731242966,
"narHash": "sha256-AxaLX5cBEcGtE02PeGsfscSb/fWMnyS7zMWBXQWDKbE=", "narHash": "sha256-B3C3JLbGw0FtLSWCjBxU961gLNv+BOOBC6WvstKLYMw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "impermanence", "repo": "impermanence",
"rev": "23c1f06316b67cb5dabdfe2973da3785cfe9c34a", "rev": "3ed3f0eaae9fcc0a8331e77e9319c8a4abd8a71a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -193,11 +193,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1721226562, "lastModified": 1734162608,
"narHash": "sha256-KfdwusX12hhkzXKBmu2HhaU9EhaxVeWLDQw1Ll2A03o=", "narHash": "sha256-m2AX+3eiVqIK6uO7GbGY7SFnkkYOlR5fQiNI0eRvWOQ=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "927eea31915468e06b94bedf678261dc7cf048c8", "rev": "31bdf4c7c91204d65afbde01146deee0259a8fb7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -241,11 +241,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1690328911, "lastModified": 1729697500,
"narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=", "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
"owner": "zhaofengli", "owner": "zhaofengli",
"repo": "nix-github-actions", "repo": "nix-github-actions",
"rev": "96df4a39c52f53cb7098b923224d8ce941b64747", "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -257,11 +257,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1720418205, "lastModified": 1733392399,
"narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=", "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "655a58a72a6601292512670343087c2d75d859c1", "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -289,11 +289,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1721743106, "lastModified": 1733940404,
"narHash": "sha256-adRZhFpBTnHiK3XIELA3IBaApz70HwCYfv7xNrHjebA=", "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "dc14ed91132ee3a26255d01d8fd0c1f5bff27b2f", "rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -313,11 +313,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1721724566, "lastModified": 1733858086,
"narHash": "sha256-6H+OTxXkOrh3P+15bhkQJY7OaBrQVzx4Pz+pCn6rtIg=", "narHash": "sha256-h2BDIDKiqgMpA6E+mu0RgMGy3FeM6k+EuJ9xgOQ1+zw=",
"owner": "pjones", "owner": "pjones",
"repo": "plasma-manager", "repo": "plasma-manager",
"rev": "b967e042896de0f64513d4596e3d1f3eae445d1c", "rev": "7e2010249529931a3848054d5ff0dbf24675ab68",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHKCA0/6dsdVyLEgzWt8+u5lWVc0o6A3MY4M2Hf2BT8h koishi@hakugyokurou

View file

@ -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" ];
};
}

View file

@ -83,6 +83,7 @@ in {
fileSystems = (mapAttrs (path: dataset: { fileSystems = (mapAttrs (path: dataset: {
device = "${cfg.zfs.persist}/${dataset}"; device = "${cfg.zfs.persist}/${dataset}";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ];
# required by impermanence # required by impermanence
neededForBoot = true; neededForBoot = true;
}) cfg.zfs.mountpoints) // { }) cfg.zfs.mountpoints) // {

View file

@ -31,5 +31,5 @@ in mkIf cfg.enable {
}; };
# import system state pool after encrypted filesystems become available for key loading # 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" ];
} }

View file

@ -13,7 +13,10 @@ in {
}; };
config = { 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) # DFU (Internal bootloader for STM32 and AT32 MCUs)
SUBSYSTEM=="usb", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", MODE="0664", GROUP="dialout" SUBSYSTEM=="usb", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", MODE="0664", GROUP="dialout"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", 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 = [ environment.persistence."/nix/persist/fhs".directories = [
"/var/log" "/var/log"
"/var/lib/nixos"
"/var/lib/systemd/backlight" "/var/lib/systemd/backlight"
] ++ ] ++
optional config.networking.networkmanager.enable "/etc/NetworkManager/system-connections" ++ optional config.networking.networkmanager.enable "/etc/NetworkManager/system-connections" ++

View file

@ -65,12 +65,14 @@ in {
# override greetd theme # override greetd theme
programs.regreet = mkIf cfg.enable { programs.regreet = mkIf cfg.enable {
theme = {
inherit (cfg.gtk) name package;
};
cursorTheme = {
inherit (cfg.cursor) name package;
};
settings = { settings = {
background.path = ./solid.png; background.path = ./solid.png;
GTK = {
theme_name = cfg.gtk.name;
cursor_theme_name = cfg.cursor.name;
};
}; };
}; };
}; };

View file

@ -3,6 +3,7 @@
, config , config
, ... }: with lib; let , ... }: with lib; let
cfg = config.passthrough.gnome; cfg = config.passthrough.gnome;
bg = ../../../share/54345906_p0.jpg;
in mkIf cfg.enable { in mkIf cfg.enable {
dconf.settings = let dconf.settings = let
p = "org/gnome"; p = "org/gnome";
@ -26,18 +27,18 @@ in mkIf cfg.enable {
"${pd}/background" = { "${pd}/background" = {
color-shading-type = "solid"; color-shading-type = "solid";
picture-options = "zoom"; picture-options = "zoom";
picture-uri = "file://${../../../share/catppuccin-nix.png}"; picture-uri = "file://${bg}";
picture-uri-dark = "file://${../../../share/catppuccin-nix.png}"; picture-uri-dark = "file://${bg}";
primary-color = "#000000000000"; primary-color = "#000000000000";
secondary-color = "#000000000000"; secondary-color = "#000000000000";
}; };
"${pd}/interface" = { "${pd}/interface" = {
color-scheme = "prefer-dark"; color-scheme = "prefer-dark";
cursor-theme = "Catppuccin-Frappe-Dark-Cursors"; cursor-theme = "Bibata-Modern-Classic";
font-antialiasing = "grayscale"; font-antialiasing = "grayscale";
font-hinting = "slight"; font-hinting = "slight";
gtk-theme = "Catppuccin-Frappe-Compact-Pink-Dark"; gtk-theme = "adw-gtk3-dark";
icon-theme = "Papirus-Dark"; icon-theme = "Papirus-Dark";
}; };
@ -45,7 +46,7 @@ in mkIf cfg.enable {
color-shading-type = "solid"; color-shading-type = "solid";
lock-enabled = false; lock-enabled = false;
picture-options = "zoom"; picture-options = "zoom";
picture-uri = "file://${../../../share/catppuccin-nix.png}"; picture-uri = "file://${bg}";
primary-color = "#000000000000"; primary-color = "#000000000000";
secondary-color = "#000000000000"; secondary-color = "#000000000000";
}; };
@ -53,11 +54,64 @@ in mkIf cfg.enable {
"${pd}/wm/preferences" = { "${pd}/wm/preferences" = {
action-double-click-titlebar = "toggle-maximize"; action-double-click-titlebar = "toggle-maximize";
action-middle-click-titlebar = "minimize"; 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 = [ "<Super>r" ];
close = [ "<Shift><Super>q" ];
minimize = [ "<Super>BackSpace" ];
move-to-workspace-1 = [ "<Shift><Super>1" ];
move-to-workspace-2 = [ "<Shift><Super>2" ];
move-to-workspace-3 = [ "<Shift><Super>3" ];
move-to-workspace-4 = [ "<Shift><Super>4" ];
move-to-workspace-left = [ "<Shift><Super>h" ];
move-to-workspace-right = [ "<Shift><Super>l" ];
switch-to-workspace-1 = [ "<Super>1" ];
switch-to-workspace-2 = [ "<Super>2" ];
switch-to-workspace-3 = [ "<Super>3" ];
switch-to-workspace-4 = [ "<Super>4" ];
toggle-maximized = [ "<Super>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 = [ "<Super>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 = [ "<Control><Alt>l" ];
};
"${p}/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Super>Return";
command = "kgx";
name = "Launch console";
};
"${p}/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Super>q";
command = "google-chrome-stable";
name = "Launch Google Chrome";
}; };
"${ptlp}" = { "${ptlp}" = {
default = "71a9971e-e829-43a9-9b2f-4565c855d664"; #default = "95894cfd-82f7-430d-af6e-84d168bc34f5";
list = [ list = [
"de8a9081-8352-4ce4-9519-5de655ad9361" "de8a9081-8352-4ce4-9519-5de655ad9361"
"71a9971e-e829-43a9-9b2f-4565c855d664" "71a9971e-e829-43a9-9b2f-4565c855d664"
@ -151,41 +205,80 @@ in mkIf cfg.enable {
"windowsNavigator@gnome-shell-extensions.gcampax.github.com" "windowsNavigator@gnome-shell-extensions.gcampax.github.com"
"window-list@gnome-shell-extensions.gcampax.github.com" "window-list@gnome-shell-extensions.gcampax.github.com"
"workspace-indicator@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 = [ enabled-extensions = [
"user-theme@gnome-shell-extensions.gcampax.github.com" "user-theme@gnome-shell-extensions.gcampax.github.com"
"apps-menu@gnome-shell-extensions.gcampax.github.com" "apps-menu@gnome-shell-extensions.gcampax.github.com"
"drive-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"; 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" = { "${pse}/dash-to-dock" = {
background-opacity = 0.80000000000000004; background-opacity = 0.80000000000000004;
dash-max-icon-size = 48; dash-max-icon-size = 48;
dock-position = "BOTTOM"; dock-position = "BOTTOM";
height-fraction = 0.90000000000000002; height-fraction = 0.90000000000000002;
multi-monitor = true; multi-monitor = false;
running-indicator-style = "DOTS";
custom-theme-shrink = true;
}; };
"${pse}/dash-to-panel" = { "${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-margin = 0;
appicon-padding = 4; appicon-padding = 4;
appicon-style= "NORMAL";
available-monitors = [ 0 ]; available-monitors = [ 0 ];
dot-position = "BOTTOM"; dot-position = "BOTTOM";
dot-style-focused = "METRO";
dot-style-unfocused = "DOTS";
group-apps = true;
hide-overview-on-startup = true;
hotkeys-overlay-combo = "TEMPORARILY"; hotkeys-overlay-combo = "TEMPORARILY";
intellihide = true;
intellihide-behaviour = "FOCUSED_WINDOWS";
intellihide-hide-from-windows = true;
isolate-workspaces = false;
leftbox-padding = -1; leftbox-padding = -1;
overview-click-to-exit = true;
panel-anchors = ''{"0":"MIDDLE"}''; panel-anchors = ''{"0":"MIDDLE"}'';
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-lengths = ''{"0":100}'';
panel-positions = ''{"0":"BOTTOM"}'';
panel-sizes = ''{"0":42}''; panel-sizes = ''{"0":42}'';
primary-monitor = 0; primary-monitor = 0;
secondarymenu-contains-showdetails = true;
show-showdesktop-hover = true;
status-icon-padding = -1; 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; tray-padding = -1;
window-preview-title-position = "TOP"; window-preview-title-position = "TOP";
}; };

View file

@ -8,12 +8,25 @@ in mkIf cfg.enable {
with pkgs; with pkgs;
with gnome; with gnome;
with gnomeExtensions; [ with gnomeExtensions; [
# gnome # gtk3 theme
gnome-terminal adw-gtk3
# gnomeExtensions # gnomeExtensions
caffeine
dash-to-panel dash-to-panel
dash-to-dock dash-to-dock
appindicator 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")
];
};
} }

View file

@ -4,13 +4,46 @@
, ... }: with lib; let , ... }: with lib; let
cfg = config.home.gnome; cfg = config.home.gnome;
in mkIf cfg.enable { in mkIf cfg.enable {
global.flatpak.enable = mkDefault true;
home.catppuccin.enable = mkDefault false;
catppuccin.enable = false;
programs.regreet.enable = false; programs.regreet.enable = false;
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.startx.enable = false; services.xserver.displayManager.startx.enable = false;
services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.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.gnome.excludePackages = (with pkgs; [
environment.persistence."/nix/persist/fhs".directories = [ ]; 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" ];
} }

View file

@ -30,7 +30,7 @@ in {
dconf.enable = true; dconf.enable = true;
}; };
services = mkIf gui { services = mkIf gui {
blueman.enable = true; blueman.enable = !config.global.flatpak.enable;
}; };
}; };
} }

View file

@ -4,7 +4,8 @@
, ... }: with lib; let , ... }: with lib; let
cfg = config.passthrough.gyroflow; cfg = config.passthrough.gyroflow;
in mkIf cfg.enable { in mkIf cfg.enable {
home.packages = [ cfg.package ]; # temporarily gone until regression is fixed
#home.packages = [ cfg.package ];
wayland.windowManager.sway.config.window.commands = [ wayland.windowManager.sway.config.window.commands = [
{ criteria.app_id = "xyz.gyroflow.gyroflow"; command = "floating enable"; } { criteria.app_id = "xyz.gyroflow.gyroflow"; command = "floating enable"; }

View file

@ -139,6 +139,7 @@ in {
home-manager.users = mapAttrs (name: opts: { home-manager.users = mapAttrs (name: opts: {
imports = with inputs; cfg.homeModules ++ [ imports = with inputs; cfg.homeModules ++ [
impermanence.homeManagerModules.impermanence
catppuccin.homeManagerModules.catppuccin catppuccin.homeManagerModules.catppuccin
]; ];
home.file.".face" = mkIf (opts.picture != null) { home.file.".face" = mkIf (opts.picture != null) {

View file

@ -14,14 +14,15 @@ in {
] ++ optionals config.passthrough.gui [ ] ++ optionals config.passthrough.gui [
gtk-engine-murrine gtk-engine-murrine
gnome-themes-extra gnome-themes-extra
xfce.thunar gimp
jellyfin-media-player
mission-planner mission-planner
betaflight-configurator
inav-configurator inav-configurator
inav-blackbox-tools inav-blackbox-tools
(blhelisuite32.override { workdir = "${config.home.homeDirectory}/.blhelisuite32"; }) (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 expresslrs-configurator
]; ];

View file

@ -13,6 +13,8 @@ in {
users.homeModules = [ users.homeModules = [
# this module passes util configuration to home-manager # this module passes util configuration to home-manager
{ passthrough.util = cfg; } { passthrough.util = cfg; }
# this module passes flatpak configuration to home-manager
{ passthrough.flatpak = config.global.flatpak; }
]; ];
programs.zsh.enable = true; programs.zsh.enable = true;
@ -23,18 +25,20 @@ in {
".cache/nix-index" ".cache/nix-index"
] ++ ] ++
optionals gui [ optionals gui [
# mission-planner
".local/share/Mission Planner"
# inav-configurator
".config/inav-configurator"
] ++
optionals (gui && !config.global.flatpak.enable) [
# jellyfin-media-player # jellyfin-media-player
".config/jellyfin.org" ".config/jellyfin.org"
".local/share/jellyfinmediaplayer" ".local/share/jellyfinmediaplayer"
".local/share/Jellyfin Media Player" ".local/share/Jellyfin Media Player"
# mission-planner
".local/share/Mission Planner"
# expresslrs-configurator # expresslrs-configurator
".config/ExpressLRS Configurator" ".config/ExpressLRS Configurator"
# betaflight-configurator # betaflight-configurator
".config/betaflight-configurator" ".config/betaflight-configurator"
# inav-configurator
".config/inav-configurator"
]; ];
}; };
} }

View file

@ -18,6 +18,7 @@
}; };
home = { home = {
gnome.enable = true;
vscode.enable = true; vscode.enable = true;
libreoffice.enable = true; libreoffice.enable = true;
minecraft.enable = true; minecraft.enable = true;

View file

@ -12,6 +12,11 @@
# stop = "stop"; # 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 = { nfwc = {
cmdline = "${pkgs.jdk}/bin/java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.19.2-43.3.8/unix_args.txt"; cmdline = "${pkgs.jdk}/bin/java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.19.2-43.3.8/unix_args.txt";
stop = "stop"; stop = "stop";

View file

@ -4,9 +4,9 @@
in { in {
services.nextcloud = { services.nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud29; package = pkgs.nextcloud30;
extraApps = { extraApps = {
inherit (pkgs.nextcloud29Packages.apps) inherit (pkgs.nextcloud30Packages.apps)
notify_push impersonate spreed notify_push impersonate spreed
contacts bookmarks deck polls notes forms contacts bookmarks deck polls notes forms
twofactor_webauthn; twofactor_webauthn;

View file

@ -1,6 +1,6 @@
{ {
services.tubesync = { services.tubesync = {
enable = true; enable = false;
stateDir = "/nix/persist/service/tubesync"; stateDir = "/nix/persist/service/tubesync";
}; };

View file

@ -4,9 +4,9 @@
in { in {
services.nextcloud = { services.nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud29; package = pkgs.nextcloud30;
extraApps = { extraApps = {
inherit (pkgs.nextcloud29Packages.apps) inherit (pkgs.nextcloud30Packages.apps)
notify_push impersonate spreed notify_push impersonate spreed
contacts bookmarks deck polls notes forms contacts bookmarks deck polls notes forms
twofactor_webauthn; twofactor_webauthn;

View file

@ -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;
}

View file

@ -32,7 +32,8 @@
}; };
}; };
home-manager.users.app.home.packages = with pkgs; [ home-manager.users.app = {
home.packages = with pkgs; [
(pkgs.kodi-wayland.passthru.withPackages (kodiPkgs: with kodiPkgs; [ (pkgs.kodi-wayland.passthru.withPackages (kodiPkgs: with kodiPkgs; [
joystick # keymap steam-controller joystick # keymap steam-controller
#controller-topology-project #controller-topology-project
@ -43,6 +44,12 @@
])) ]))
]; ];
home.pointerCursor = {
package = pkgs.steamdeck-hw-theme;
name = "steam";
};
};
services.handheld-daemon = { services.handheld-daemon = {
enable = true; enable = true;
user = "app"; user = "app";

View file

@ -11,13 +11,12 @@
}; };
home = { home = {
plasma.specialise = true; gnome.enable = true;
#headless.enable = "eDP-1"; #headless.enable = "eDP-1";
gyroflow.enable = true; gyroflow.enable = true;
jetbrains.enable = true; jetbrains.enable = true;
vscode.enable = true; vscode.enable = true;
libreoffice.enable = true; libreoffice.enable = true;
minecraft.enable = true;
steam.enable = true; steam.enable = true;
}; };

34
spec/shatter/default.nix Normal file
View file

@ -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 = [ ];
}

View file

@ -11,10 +11,11 @@
boot.lanzaboote = true; boot.lanzaboote = true;
gpu.enable = true; gpu.enable = true;
gpu.type = "nvidia"; gpu.type = "nvidia";
android.enable = true;
}; };
home = { home = {
plasma.enable = true; gnome.enable = true;
gyroflow.enable = true; gyroflow.enable = true;
jetbrains.enable = true; jetbrains.enable = true;
vscode.enable = true; vscode.enable = true;
@ -23,27 +24,12 @@
steam.enable = true; 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 ./. [ imports = lib.pipe ./. [
builtins.readDir builtins.readDir
(lib.filterAttrs (n: ty: ty == "regular" && n != "default.nix")) (lib.filterAttrs (n: ty: ty == "regular" && n != "default.nix"))
(lib.mapAttrsToList (n: _: ./${n})) (lib.mapAttrsToList (n: _: ./${n}))
] ++ [ (modulesPath + "/profiles/qemu-guest.nix") ]; ] ++ [ (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.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "usbhid" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];