big refactor

This commit is contained in:
Asaki Yuki 2026-04-09 10:36:32 +07:00
commit 76d68230f6
81 changed files with 3065 additions and 0 deletions

View file

@ -0,0 +1,24 @@
{ inputs, pkgs, libs, ... }: let
background = libs.root "/assets/grub/background.png";
baseTheme = inputs.honkai-railway-grub-theme.packages.${pkgs.stdenv.hostPlatform.system}.cyrene-grub-theme;
in {
boot = {
loader = {
efi.canTouchEfiVariables = true;
grub = rec {
enable = true;
device = "nodev";
efiSupport = true;
useOSProber = true;
splashImage = background;
theme = pkgs.runCommand "my-grub-theme" { } ''
mkdir -p $out
cp -r ${baseTheme}/* $out/
chmod -R u+w $out
cp ${background} $out/background.png
'';
};
};
};
}

View file

@ -0,0 +1,5 @@
{ lib, config, ... }: {
services.flatpak = lib.mkIf config.device.flatpak.enable {
enable = true;
};
}

View file

@ -0,0 +1,5 @@
{ lib, config, ... }: {
services = lib.mkIf config.device.dm.gdm.enable {
displayManager.gdm.enable = true;
};
}

View file

@ -0,0 +1,5 @@
{ lib, config, ... }: {
services = lib.mkIf config.device.de.gnome.enable {
desktopManager.gnome.enable = true;
};
}

View file

@ -0,0 +1,5 @@
{ lib, config, ... }: {
programs.hyprland = lib.mkIf config.device.wm.hyprland.enable {
enable = true;
};
}

View file

@ -0,0 +1,10 @@
{ pkgs, ... }: {
i18n.inputMethod = {
enable = true;
type = "fcitx5";
fcitx5.addons = with pkgs; [
# fcitx5-bamboo
kdePackages.fcitx5-unikey
];
};
}

View file

@ -0,0 +1,6 @@
{ lib, config, ... }: {
services = lib.mkIf config.device.de.kdePlasma.enable {
desktopManager.plasma6.enable = true;
xserver.enable = true;
};
}

View file

@ -0,0 +1,4 @@
{ lib, config, ... }: {
programs.niri.enable = lib.mkIf config.device.wm.niri.enable true;
services.xserver.enable = lib.mkIf config.device.wm.niri.enable true;
}

View file

@ -0,0 +1,14 @@
{ pkgs, ... }: {
programs.nix-ld = {
enable = true;
libraries = with pkgs; [
stdenv.cc.cc
zlib
brotli
unixODBC
zstd
glib
stdenv.cc.cc.lib
];
};
}

View file

@ -0,0 +1,67 @@
{
pkgs,
lib,
config,
...
}:
{
environment.systemPackages =
with pkgs;
[
git
vim
wget
tree
btop
ffmpeg-full
nodejs
bun
brightnessctl
quickshell
bluetuith
lxqt.pavucontrol-qt
nwg-look
(pkgs.catppuccin-kde.override {
flavour = [ "mocha" ];
accents = [ "sapphire" ];
})
(pkgs.catppuccin-gtk.override {
variant = "mocha";
accents = [ "sapphire" ];
size = "compact";
})
]
++ (
with pkgs;
with kdePackages;
[
dolphin
kate
qt5compat
qtdeclarative
libsForQt5.qt5.qtgraphicaleffects
qtimageformats
qtsvg
qtmultimedia
kde-gtk-config
qtdeclarative
kirigami
ksvg
qtbase
plasma5support
qttools
plasma-sdk
]
)
++ (lib.optionals config.device.wm.hyprland.enable (
with pkgs;
[
xdg-desktop-portal
xdg-desktop-portal-wlr
xdg-desktop-portal-hyprland
]
));
}

View file

@ -0,0 +1,24 @@
{ pkgs, lib, config, ... }: let
custom-sddm-astronaut = pkgs.sddm-astronaut.override {
embeddedTheme = config.device.dm.sddm.theme;
};
in {
services.displayManager.sddm = lib.mkIf config.device.dm.sddm.enable {
enable = true;
wayland.enable = true;
extraPackages = with pkgs; [
custom-sddm-astronaut
];
theme = "sddm-astronaut-theme";
settings = {
Theme = {
Current = "sddm-astronaut-theme";
};
};
};
environment.systemPackages = with pkgs; [
custom-sddm-astronaut
kdePackages.qtmultimedia
];
}

View file

@ -0,0 +1,5 @@
{ lib, config, ... }: {
programs.steam = lib.mkIf config.device.programs.steam.enable {
enable = true;
};
}