format all files

This commit is contained in:
Asaki Yuki 2026-04-14 01:15:18 +07:00
parent f940a235f0
commit a47826b7c2
101 changed files with 1073 additions and 1034 deletions

View file

@ -1,5 +1,4 @@
{ libs, ... }: {libs, ...}: {
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
(libs.root "/host/server/default.nix") (libs.root "/host/server/default.nix")

View file

@ -4,13 +4,10 @@
{ {
config, config,
lib, lib,
pkgs,
modulesPath, modulesPath,
... ...
}: }: {
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [
"xhci_pci" "xhci_pci"
@ -19,9 +16,9 @@
"usb_storage" "usb_storage"
"sd_mod" "sd_mod"
]; ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems = { fileSystems = {
"/" = { "/" = {
@ -35,7 +32,7 @@
}; };
swapDevices = [ swapDevices = [
{ device = "/dev/disk/by-uuid/cfa7f30f-f08a-4400-babe-41357586a6a0"; } {device = "/dev/disk/by-uuid/cfa7f30f-f08a-4400-babe-41357586a6a0";}
]; ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";

View file

@ -1,10 +1,8 @@
{ {
lib,
libs, libs,
pkgs, pkgs,
... ...
}: }: {
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./mount.nix ./mount.nix
@ -18,8 +16,8 @@
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
boot.kernelParams = [ "amd_pstate=active" ]; boot.kernelParams = ["amd_pstate=active"];
boot.kernelModules = [ "ideapad_laptop" ]; boot.kernelModules = ["ideapad_laptop"];
services.power-profiles-daemon.enable = true; services.power-profiles-daemon.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
lm_sensors lm_sensors
@ -38,6 +36,6 @@
}; };
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
boot.extraModulePackages = [ pkgs.linuxPackages_latest.zenpower ]; boot.extraModulePackages = [pkgs.linuxPackages_latest.zenpower];
system.stateVersion = "25.11"; system.stateVersion = "25.11";
} }

View file

@ -1,32 +1,35 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/installer/scan/not-detected.nix") lib,
]; modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/85ab0f38-b6e7-4046-a33b-ce7b9812b959"; device = "/dev/disk/by-uuid/85ab0f38-b6e7-4046-a33b-ce7b9812b959";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/2221-C55B"; device = "/dev/disk/by-uuid/2221-C55B";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = ["fmask=0022" "dmask=0022"];
}; };
swapDevices = swapDevices = [
[ { device = "/dev/disk/by-uuid/20e229eb-f32e-4369-be96-25275ebc8ae3"; } {device = "/dev/disk/by-uuid/20e229eb-f32e-4369-be96-25275ebc8ae3";}
]; ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View file

@ -1,23 +1,23 @@
{ ... }: { {...}: {
fileSystems = { fileSystems = {
"/mnt/windows" = { "/mnt/windows" = {
device = "/dev/disk/by-uuid/0000294D000006E6"; device = "/dev/disk/by-uuid/0000294D000006E6";
fsType = "ntfs-3g"; fsType = "ntfs-3g";
options = [ options = [
"rw" "rw"
"uid=1000" "uid=1000"
"gid=100" "gid=100"
"umask=022" "umask=022"
]; ];
};
"/mnt/waydroid" = {
device = "/home/asakiyuki/.local/share/waydroid/data/media/0";
fsType = "fuse.bindfs";
options = [
"mirror=1000"
"xattr-none"
"chmod-ignore"
];
};
}; };
} "/mnt/waydroid" = {
device = "/home/asakiyuki/.local/share/waydroid/data/media/0";
fsType = "fuse.bindfs";
options = [
"mirror=1000"
"xattr-none"
"chmod-ignore"
];
};
};
}

View file

@ -29,53 +29,50 @@
}; };
}; };
outputs = outputs = {
{ self,
self, nixpkgs,
nixpkgs, unstablepkgs,
unstablepkgs, ...
... } @ inputs: let
}@inputs: libs = import ./libs/default.nix inputs;
let custom = import ./packages/default.nix inputs;
libs = import ./libs/default.nix inputs; unstable = import unstablepkgs {
custom = import ./packages/default.nix inputs; system = "x86_64-linux";
unstable = import unstablepkgs { config.allowUnfree = true;
};
specialArgs = {
inherit
self
custom
libs
unstable
inputs
;
};
in {
nixosConfigurations = {
ideapad-slim-5 = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
config.allowUnfree = true; specialArgs = specialArgs;
modules = [
inputs.nixos-hardware.nixosModules.lenovo-ideapad-slim-5
inputs.nix-index-database.nixosModules.default
inputs.home-manager.nixosModules.default
(libs.root "/devices/ideapad-slim-5/configuration.nix")
];
}; };
specialArgs = { home-server = nixpkgs.lib.nixosSystem {
inherit system = "x86_64-linux";
self specialArgs = specialArgs;
custom modules = [
libs inputs.nix-index-database.nixosModules.default
unstable inputs.home-manager.nixosModules.default
inputs (libs.root "/devices/home-server/configuration.nix")
; ];
};
in
{
nixosConfigurations = {
ideapad-slim-5 = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = specialArgs;
modules = [
inputs.nixos-hardware.nixosModules.lenovo-ideapad-slim-5
inputs.nix-index-database.nixosModules.default
inputs.home-manager.nixosModules.default
(libs.root "/devices/ideapad-slim-5/configuration.nix")
];
};
home-server = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = specialArgs;
modules = [
inputs.nix-index-database.nixosModules.default
inputs.home-manager.nixosModules.default
(libs.root "/devices/home-server/configuration.nix")
];
};
}; };
}; };
};
} }

View file

@ -5,14 +5,12 @@
custom, custom,
unstable, unstable,
... ...
}: }: let
let
osconfig = config; osconfig = config;
in in {
{
users.users.asakiyuki = { users.users.asakiyuki = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" ]; extraGroups = ["wheel"];
}; };
home-manager.users.asakiyuki = { home-manager.users.asakiyuki = {
@ -25,6 +23,7 @@ in
libs libs
; ;
}; };
imports = [ imports = [
./programs.nix ./programs.nix
./files.nix ./files.nix

View file

@ -4,25 +4,26 @@
osconfig, osconfig,
config, config,
... ...
}: }: {
{
home.file = lib.mkMerge [ home.file = lib.mkMerge [
(builtins.mapAttrs (_: path: { (builtins.mapAttrs (_: path: {
source = path; source = path;
}) osconfig.device.files.source) })
osconfig.device.files.source)
(builtins.mapAttrs (_: path: { (builtins.mapAttrs (_: path: {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/${path}"; source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/${path}";
}) osconfig.device.files.symlink) })
osconfig.device.files.symlink)
(lib.mkMerge ( (lib.mkMerge (
builtins.map (name: lib.setAttrByPath [ name "force" ] true) ( builtins.map (name: lib.setAttrByPath [name "force"] true) (
builtins.attrNames osconfig.device.files.force builtins.attrNames osconfig.device.files.force
) )
)) ))
(lib.mkMerge ( (lib.mkMerge (
builtins.map (name: lib.setAttrByPath [ name "force" ] (lib.mkForce true)) ( builtins.map (name: lib.setAttrByPath [name "force"] (lib.mkForce true)) (
builtins.attrNames osconfig.device.files.mkForce builtins.attrNames osconfig.device.files.mkForce
) )
)) ))
@ -30,26 +31,26 @@
xdg.configFile.kdeglobals = xdg.configFile.kdeglobals =
lib.mkIf (osconfig.device.wm.hyprland.enable || osconfig.device.wm.niri.enable) lib.mkIf (osconfig.device.wm.hyprland.enable || osconfig.device.wm.niri.enable)
{ {
text = ( text = (
builtins.readFile ( builtins.readFile (
(pkgs.catppuccin-kde.override { (pkgs.catppuccin-kde.override {
flavour = [ "mocha" ]; flavour = ["mocha"];
accents = [ "sapphire" ]; accents = ["sapphire"];
}) })
+ "/share/color-schemes/CatppuccinMochaSapphire.colors" + "/share/color-schemes/CatppuccinMochaSapphire.colors"
) )
+ '' + ''
[UiSettings] [UiSettings]
ColorScheme=qt6ct ColorScheme=qt6ct
[General] [General]
TerminalApplication=${osconfig.device.programs.terminal.name} TerminalApplication=${osconfig.device.programs.terminal.name}
[Icons] [Icons]
Theme=Papirus Theme=Papirus
'' ''
); );
}; };
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
imports = [ imports = [
../../modules/features/home/ghostty.nix ../../modules/features/home/ghostty.nix
../../modules/features/home/kitty.nix ../../modules/features/home/kitty.nix

View file

@ -5,11 +5,9 @@
custom, custom,
unstable, unstable,
... ...
}: }: let
let
osconfig = config; osconfig = config;
in in {
{
users.users.junko = { users.users.junko = {
isNormalUser = true; isNormalUser = true;
}; };
@ -25,7 +23,7 @@ in
; ;
}; };
imports = [ ]; imports = [];
home = { home = {
username = "junko"; username = "junko";

View file

@ -3,9 +3,9 @@
custom, custom,
config, config,
pkgs, pkgs,
inputs,
... ...
}: }: {
{
imports = [ imports = [
./programs.nix ./programs.nix
./device.nix ./device.nix
@ -44,13 +44,14 @@
home-manager.users.asakiyuki = { home-manager.users.asakiyuki = {
home.pointerCursor = home.pointerCursor =
(custom.cursors { (custom.cursors {
name = config.device.cursors; name = config.device.cursors;
size = 48; size = 48;
}) })
{ pkgs = pkgs; }; {pkgs = pkgs;};
}; };
nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
xdg.menus.enable = true; xdg.menus.enable = true;
services.dbus.enable = true; services.dbus.enable = true;
} }

View file

@ -3,11 +3,9 @@
libs, libs,
pkgs, pkgs,
... ...
}: }: let
let
ENABLE_HDR = false; ENABLE_HDR = false;
in in {
{
device = { device = {
flake-name = "ideapad-slim-5"; flake-name = "ideapad-slim-5";
cursors = "aemeath"; cursors = "aemeath";
@ -62,10 +60,8 @@ in
}; };
source = { source = {
".config/qt5ct/colors/Catppuccin-Mocha.conf" = ".config/qt5ct/colors/Catppuccin-Mocha.conf" = "${pkgs.catppuccin-qt5ct}/share/qt5ct/colors/catppuccin-mocha-sapphire.conf";
"${pkgs.catppuccin-qt5ct}/share/qt5ct/colors/catppuccin-mocha-sapphire.conf"; ".config/qt6ct/colors/Catppuccin-Mocha.conf" = "${pkgs.catppuccin-qt5ct}/share/qt6ct/colors/catppuccin-mocha-sapphire.conf";
".config/qt6ct/colors/Catppuccin-Mocha.conf" =
"${pkgs.catppuccin-qt5ct}/share/qt6ct/colors/catppuccin-mocha-sapphire.conf";
".config/dolphinrc" = libs.root "/configs/dolphinrc"; ".config/dolphinrc" = libs.root "/configs/dolphinrc";

View file

@ -1,7 +1,4 @@
{ {...}: {
...
}:
{
programs = { programs = {
ffmpeg.enable = true; ffmpeg.enable = true;
nodejs.enable = true; nodejs.enable = true;

View file

@ -1,5 +1,4 @@
{ libs, ... }: {libs, ...}: {
{
imports = [ imports = [
./device.nix ./device.nix
./programs.nix ./programs.nix

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
device = { device = {
flake-name = "home-server"; flake-name = "home-server";

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
networking = { networking = {
firewall = { firewall = {
enable = true; enable = true;

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
programs = { programs = {
ffmpeg.enable = true; ffmpeg.enable = true;
nodejs.enable = true; nodejs.enable = true;

View file

@ -1,5 +1,4 @@
{ libs, ... }: {libs, ...}: {
{
imports = [ imports = [
(libs.root "/modules/services/adguardhome.nix") (libs.root "/modules/services/adguardhome.nix")
(libs.root "/modules/services/cloudflare-dyndns.nix") (libs.root "/modules/services/cloudflare-dyndns.nix")

View file

@ -1,3 +1,3 @@
{ ... }: { {...}: {
root = path: ../. + path; root = path: ../. + path;
} }

View file

@ -1,68 +1,73 @@
{ lib, osconfig, ... }: { {
programs.bash = { lib,
enable = true; osconfig,
shellAliases = lib.attrsets.mergeAttrsList [ ...
{ }: {
cls = "clear"; programs.bash = {
cleanup = "sudo nix-collect-garbage -d"; enable = true;
cls-log = "sudo journalctl --vacuum-time=1s"; shellAliases = lib.attrsets.mergeAttrsList [
{
cls = "clear";
cleanup = "sudo nix-collect-garbage -d";
cls-log = "sudo journalctl --vacuum-time=1s";
logout = "pkill -KILL -u $USER"; logout = "pkill -KILL -u $USER";
nrs = "sudo nixos-rebuild switch --flake /etc/nixos#${osconfig.device.flake-name}"; nrs = "sudo nixos-rebuild switch --flake /etc/nixos#${osconfig.device.flake-name}";
flake-upgrade = "nix flake update"; flake-upgrade = "nix flake update";
} }
{ {
spf = "superfile"; spf = "superfile";
} }
(lib.optionalAttrs osconfig.virtualisation.waydroid.enable { (lib.optionalAttrs osconfig.virtualisation.waydroid.enable {
wss = "waydroid session stop; exit;"; wss = "waydroid session stop; exit;";
}) })
]; ];
shellOptions = [ shellOptions = [
"histappend" "histappend"
"checkwinsize" "checkwinsize"
"extglob" "extglob"
"globstar" "globstar"
"checkjobs" "checkjobs"
"autocd" "autocd"
]; ];
initExtra = '' initExtra =
function git-commit() { ''
git add . function git-commit() {
git commit -m "$1" git add .
} git commit -m "$1"
}
function git-push() { function git-push() {
git-commit "$1" git-commit "$1"
git push origin HEAD git push origin HEAD
} }
function git-pull() { function git-pull() {
git fetch origin HEAD git fetch origin HEAD
git pull origin HEAD git pull origin HEAD
} }
function get-hash() { function get-hash() {
nix hash to-sri --type sha256 $(nix-prefetch-url --unpack "$1") nix hash to-sri --type sha256 $(nix-prefetch-url --unpack "$1")
} }
'' + ''
lib.optionalString osconfig.device.programs.tmux.enable '' + lib.optionalString osconfig.device.programs.tmux.enable ''
allowed_terms=("xterm-kitty" "xterm-ghostty") allowed_terms=("xterm-kitty" "xterm-ghostty")
should_run_tmux=false should_run_tmux=false
for term in "${"$" + "{allowed_terms[@]" + "}"}"; do for term in "${"$" + "{allowed_terms[@]" + "}"}"; do
if [[ "$TERM" == "$term" ]]; then if [[ "$TERM" == "$term" ]]; then
should_run_tmux=true should_run_tmux=true
break break
fi fi
done done
if [ -z "$TMUX" ] && [ "$should_run_tmux" = true ]; then if [ -z "$TMUX" ] && [ "$should_run_tmux" = true ]; then
exec tmux exec tmux
fi fi
''; '';
}; };
} }

View file

@ -1,5 +1,8 @@
{ pkgs, libs, ... }:
{ {
pkgs,
libs,
...
}: {
programs = { programs = {
firefox.profiles.default = { firefox.profiles.default = {
settings = { settings = {
@ -138,7 +141,7 @@
mynixos = { mynixos = {
name = "My NixOS"; name = "My NixOS";
definedAliases = [ "@mynixos" ]; definedAliases = ["@mynixos"];
icon = "https://mynixos.com/favicon.ico"; icon = "https://mynixos.com/favicon.ico";
urls = [ urls = [
{ {
@ -164,6 +167,6 @@
userContent = builtins.readFile (libs.root "/assets/firefox/userContent.css"); userContent = builtins.readFile (libs.root "/assets/firefox/userContent.css");
}; };
chromium = { }; chromium = {};
}; };
} }

View file

@ -1,5 +1,8 @@
{ lib, osconfig, ... }:
{ {
lib,
osconfig,
...
}: {
programs.fastfetch = lib.mkIf osconfig.device.programs.fastfetch.enable { programs.fastfetch = lib.mkIf osconfig.device.programs.fastfetch.enable {
enable = true; enable = true;
settings = { settings = {
@ -173,4 +176,3 @@
}; };
}; };
} }

View file

@ -1,54 +1,57 @@
{ lib, osconfig, ... }:
{ {
lib,
osconfig,
...
}: {
programs.ghostty = programs.ghostty =
lib.mkIf lib.mkIf
(osconfig.device.programs.terminal.enable && osconfig.device.programs.terminal.name == "ghostty") (osconfig.device.programs.terminal.enable && osconfig.device.programs.terminal.name == "ghostty")
{ {
enable = true; enable = true;
settings = { settings = {
theme = "catppuccin-mocha"; theme = "catppuccin-mocha";
font-size = 10; font-size = 10;
font-family = "SauceCodePro NFP Bold"; font-family = "SauceCodePro NFP Bold";
window-width = 230; window-width = 230;
window-height = 68; window-height = 68;
window-padding-x = 5; window-padding-x = 5;
window-padding-y = 0; window-padding-y = 0;
keybind = [ keybind = [
"ctrl+shift+n=unbind" "ctrl+shift+n=unbind"
"ctrl+shift+i=unbind" "ctrl+shift+i=unbind"
];
};
themes = {
catppuccin-mocha = {
background = "1e1e2e";
cursor-color = "f5e0dc";
foreground = "cdd6f4";
palette = [
"0=#45475a"
"1=#f38ba8"
"2=#a6e3a1"
"3=#f9e2af"
"4=#89b4fa"
"5=#f5c2e7"
"6=#94e2d5"
"7=#bac2de"
"8=#585b70"
"9=#f38ba8"
"10=#a6e3a1"
"11=#f9e2af"
"12=#89b4fa"
"13=#f5c2e7"
"14=#94e2d5"
"15=#a6adc8"
]; ];
}; selection-background = "353749";
selection-foreground = "cdd6f4";
themes = {
catppuccin-mocha = {
background = "1e1e2e";
cursor-color = "f5e0dc";
foreground = "cdd6f4";
palette = [
"0=#45475a"
"1=#f38ba8"
"2=#a6e3a1"
"3=#f9e2af"
"4=#89b4fa"
"5=#f5c2e7"
"6=#94e2d5"
"7=#bac2de"
"8=#585b70"
"9=#f38ba8"
"10=#a6e3a1"
"11=#f9e2af"
"12=#89b4fa"
"13=#f5c2e7"
"14=#94e2d5"
"15=#a6adc8"
];
selection-background = "353749";
selection-foreground = "cdd6f4";
};
}; };
}; };
};
} }

View file

@ -1,19 +1,19 @@
{ ... }: { {...}: {
programs.git = { programs.git = {
enable = true; enable = true;
settings = { settings = {
user = { user = {
name = "Asaki Yuki"; name = "Asaki Yuki";
email = "vantrong2007vn@gmail.com"; email = "vantrong2007vn@gmail.com";
}; };
init = { init = {
defaultBranch = "main"; defaultBranch = "main";
}; };
# pull = { # pull = {
# rebase = ""; # rebase = "";
# }; # };
};
}; };
} };
}

View file

@ -1,79 +1,82 @@
{ lib, osconfig, ... }:
{ {
lib,
osconfig,
...
}: {
programs.kitty = programs.kitty =
lib.mkIf lib.mkIf
(osconfig.device.programs.terminal.enable && osconfig.device.programs.terminal.name == "kitty") (osconfig.device.programs.terminal.enable && osconfig.device.programs.terminal.name == "kitty")
{ {
enable = true; enable = true;
keybindings = { keybindings = {
"ctrl+c" = "copy_to_clipboard"; "ctrl+c" = "copy_to_clipboard";
"ctrl+v" = "paste_from_clipboard"; "ctrl+v" = "paste_from_clipboard";
};
settings = {
window_padding_width = 2;
window_padding_height = 2;
cursor_shape = "beam";
# background_opacity = 0.5;
font_family = "Tahoma";
font_size = 9;
foreground = "#cdd6f4";
background = "#1e1e2e";
selection_foreground = "#1e1e2e";
selection_background = "#f5e0dc";
cursor = "#f5e0dc";
cursor_text_color = "#1e1e2e";
url_color = "#f5e0dc";
active_border_color = "#b4befe";
inactive_border_color = "#6c7086";
bell_border_color = "#f9e2af";
wayland_titlebar_color = "system";
macos_titlebar_color = "system";
active_tab_foreground = "#11111b";
active_tab_background = "#cba6f7";
inactive_tab_foreground = "#cdd6f4";
inactive_tab_background = "#181825";
tab_bar_background = "#11111b";
mark1_foreground = "#1e1e2e";
mark1_background = "#b4befe";
mark2_foreground = "#1e1e2e";
mark2_background = "#cba6f7";
mark3_foreground = "#1e1e2e";
mark3_background = "#74c7ec";
color0 = "#45475a";
color8 = "#585b70";
color1 = "#f38ba8";
color9 = "#f38ba8";
color2 = "#a6e3a1";
color10 = "#a6e3a1";
color3 = "#f9e2af";
color11 = "#f9e2af";
color4 = "#89b4fa";
color12 = "#89b4fa";
color5 = "#f5c2e7";
color13 = "#f5c2e7";
color6 = "#94e2d5";
color14 = "#94e2d5";
color7 = "#bac2de";
color15 = "#a6adc8";
};
}; };
settings = {
window_padding_width = 2;
window_padding_height = 2;
cursor_shape = "beam";
# background_opacity = 0.5;
font_family = "Tahoma";
font_size = 9;
foreground = "#cdd6f4";
background = "#1e1e2e";
selection_foreground = "#1e1e2e";
selection_background = "#f5e0dc";
cursor = "#f5e0dc";
cursor_text_color = "#1e1e2e";
url_color = "#f5e0dc";
active_border_color = "#b4befe";
inactive_border_color = "#6c7086";
bell_border_color = "#f9e2af";
wayland_titlebar_color = "system";
macos_titlebar_color = "system";
active_tab_foreground = "#11111b";
active_tab_background = "#cba6f7";
inactive_tab_foreground = "#cdd6f4";
inactive_tab_background = "#181825";
tab_bar_background = "#11111b";
mark1_foreground = "#1e1e2e";
mark1_background = "#b4befe";
mark2_foreground = "#1e1e2e";
mark2_background = "#cba6f7";
mark3_foreground = "#1e1e2e";
mark3_background = "#74c7ec";
color0 = "#45475a";
color8 = "#585b70";
color1 = "#f38ba8";
color9 = "#f38ba8";
color2 = "#a6e3a1";
color10 = "#a6e3a1";
color3 = "#f9e2af";
color11 = "#f9e2af";
color4 = "#89b4fa";
color12 = "#89b4fa";
color5 = "#f5c2e7";
color13 = "#f5c2e7";
color6 = "#94e2d5";
color14 = "#94e2d5";
color7 = "#bac2de";
color15 = "#a6adc8";
};
};
} }

View file

@ -1,8 +1,8 @@
{ ... }: { {...}: {
programs.neovide = { programs.neovide = {
enable = true; enable = true;
settings = { settings = {
neovim-bin = "/etc/profiles/per-user/asakiyuki/bin/nvim"; neovim-bin = "/etc/profiles/per-user/asakiyuki/bin/nvim";
};
}; };
} };
}

View file

@ -1,11 +1,15 @@
{ osconfig, lib, ... }: { {
programs.niri = lib.mkIf osconfig.device.wm.niri.enable { osconfig,
enable = true; lib,
settings = { ...
binds = { }: {
# "Ctrl+Alt+T" = "ghostty"; programs.niri = lib.mkIf osconfig.device.wm.niri.enable {
# "Mod+D" = "fuzzel"; enable = true;
}; settings = {
}; binds = {
# "Ctrl+Alt+T" = "ghostty";
# "Mod+D" = "fuzzel";
};
}; };
} };
}

View file

@ -1,5 +1,11 @@
{ pkgs, custom, lib, osconfig, ... }: {
pkgs,
custom,
lib,
osconfig,
...
}:
lib.mkIf osconfig.device.programs.obs-studio.enable { lib.mkIf osconfig.device.programs.obs-studio.enable {
programs.obs-studio.enable = true; programs.obs-studio.enable = true;
home.file.".config/obs-studio/themes".source = pkgs.callPackage custom.catppuccin-obs { }; home.file.".config/obs-studio/themes".source = pkgs.callPackage custom.catppuccin-obs {};
} }

View file

@ -1,33 +1,32 @@
{ {
pkgs,
lib, lib,
config, config,
osconfig, osconfig,
inputs,
... ...
}: }: {
{ home.packages =
home.packages = [ [
(lib.mkIf config.programs.catppuccin.enable config.programs.catppuccin.package) (lib.mkIf config.programs.catppuccin.enable config.programs.catppuccin.package)
(lib.mkIf config.programs.antigravity.enable config.programs.antigravity.package) (lib.mkIf config.programs.antigravity.enable config.programs.antigravity.package)
(lib.mkIf config.programs.prismlauncher.enable config.programs.prismlauncher.package) (lib.mkIf config.programs.prismlauncher.enable config.programs.prismlauncher.package)
(lib.mkIf config.programs.vlc.enable config.programs.vlc.package) (lib.mkIf config.programs.vlc.enable config.programs.vlc.package)
(lib.mkIf config.programs.gimp.enable config.programs.gimp.package) (lib.mkIf config.programs.gimp.enable config.programs.gimp.package)
(lib.mkIf config.programs.libreoffice.enable config.programs.libreoffice.package) (lib.mkIf config.programs.libreoffice.enable config.programs.libreoffice.package)
(lib.mkIf config.programs.osu.enable config.programs.osu.package) (lib.mkIf config.programs.osu.enable config.programs.osu.package)
(lib.mkIf config.programs.lmstudio.enable config.programs.lmstudio.package) (lib.mkIf config.programs.lmstudio.enable config.programs.lmstudio.package)
(lib.mkIf config.programs.blender.enable config.programs.blender.package) (lib.mkIf config.programs.blender.enable config.programs.blender.package)
(lib.mkIf config.programs.xprop.enable config.programs.xprop.package) (lib.mkIf config.programs.xprop.enable config.programs.xprop.package)
(lib.mkIf config.programs.pavucontrol.enable config.programs.pavucontrol.package) (lib.mkIf config.programs.pavucontrol.enable config.programs.pavucontrol.package)
(lib.mkIf config.programs.nwg-look.enable config.programs.nwg-look.package) (lib.mkIf config.programs.nwg-look.enable config.programs.nwg-look.package)
(lib.mkIf config.programs.hytale.enable config.programs.hytale.package) (lib.mkIf config.programs.hytale.enable config.programs.hytale.package)
(lib.mkIf ( (lib.mkIf (
config.programs.cider.enable && osconfig.device.programs.cider-2.enable config.programs.cider.enable && osconfig.device.programs.cider-2.enable
) config.programs.cider.package) )
] config.programs.cider.package)
++ (lib.optionals config.programs.proton-ge.enable config.programs.proton-ge.packages) ]
++ (lib.optionals config.programs.proton-apps.enable config.programs.proton-apps.packages); ++ (lib.optionals config.programs.proton-ge.enable config.programs.proton-ge.packages)
++ (lib.optionals config.programs.proton-apps.enable config.programs.proton-apps.packages);
} }

View file

@ -1,4 +1,8 @@
{ lib, osconfig, ... }: { {
lib,
osconfig,
...
}: {
programs.starship = lib.mkIf osconfig.device.programs.starship.enable { programs.starship = lib.mkIf osconfig.device.programs.starship.enable {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,41 +1,43 @@
{ pkgs, lib, ... }:
let
catppuccin-gtk = pkgs.catppuccin-gtk.override {
variant = "mocha";
accents = [ "sapphire" ];
size = "compact";
};
in
{ {
home.activation.copyGtkTheme = lib.hm.dag.entryAfter [ "writeBoundary" ] '' pkgs,
mkdir -p "$HOME/.themes/" lib,
...
}: let
catppuccin-gtk = pkgs.catppuccin-gtk.override {
variant = "mocha";
accents = ["sapphire"];
size = "compact";
};
in {
home.activation.copyGtkTheme = lib.hm.dag.entryAfter ["writeBoundary"] ''
mkdir -p "$HOME/.themes/"
if [ ! -d "$HOME/.themes/catppuccin-mocha-sapphire-compact" ]; then if [ ! -d "$HOME/.themes/catppuccin-mocha-sapphire-compact" ]; then
cp -r "${catppuccin-gtk}/share/themes/catppuccin-mocha-sapphire-compact" "$HOME/.themes/" cp -r "${catppuccin-gtk}/share/themes/catppuccin-mocha-sapphire-compact" "$HOME/.themes/"
fi fi
if [ ! -d "$HOME/.themes/catppuccin-mocha-sapphire-compact-hdpi" ]; then if [ ! -d "$HOME/.themes/catppuccin-mocha-sapphire-compact-hdpi" ]; then
cp -r "${catppuccin-gtk}/share/themes/catppuccin-mocha-sapphire-compact-hdpi" "$HOME/.themes/" cp -r "${catppuccin-gtk}/share/themes/catppuccin-mocha-sapphire-compact-hdpi" "$HOME/.themes/"
fi fi
if [ ! -d "$HOME/.themes/catppuccin-mocha-sapphire-compact-xhdpi" ]; then if [ ! -d "$HOME/.themes/catppuccin-mocha-sapphire-compact-xhdpi" ]; then
cp -r "${catppuccin-gtk}/share/themes/catppuccin-mocha-sapphire-compact-xhdpi" "$HOME/.themes/" cp -r "${catppuccin-gtk}/share/themes/catppuccin-mocha-sapphire-compact-xhdpi" "$HOME/.themes/"
fi fi
''; '';
# QT # QT
qt = { qt = {
enable = true; enable = true;
platformTheme.name = "qtct"; platformTheme.name = "qtct";
style = { style = {
package = with pkgs; [ package = with pkgs; [
catppuccin-qt5ct catppuccin-qt5ct
catppuccin-kde catppuccin-kde
kdePackages.breeze kdePackages.breeze
]; ];
};
}; };
};
# GTK # GTK
gtk.theme.name = "catppuccin-mocha-sapphire-compact"; gtk.theme.name = "catppuccin-mocha-sapphire-compact";
} }

View file

@ -1,5 +1,9 @@
{ lib, osconfig, pkgs, ... }: {
let lib,
osconfig,
pkgs,
...
}: let
TOP_PANEL = '' TOP_PANEL = ''
set -g pane-border-status top set -g pane-border-status top
set -g pane-border-lines single set -g pane-border-lines single
@ -20,7 +24,7 @@ let
BOTTOM_PANEL = '' BOTTOM_PANEL = ''
set -g status-justify "centre" set -g status-justify "centre"
set -g window-status-format "#{E:@asa-module-icon} #I #{E:@asa-module-text} #W " set -g window-status-format "#{E:@asa-module-icon} #I #{E:@asa-module-text} #W "
set -g window-status-current-format "#{E:@asa-module-icon} #I #{E:@asa-module-text} #W " set -g window-status-current-format "#{E:@asa-module-icon} #I #{E:@asa-module-text} #W "
@ -53,8 +57,7 @@ let
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
''; '';
in in {
{
programs.tmux = lib.mkIf osconfig.device.programs.tmux.enable { programs.tmux = lib.mkIf osconfig.device.programs.tmux.enable {
enable = true; enable = true;
keyMode = "vi"; keyMode = "vi";

View file

@ -1,5 +1,4 @@
{ unstable, ... }: {unstable, ...}: {
{
programs.vscode = { programs.vscode = {
enable = true; enable = true;
package = unstable.vscode; package = unstable.vscode;

View file

@ -1,14 +1,19 @@
{ pkgs, lib, osconfig, ... }: { {
xdg.portal = lib.mkIf osconfig.device.wm.hyprland.enable { pkgs,
enable = true; lib,
xdgOpenUsePortal = true; osconfig,
config = { ...
common.default = ["gtk"]; }: {
hyprland.default = ["gtk" "hyprland"]; xdg.portal = lib.mkIf osconfig.device.wm.hyprland.enable {
}; enable = true;
extraPortals = [ xdgOpenUsePortal = true;
pkgs.xdg-desktop-portal-gtk config = {
pkgs.xdg-desktop-portal-hyprland common.default = ["gtk"];
]; hyprland.default = ["gtk" "hyprland"];
}; };
} extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
}

View file

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

View file

@ -1,5 +1,5 @@
{ ... }: { {...}: {
services = { services = {
cloudflare-warp.enable = true; cloudflare-warp.enable = true;
}; };
} }

View file

@ -1,6 +1,11 @@
{ lib, config, pkgs, ... }: { {
programs.dconf.enable = true; lib,
environment.systemPackages = lib.optionals config.programs.dconf.enable [ config,
pkgs.glib pkgs,
]; ...
} }: {
programs.dconf.enable = true;
environment.systemPackages = lib.optionals config.programs.dconf.enable [
pkgs.glib
];
}

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
}; };

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,4 +1,8 @@
{ lib, config, ... }: { {
programs.niri.enable = lib.mkIf config.device.wm.niri.enable true; lib,
services.xserver.enable = lib.mkIf config.device.wm.niri.enable true; 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

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

View file

@ -3,10 +3,8 @@
lib, lib,
config, config,
... ...
}: }: {
{ environment.systemPackages = with pkgs;
environment.systemPackages =
with pkgs;
[ [
git git
vim vim
@ -15,7 +13,7 @@
tree tree
nixd nixd
nixfmt alejandra
zip zip
unzip unzip
@ -35,8 +33,9 @@
++ (lib.optionals config.programs.gcc.enable config.programs.gcc.packages) ++ (lib.optionals config.programs.gcc.enable config.programs.gcc.packages)
++ (lib.optionals config.programs.winepackages.enable config.programs.winepackages.packages) ++ (lib.optionals config.programs.winepackages.enable config.programs.winepackages.packages)
++ (lib.optionals config.programs.kde-packages.enable config.programs.kde-packages.packages) ++ (lib.optionals config.programs.kde-packages.enable config.programs.kde-packages.packages)
++ (lib.optionals config.programs.r-tensorflow.enable [ config.programs.r-tensorflow.package ]) ++ (lib.optionals config.programs.r-tensorflow.enable [config.programs.r-tensorflow.package])
++ (lib.optionals ( ++ (lib.optionals (
config.programs.hyprland-portals.enable && config.device.wm.hyprland.enable config.programs.hyprland-portals.enable && config.device.wm.hyprland.enable
) config.programs.hyprland-portals.packages); )
config.programs.hyprland-portals.packages);
} }

View file

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

View file

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

View file

@ -1,5 +1,5 @@
{ ... }: { {...}: {
services.udisks2 = { services.udisks2 = {
enable = true; enable = true;
}; };
} }

View file

@ -1,5 +1,5 @@
{ ... }: { {...}: {
services.upower = { services.upower = {
enable = true; enable = true;
}; };
} }

View file

@ -1,10 +1,15 @@
{ pkgs, lib, config, ... }: { {
virtualisation.waydroid = { pkgs,
enable = true; lib,
package = pkgs.waydroid-nftables; config,
}; ...
}: {
virtualisation.waydroid = {
enable = true;
package = pkgs.waydroid-nftables;
};
environment.systemPackages = lib.optionals config.virtualisation.waydroid.enable [ environment.systemPackages = lib.optionals config.virtualisation.waydroid.enable [
pkgs.waydroid-helper pkgs.waydroid-helper
]; ];
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
fetch-fonts = { fetch-fonts = {
segoe-ui = { segoe-ui = {
light = pkgs.fetchurl { light = pkgs.fetchurl {
@ -62,8 +61,7 @@ let
''; '';
}; };
}; };
in in {
{
fonts.enableDefaultPackages = true; fonts.enableDefaultPackages = true;
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
custom.tahoma custom.tahoma
@ -83,4 +81,4 @@ in
dina-font dina-font
proggyfonts proggyfonts
]; ];
} }

View file

@ -1,3 +1,3 @@
{ config, ... }: { {config, ...}: {
hardware.bluetooth.enable = config.device.bluetooth.enable; hardware.bluetooth.enable = config.device.bluetooth.enable;
} }

View file

@ -1,6 +1,5 @@
{ ... }: {...}: {
{ imports = [
imports = [ ./bluetooth.nix
./bluetooth.nix ];
]; }
}

View file

@ -1,7 +1,7 @@
{ ... }: { {...}: {
home-manager = { home-manager = {
useUserPackages = true; useUserPackages = true;
useGlobalPkgs = true; useGlobalPkgs = true;
backupFileExtension = "bak"; backupFileExtension = "bak";
}; };
} }

View file

@ -1,5 +1,8 @@
{ lib, osconfig, ... }:
{ {
lib,
osconfig,
...
}: {
imports = [ imports = [
./settings/default.nix ./settings/default.nix
]; ];
@ -9,4 +12,3 @@
xwayland.enable = true; xwayland.enable = true;
}; };
} }

View file

@ -1,5 +1,4 @@
{ osconfig, ... }: {osconfig, ...}: {
{
imports = [ imports = [
./key-bind.nix ./key-bind.nix
./theme.nix ./theme.nix
@ -12,4 +11,3 @@
monitorv2 = osconfig.device.wm.hyprland.monitors; monitorv2 = osconfig.device.wm.hyprland.monitors;
}; };
} }

View file

@ -1,8 +1,6 @@
{ ... }: {...}: {
{
wayland.windowManager.hyprland.settings.exec-once = [ wayland.windowManager.hyprland.settings.exec-once = [
"quickshell" "quickshell"
"fcitx5" "fcitx5"
]; ];
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
"$LAPTOP_TOUCHPAD_ENABLE" = false; "$LAPTOP_TOUCHPAD_ENABLE" = false;

View file

@ -1,68 +1,73 @@
{ osconfig, config, ... }:
{ {
osconfig,
config,
...
}: {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
bind = [ bind =
"CTRL ALT, T, exec, ${osconfig.device.programs.terminal.name}" [
"CTRL ALT, T, exec, ${osconfig.device.programs.terminal.name}"
"SUPER SHIFT, L, exit," "SUPER SHIFT, L, exit,"
"SUPER SHIFT, TAB, togglefloating," "SUPER SHIFT, TAB, togglefloating,"
"SUPER SHIFT, S, exec, hyprshot -m region -o '${config.home.homeDirectory}/Pictures/Screenshots/' -z" "SUPER SHIFT, S, exec, hyprshot -m region -o '${config.home.homeDirectory}/Pictures/Screenshots/' -z"
"SUPER, J, togglesplit," "SUPER, J, togglesplit,"
"SUPER, E, exec, dolphin" "SUPER, E, exec, dolphin"
"SUPER, C, killactive" "SUPER, C, killactive"
"SUPER SHIFT, LEFT, resizeactive, -25 0" "SUPER SHIFT, LEFT, resizeactive, -25 0"
"SUPER SHIFT, RIGHT, resizeactive, 25 0" "SUPER SHIFT, RIGHT, resizeactive, 25 0"
"SUPER SHIFT, UP, resizeactive, 0 -25" "SUPER SHIFT, UP, resizeactive, 0 -25"
"SUPER SHIFT, DOWN, resizeactive, 0 25" "SUPER SHIFT, DOWN, resizeactive, 0 25"
"SUPER, LEFT, movefocus, l" "SUPER, LEFT, movefocus, l"
"SUPER, RIGHT, movefocus, r" "SUPER, RIGHT, movefocus, r"
"SUPER, UP, movefocus, u" "SUPER, UP, movefocus, u"
"SUPER, DOWN, movefocus, d" "SUPER, DOWN, movefocus, d"
"SUPER CTRL, LEFT, movewindow, l" "SUPER CTRL, LEFT, movewindow, l"
"SUPER CTRL, RIGHT, movewindow, r" "SUPER CTRL, RIGHT, movewindow, r"
"SUPER CTRL, UP, movewindow, u" "SUPER CTRL, UP, movewindow, u"
"SUPER CTRL, DOWN, movewindow, d" "SUPER CTRL, DOWN, movewindow, d"
"SUPER SHIFT, h, resizeactive, -25 0" "SUPER SHIFT, h, resizeactive, -25 0"
"SUPER SHIFT, l, resizeactive, 25 0" "SUPER SHIFT, l, resizeactive, 25 0"
"SUPER SHIFT, k, resizeactive, 0 -25" "SUPER SHIFT, k, resizeactive, 0 -25"
"SUPER SHIFT, j, resizeactive, 0 25" "SUPER SHIFT, j, resizeactive, 0 25"
"SUPER, h, movefocus, l" "SUPER, h, movefocus, l"
"SUPER, l, movefocus, r" "SUPER, l, movefocus, r"
"SUPER, k, movefocus, u" "SUPER, k, movefocus, u"
"SUPER, j, movefocus, d" "SUPER, j, movefocus, d"
"SUPER CTRL, h, movewindow, l" "SUPER CTRL, h, movewindow, l"
"SUPER CTRL, l, movewindow, r" "SUPER CTRL, l, movewindow, r"
"SUPER CTRL, k, movewindow, u" "SUPER CTRL, k, movewindow, u"
"SUPER CTRL, j, movewindow, d" "SUPER CTRL, j, movewindow, d"
"SUPER, TAB, workspace, e+1" "SUPER, TAB, workspace, e+1"
"SUPER ALT, TAB, workspace, e-1" "SUPER ALT, TAB, workspace, e-1"
"SUPER, MOUSE_DOWN, workspace, e-1" "SUPER, MOUSE_DOWN, workspace, e-1"
"SUPER, MOUSE_UP, workspace, e+1" "SUPER, MOUSE_UP, workspace, e+1"
", XF86TouchpadToggle, global, asakiyuki:touchpadtoggle" ", XF86TouchpadToggle, global, asakiyuki:touchpadtoggle"
"ALT, SPACE, global, asakiyuki:launcher" "ALT, SPACE, global, asakiyuki:launcher"
",XF86MonBrightnessDown, exec, brightnessctl s 5%-" ",XF86MonBrightnessDown, exec, brightnessctl s 5%-"
",XF86MonBrightnessUp, exec, brightnessctl s +5%" ",XF86MonBrightnessUp, exec, brightnessctl s +5%"
] ]
++ builtins.concatLists ( ++ builtins.concatLists (
builtins.genList (i: [ builtins.genList (i: [
"SUPER, ${toString (i + 1)}, workspace,${toString (i + 1)}" "SUPER, ${toString (i + 1)}, workspace,${toString (i + 1)}"
"SUPER SHIFT, ${toString (i + 1)}, movetoworkspace,${toString (i + 1)}" "SUPER SHIFT, ${toString (i + 1)}, movetoworkspace,${toString (i + 1)}"
]) 9 ])
) 9
++ [ )
"SUPER, 0, workspace, 10" ++ [
"SUPER SHIFT, 0, movetoworkspace, 10" "SUPER, 0, workspace, 10"
]; "SUPER SHIFT, 0, movetoworkspace, 10"
];
bindi = [ bindi = [
", Caps_Lock, global, asakiyuki:capslock" ", Caps_Lock, global, asakiyuki:capslock"

View file

@ -1,58 +1,58 @@
{ ... }: { {...}: {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
general = { general = {
gaps_in = 5; gaps_in = 5;
gaps_out = 10; gaps_out = 10;
border_size = 1; border_size = 1;
"col.active_border" = "rgb(cdd6f4)"; "col.active_border" = "rgb(cdd6f4)";
"col.inactive_border" = "rgb(7f849c)"; "col.inactive_border" = "rgb(7f849c)";
allow_tearing = true; allow_tearing = true;
resize_on_border = true; resize_on_border = true;
};
decoration = {
rounding = 5;
rounding_power = 5;
active_opacity = 1;
inactive_opacity = 1;
blur = {
enabled = true;
size = 2;
passes = 5;
vibrancy = 3;
};
};
animations = {
enabled = "yes";
bezier = [
"overshot, 0.05, 0.9, 0.1, 1.1"
"md3_decel, 0.05, 0.7, 0.1, 1"
];
animation = [
"windows, 1, 3, overshot, popin 60%"
"border, 1, 10, default"
"fade, 1, 2, default"
"workspaces, 1, 3.5, overshot, slidefade 15%"
"specialWorkspace, 1, 3, md3_decel, slidevert"
];
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
master = {
new_status = "master";
};
misc = {
force_default_wallpaper = 1;
disable_hyprland_logo = true;
};
}; };
}
decoration = {
rounding = 5;
rounding_power = 5;
active_opacity = 1;
inactive_opacity = 1;
blur = {
enabled = true;
size = 2;
passes = 5;
vibrancy = 3;
};
};
animations = {
enabled = "yes";
bezier = [
"overshot, 0.05, 0.9, 0.1, 1.1"
"md3_decel, 0.05, 0.7, 0.1, 1"
];
animation = [
"windows, 1, 3, overshot, popin 60%"
"border, 1, 10, default"
"fade, 1, 2, default"
"workspaces, 1, 3.5, overshot, slidefade 15%"
"specialWorkspace, 1, 3, md3_decel, slidevert"
];
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
master = {
new_status = "master";
};
misc = {
force_default_wallpaper = 1;
disable_hyprland_logo = true;
};
};
}

View file

@ -1,12 +1,11 @@
{ ... }: {...}: {
{
wayland.windowManager.hyprland.settings.windowrule = [ wayland.windowManager.hyprland.settings.windowrule = [
"float, class:(clipse)" "float, class:(clipse)"
"size 622 652, class:(clipse)" "size 622 652, class:(clipse)"
"stayfocused, class:(clipse)" "stayfocused, class:(clipse)"
"suppressevent maximize, class:.*" "suppressevent maximize, class:.*"
"nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0" "nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
"opacity 0.0 override, class:^(xwaylandvideobridge)$" "opacity 0.0 override, class:^(xwaylandvideobridge)$"
"noanim, class:^(xwaylandvideobridge)$" "noanim, class:^(xwaylandvideobridge)$"
@ -19,4 +18,3 @@
"tile, class:^(Chromium)$" "tile, class:^(Chromium)$"
]; ];
} }

View file

@ -1,5 +1,9 @@
{ lib, libs, osconfig, ... }:
{ {
lib,
libs,
osconfig,
...
}: {
programs.nixcord = lib.mkIf osconfig.device.programs.nixcord.enable { programs.nixcord = lib.mkIf osconfig.device.programs.nixcord.enable {
enable = true; enable = true;
discord = { discord = {
@ -12,7 +16,7 @@
config = { config = {
useQuickCss = true; useQuickCss = true;
enableReactDevtools = true; enableReactDevtools = true;
themeLinks = [ "https://catppuccin.github.io/discord/dist/catppuccin-mocha-blue.theme.css" ]; themeLinks = ["https://catppuccin.github.io/discord/dist/catppuccin-mocha-blue.theme.css"];
plugins = { plugins = {
BlurNSFW.enable = true; BlurNSFW.enable = true;
@ -44,4 +48,4 @@
}; };
}; };
}; };
} }

View file

@ -1,5 +1,4 @@
{ pkgs, config, ... }: {...}: {
{
programs.nixvim.imports = [ programs.nixvim.imports = [
./default.nix ./default.nix
./extra-packages.nix ./extra-packages.nix

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
enable = true; enable = true;
vimdiffAlias = true; vimdiffAlias = true;
colorschemes.catppuccin.enable = true; colorschemes.catppuccin.enable = true;
@ -17,4 +16,3 @@
clipboard = "unnamedplus"; clipboard = "unnamedplus";
}; };
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
extraPackages = with pkgs; [ extraPackages = with pkgs; [
nodePackages.prettier nodePackages.prettier
]; ];

View file

@ -1,11 +1,9 @@
{ ... }: {...}: {
{
globals.mapleader = " "; globals.mapleader = " ";
keymaps = keymaps =
[ ] []
++ (import ./_default.nix) ++ (import ./_default.nix)
++ (import ./barbar.nix) ++ (import ./barbar.nix)
++ (import ./toggleterm.nix) ++ (import ./toggleterm.nix)
++ (import ./nvim-tree-toggle.nix); ++ (import ./nvim-tree-toggle.nix);
} }

View file

@ -31,9 +31,9 @@
} }
] ]
++ (builtins.genList (i: { ++ (builtins.genList (i: {
mode = "n"; mode = "n";
key = "<A-${toString (i + 1)}>"; key = "<A-${toString (i + 1)}>";
action = "<cmd>BufferGoto ${toString (i + 1)}<CR>"; action = "<cmd>BufferGoto ${toString (i + 1)}<CR>";
options.silent = true; options.silent = true;
}) 9) })
9)

View file

@ -59,5 +59,6 @@
options.silent = true; options.silent = true;
options.noremap = true; options.noremap = true;
} }
]) 9 ])
9
) )

View file

@ -1,4 +1,2 @@
{ ... }: {...}: {
{
} }

View file

@ -1,15 +1,13 @@
{ pkgs, ... }: {pkgs, ...}: let
let EXTRA_PLUGINS = [
EXTRA_PLUGINS = [ ./extras/neocord.nix
./extras/neocord.nix ./extras/mini-icons.nix
./extras/mini-icons.nix ];
];
LUA = [ LUA = [
./lua/neocord.lua ./lua/neocord.lua
]; ];
in in {
{ extraPlugins = map (path: import path {plugins = pkgs.vimPlugins;}) EXTRA_PLUGINS;
extraPlugins = map (path: import path { plugins = pkgs.vimPlugins; }) EXTRA_PLUGINS; extraConfigLua = builtins.concatStringsSep "\n" (map builtins.readFile LUA);
extraConfigLua = builtins.concatStringsSep "\n" (map builtins.readFile LUA); }
}

View file

@ -1,5 +1,4 @@
{ ... }@inputs: {...} @ inputs: {
{
plugins = { plugins = {
nvim-tree = import ./nvimtree.nix inputs; nvim-tree = import ./nvimtree.nix inputs;
lsp = import ./lsp.nix inputs; lsp = import ./lsp.nix inputs;

View file

@ -1,25 +1,25 @@
{ ... }: { {...}: {
enable = true; enable = true;
autoEnableSources = true; autoEnableSources = true;
settings = { settings = {
sources = [ sources = [
{ name = "nvim_lsp"; } {name = "nvim_lsp";}
{ name = "path"; } {name = "path";}
{ name = "luasnip"; } {name = "luasnip";}
{ name = "buffer"; } {name = "buffer";}
]; ];
mapping = { mapping = {
"<C-Space>" = "cmp.mapping.complete()"; "<C-Space>" = "cmp.mapping.complete()";
"<C-d>" = "cmp.mapping.scroll_docs(-4)"; "<C-d>" = "cmp.mapping.scroll_docs(-4)";
"<C-f>" = "cmp.mapping.scroll_docs(4)"; "<C-f>" = "cmp.mapping.scroll_docs(4)";
"<C-e>" = "cmp.mapping.abort()"; "<C-e>" = "cmp.mapping.abort()";
"<CR>" = "cmp.mapping.confirm({ select = true })"; "<CR>" = "cmp.mapping.confirm({ select = true })";
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})"; "<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; "<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
};
formatting.fields = [ "kind" "abbr" "menu" ];
}; };
}
formatting.fields = ["kind" "abbr" "menu"];
};
}

View file

@ -1,15 +1,14 @@
{ ... }: {...}: {
{
enable = true; enable = true;
settings = { settings = {
formatters_by_ft = { formatters_by_ft = {
javascript = [ "prettier" ]; javascript = ["prettier"];
typescript = [ "prettier" ]; typescript = ["prettier"];
json = [ "prettier" ]; json = ["prettier"];
css = [ "prettier" ]; css = ["prettier"];
html = [ "prettier" ]; html = ["prettier"];
nix = [ "nixfmt" ]; nix = ["nixfmt"];
php = [ "php_cs_fixer" ]; php = ["php_cs_fixer"];
}; };
format_on_save = { format_on_save = {

View file

@ -1,4 +1,3 @@
{ plugins, ... }: {plugins, ...}: {
{ plugin = plugins.mini-icons;
plugin = plugins.mini-icons; }
}

View file

@ -1,4 +1,3 @@
{ plugins, ... }: {plugins, ...}: {
{ plugin = plugins.neocord;
plugin = plugins.neocord; }
}

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
enable = true; enable = true;
lintersByFt = { lintersByFt = {
}; };

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
enable = true; enable = true;
servers = { servers = {
phpactor.enable = true; phpactor.enable = true;

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
enable = true; enable = true;
cmp.enable = true; cmp.enable = true;
} }

View file

@ -1,5 +1,5 @@
{ ... }: { {...}: {
enable = true; enable = true;
openOnSetupFile = true; openOnSetupFile = true;
settings.auto_reload_on_write = true; settings.auto_reload_on_write = true;
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
enable = true; enable = true;
settings = { settings = {
preset = "modern"; preset = "modern";

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
services.adguardhome = { services.adguardhome = {
enable = true; enable = true;
port = 34778; port = 34778;

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
services.cloudflare-dyndns = { services.cloudflare-dyndns = {
enable = true; enable = true;
apiTokenFile = "/home/asakiyuki/.secret/CLOUDFLARE_TOKEN_KEY"; apiTokenFile = "/home/asakiyuki/.secret/CLOUDFLARE_TOKEN_KEY";
@ -8,6 +7,6 @@
ipv6 = false; ipv6 = false;
ipv4 = true; ipv4 = true;
deleteMissing = false; deleteMissing = false;
domains = [ "ddns.asakiyuki.com" ]; domains = ["ddns.asakiyuki.com"];
}; };
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
services.fail2ban = { services.fail2ban = {
enable = true; enable = true;
ignoreIP = [ ignoreIP = [

View file

@ -1,10 +1,9 @@
{ ... }: {...}: {
{
services.openssh = { services.openssh = {
enable = true; enable = true;
ports = [ 15523 ]; ports = [15523];
authorizedKeysInHomedir = true; authorizedKeysInHomedir = true;
authorizedKeysFiles = [ "/home/asakiyuki/.ssh/authorized_keys" ]; authorizedKeysFiles = ["/home/asakiyuki/.ssh/authorized_keys"];
settings = { settings = {
AllowUsers = [ AllowUsers = [
"asakiyuki" "asakiyuki"

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
services.pipewire = { services.pipewire = {
enable = true; enable = true;
pulse.enable = true; pulse.enable = true;

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{ imports = [./programs.nix];
imports = [ ./programs.nix ]; options = {};
options = { };
} }

View file

@ -1,11 +1,9 @@
{ {
config,
lib, lib,
pkgs, pkgs,
inputs, inputs,
... ...
}: }: {
{
options.programs = { options.programs = {
catppuccin = { catppuccin = {
enable = lib.mkEnableOption "catppuccin"; enable = lib.mkEnableOption "catppuccin";
@ -13,7 +11,7 @@
type = lib.types.package; type = lib.types.package;
default = pkgs.catppuccin-gtk.override { default = pkgs.catppuccin-gtk.override {
variant = "mocha"; variant = "mocha";
accents = [ "sapphire" ]; accents = ["sapphire"];
size = "compact"; size = "compact";
}; };
description = "Catppuccin GTK package"; description = "Catppuccin GTK package";
@ -21,19 +19,19 @@
kde = lib.mkOption { kde = lib.mkOption {
type = lib.types.package; type = lib.types.package;
default = pkgs.catppuccin-kde.override { default = pkgs.catppuccin-kde.override {
flavour = [ "mocha" ]; flavour = ["mocha"];
accents = [ "sapphire" ]; accents = ["sapphire"];
}; };
description = "Catppuccin KDE package"; description = "Catppuccin KDE package";
}; };
}; };
antigravity = { antigravity = {
enable = lib.mkEnableOption "antigravity"; enable = lib.mkEnableOption "antigravity";
package = lib.mkPackageOption pkgs "antigravity" { }; package = lib.mkPackageOption pkgs "antigravity" {};
}; };
prismlauncher = { prismlauncher = {
enable = lib.mkEnableOption "prismlauncher"; enable = lib.mkEnableOption "prismlauncher";
package = lib.mkPackageOption pkgs "prismlauncher" { }; package = lib.mkPackageOption pkgs "prismlauncher" {};
}; };
proton-ge = { proton-ge = {
enable = lib.mkEnableOption "proton-ge utils"; enable = lib.mkEnableOption "proton-ge utils";
@ -47,39 +45,39 @@
}; };
vlc = { vlc = {
enable = lib.mkEnableOption "vlc"; enable = lib.mkEnableOption "vlc";
package = lib.mkPackageOption pkgs "vlc" { }; package = lib.mkPackageOption pkgs "vlc" {};
}; };
gimp = { gimp = {
enable = lib.mkEnableOption "gimp"; enable = lib.mkEnableOption "gimp";
package = lib.mkPackageOption pkgs "gimp" { }; package = lib.mkPackageOption pkgs "gimp" {};
}; };
libreoffice = { libreoffice = {
enable = lib.mkEnableOption "libreoffice"; enable = lib.mkEnableOption "libreoffice";
package = lib.mkPackageOption pkgs "libreoffice-qt-fresh" { }; package = lib.mkPackageOption pkgs "libreoffice-qt-fresh" {};
}; };
osu = { osu = {
enable = lib.mkEnableOption "osu-lazer"; enable = lib.mkEnableOption "osu-lazer";
package = lib.mkPackageOption pkgs "osu-lazer-bin" { }; package = lib.mkPackageOption pkgs "osu-lazer-bin" {};
}; };
lmstudio = { lmstudio = {
enable = lib.mkEnableOption "lmstudio"; enable = lib.mkEnableOption "lmstudio";
package = lib.mkPackageOption pkgs "lmstudio" { }; package = lib.mkPackageOption pkgs "lmstudio" {};
}; };
blender = { blender = {
enable = lib.mkEnableOption "blender"; enable = lib.mkEnableOption "blender";
package = lib.mkPackageOption pkgs "blender" { }; package = lib.mkPackageOption pkgs "blender" {};
}; };
xprop = { xprop = {
enable = lib.mkEnableOption "xprop"; enable = lib.mkEnableOption "xprop";
package = lib.mkPackageOption pkgs "xprop" { }; package = lib.mkPackageOption pkgs "xprop" {};
}; };
pavucontrol = { pavucontrol = {
enable = lib.mkEnableOption "pavucontrol-qt"; enable = lib.mkEnableOption "pavucontrol-qt";
package = lib.mkPackageOption pkgs.lxqt "pavucontrol-qt" { }; package = lib.mkPackageOption pkgs.lxqt "pavucontrol-qt" {};
}; };
nwg-look = { nwg-look = {
enable = lib.mkEnableOption "nwg-look"; enable = lib.mkEnableOption "nwg-look";
package = lib.mkPackageOption pkgs "nwg-look" { }; package = lib.mkPackageOption pkgs "nwg-look" {};
}; };
proton-apps = { proton-apps = {
enable = lib.mkEnableOption "proton-pass and proton-authenticator"; enable = lib.mkEnableOption "proton-pass and proton-authenticator";
@ -100,7 +98,7 @@
}; };
cider = { cider = {
enable = lib.mkEnableOption "cider-2"; enable = lib.mkEnableOption "cider-2";
package = lib.mkPackageOption pkgs "cider-2" { }; package = lib.mkPackageOption pkgs "cider-2" {};
}; };
}; };
} }

View file

@ -1,5 +1,4 @@
{ lib, ... }: {lib, ...}: {
{
imports = [ imports = [
./programs.nix ./programs.nix
./file.nix ./file.nix

View file

@ -1,5 +1,4 @@
{ lib, ... }: {lib, ...}: {
{
options.device = { options.device = {
dm = { dm = {
sddm = { sddm = {

View file

@ -1,23 +1,22 @@
{ lib, ... }: {lib, ...}: {
{
options.device.files = { options.device.files = {
symlink = lib.mkOption { symlink = lib.mkOption {
default = { }; default = {};
type = lib.types.attrsOf lib.types.str; type = lib.types.attrsOf lib.types.str;
}; };
source = lib.mkOption { source = lib.mkOption {
default = { }; default = {};
type = lib.types.attrsOf lib.types.path; type = lib.types.attrsOf lib.types.path;
}; };
force = lib.mkOption { force = lib.mkOption {
default = { }; default = {};
type = lib.types.attrsOf lib.types.bool; type = lib.types.attrsOf lib.types.bool;
}; };
mkForce = lib.mkOption { mkForce = lib.mkOption {
default = { }; default = {};
type = lib.types.attrsOf lib.types.bool; type = lib.types.attrsOf lib.types.bool;
}; };
}; };

View file

@ -1,5 +1,5 @@
{ lib, ... }: { {lib, ...}: {
options.device = { options.device = {
bluetooth.enable = lib.mkEnableOption "bluetooth"; bluetooth.enable = lib.mkEnableOption "bluetooth";
}; };
} }

View file

@ -1,5 +1,8 @@
{ lib, pkgs, ... }:
{ {
lib,
pkgs,
...
}: {
options.device.programs = { options.device.programs = {
terminal = { terminal = {
enable = lib.mkEnableOption "terminal"; enable = lib.mkEnableOption "terminal";
@ -23,35 +26,35 @@
options.programs = { options.programs = {
ffmpeg = { ffmpeg = {
enable = lib.mkEnableOption "ffmpeg"; enable = lib.mkEnableOption "ffmpeg";
package = lib.mkPackageOption pkgs "ffmpeg-full" { }; package = lib.mkPackageOption pkgs "ffmpeg-full" {};
}; };
nodejs = { nodejs = {
enable = lib.mkEnableOption "nodejs"; enable = lib.mkEnableOption "nodejs";
package = lib.mkPackageOption pkgs "nodejs" { }; package = lib.mkPackageOption pkgs "nodejs" {};
}; };
bun = { bun = {
enable = lib.mkEnableOption "bun"; enable = lib.mkEnableOption "bun";
package = lib.mkPackageOption pkgs "bun" { }; package = lib.mkPackageOption pkgs "bun" {};
}; };
brightnessctl = { brightnessctl = {
enable = lib.mkEnableOption "brightnessctl"; enable = lib.mkEnableOption "brightnessctl";
package = lib.mkPackageOption pkgs "brightnessctl" { }; package = lib.mkPackageOption pkgs "brightnessctl" {};
}; };
php = { php = {
enable = lib.mkEnableOption "php"; enable = lib.mkEnableOption "php";
package = lib.mkPackageOption pkgs "php" { }; package = lib.mkPackageOption pkgs "php" {};
}; };
ntfs3g = { ntfs3g = {
enable = lib.mkEnableOption "ntfs3g"; enable = lib.mkEnableOption "ntfs3g";
package = lib.mkPackageOption pkgs "ntfs3g" { }; package = lib.mkPackageOption pkgs "ntfs3g" {};
}; };
python = { python = {
enable = lib.mkEnableOption "python"; enable = lib.mkEnableOption "python";
package = lib.mkPackageOption pkgs "python3" { }; package = lib.mkPackageOption pkgs "python3" {};
}; };
jdk = { jdk = {
enable = lib.mkEnableOption "jdk-25"; enable = lib.mkEnableOption "jdk-25";
package = lib.mkPackageOption pkgs "jdk25" { }; package = lib.mkPackageOption pkgs "jdk25" {};
}; };
winepackages = { winepackages = {
enable = lib.mkEnableOption "Wine and Proton utilities"; enable = lib.mkEnableOption "Wine and Proton utilities";
@ -67,11 +70,11 @@
}; };
quickshell = { quickshell = {
enable = lib.mkEnableOption "quickshell"; enable = lib.mkEnableOption "quickshell";
package = lib.mkPackageOption pkgs "quickshell" { }; package = lib.mkPackageOption pkgs "quickshell" {};
}; };
papirus-icons = { papirus-icons = {
enable = lib.mkEnableOption "papirus-icon-theme"; enable = lib.mkEnableOption "papirus-icon-theme";
package = lib.mkPackageOption pkgs "papirus-icon-theme" { }; package = lib.mkPackageOption pkgs "papirus-icon-theme" {};
}; };
kde-packages = { kde-packages = {
enable = lib.mkEnableOption "KDE utility packages"; enable = lib.mkEnableOption "KDE utility packages";

View file

@ -1,6 +1,6 @@
{ inputs, ... }: { {inputs, ...}: {
nixpkgs.overlays = [ nixpkgs.overlays = [
inputs.niri.overlays.niri inputs.niri.overlays.niri
inputs.dolphin-overlay.overlays.default inputs.dolphin-overlay.overlays.default
]; ];
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {pkgs, ...}:
pkgs.stdenv.mkDerivation rec { pkgs.stdenv.mkDerivation rec {
pname = "bun"; pname = "bun";
version = "1.3.10"; version = "1.3.10";

View file

@ -1,48 +1,46 @@
{ pkgs, ... }: {pkgs, ...}: let
let
RELEASE_VERSION = "20260208"; RELEASE_VERSION = "20260208";
PACKAGE_VERSION = "0.1.5"; PACKAGE_VERSION = "0.1.5";
in in
pkgs.stdenv.mkDerivation rec { pkgs.stdenv.mkDerivation {
pname = "cage-xtmapper"; pname = "cage-xtmapper";
version = PACKAGE_VERSION; version = PACKAGE_VERSION;
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "https://github.com/Xtr126/cage-xtmapper/releases/download/v${RELEASE_VERSION}/cage-xtmapper-v${PACKAGE_VERSION}.tar"; url = "https://github.com/Xtr126/cage-xtmapper/releases/download/v${RELEASE_VERSION}/cage-xtmapper-v${PACKAGE_VERSION}.tar";
hash = "sha256-ZmdltOQInGbCBpf/e8D2sB9Rjt4wqd8wwuSFvryHfFA="; hash = "sha256-ZmdltOQInGbCBpf/e8D2sB9Rjt4wqd8wwuSFvryHfFA=";
}; };
nativeBuildInputs = [ pkgs.autoPatchelfHook ]; nativeBuildInputs = [pkgs.autoPatchelfHook];
buildInputs = with pkgs; [ buildInputs = with pkgs; [
wayland wayland
libxkbcommon libxkbcommon
pixman pixman
libdrm libdrm
libGL libGL
mesa mesa
vulkan-loader vulkan-loader
udev udev
seatd seatd
libxcb-render-util libxcb-render-util
]; ];
dontBuild = true; dontBuild = true;
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
tar xvf $src tar xvf $src
cp usr/local/bin/cage_xtmapper $out/bin/ cp usr/local/bin/cage_xtmapper $out/bin/
cp usr/local/bin/cage_xtmapper.sh $out/bin/ cp usr/local/bin/cage_xtmapper.sh $out/bin/
chmod +x $out/bin/cage_xtmapper chmod +x $out/bin/cage_xtmapper
chmod +x $out/bin/cage_xtmapper.sh chmod +x $out/bin/cage_xtmapper.sh
''; '';
meta = with pkgs.lib; {
description = "cage-xtmapper input mapping tool";
homepage = "https://github.com/Xtr126/cage-xtmapper";
license = licenses.mit;
platforms = platforms.linux;
};
}
meta = with pkgs.lib; {
description = "cage-xtmapper input mapping tool";
homepage = "https://github.com/Xtr126/cage-xtmapper";
license = licenses.mit;
platforms = platforms.linux;
};
}

View file

@ -1,48 +1,46 @@
{ pkgs, ... }: {pkgs, ...}: let
let
RELEASE_VERSION = "20260208"; RELEASE_VERSION = "20260208";
PACKAGE_VERSION = "0.2.0"; PACKAGE_VERSION = "0.2.0";
in in
pkgs.stdenv.mkDerivation rec { pkgs.stdenv.mkDerivation {
pname = "cage-xtmapper"; pname = "cage-xtmapper";
version = PACKAGE_VERSION; version = PACKAGE_VERSION;
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "https://github.com/Xtr126/cage-xtmapper/releases/download/v${RELEASE_VERSION}/cage-xtmapper-v${PACKAGE_VERSION}.tar"; url = "https://github.com/Xtr126/cage-xtmapper/releases/download/v${RELEASE_VERSION}/cage-xtmapper-v${PACKAGE_VERSION}.tar";
hash = "sha256-F1C3KnTzTO1vEouixqO1xnsGmufRyAk+BiRlypNq4kQ="; hash = "sha256-F1C3KnTzTO1vEouixqO1xnsGmufRyAk+BiRlypNq4kQ=";
}; };
nativeBuildInputs = [ pkgs.autoPatchelfHook ]; nativeBuildInputs = [pkgs.autoPatchelfHook];
buildInputs = with pkgs; [ buildInputs = with pkgs; [
wayland wayland
libxkbcommon libxkbcommon
pixman pixman
libdrm libdrm
libGL libGL
mesa mesa
vulkan-loader vulkan-loader
udev udev
seatd seatd
libxcb-render-util libxcb-render-util
]; ];
dontBuild = true; dontBuild = true;
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
tar xvf $src tar xvf $src
cp usr/local/bin/cage_xtmapper $out/bin/ cp usr/local/bin/cage_xtmapper $out/bin/
cp usr/local/bin/cage_xtmapper.sh $out/bin/ cp usr/local/bin/cage_xtmapper.sh $out/bin/
chmod +x $out/bin/cage_xtmapper chmod +x $out/bin/cage_xtmapper
chmod +x $out/bin/cage_xtmapper.sh chmod +x $out/bin/cage_xtmapper.sh
''; '';
meta = with pkgs.lib; {
description = "cage-xtmapper input mapping tool";
homepage = "https://github.com/Xtr126/cage-xtmapper";
license = licenses.mit;
platforms = platforms.linux;
};
}
meta = with pkgs.lib; {
description = "cage-xtmapper input mapping tool";
homepage = "https://github.com/Xtr126/cage-xtmapper";
license = licenses.mit;
platforms = platforms.linux;
};
}

View file

@ -1,4 +1,4 @@
{ lib, pkgs, ... }: {pkgs, ...}:
pkgs.stdenv.mkDerivation { pkgs.stdenv.mkDerivation {
pname = "catppuccin-obs"; pname = "catppuccin-obs";
version = "main"; version = "main";
@ -13,4 +13,3 @@ pkgs.stdenv.mkDerivation {
cp -r $src/themes/* $out/ cp -r $src/themes/* $out/
''; '';
} }

View file

@ -1,31 +1,32 @@
{ {
cursors ? "aemeath", cursors ? "aemeath",
size ? 48, size ? 48,
}: }: let
let _b = name: url: hash: {inherit name url hash;};
_b = name: url: hash: { inherit name url hash; }; _q = name: hash: {${name} = _b name "https://static.asakiyuki.com/cursors/linux/${name}.tar.gz" hash;};
_q = name: hash: { ${name} = _b name "https://static.asakiyuki.com/cursors/linux/${name}.tar.gz" hash; };
cursors-data = ( cursors-data =
_q "castorice" "sha256-nqAC+Itr+TXLGG8zYDBoBve+MeRckds5BM23DrsCTMM=" (
// _q "aemeath" "sha256-0eEsUks5MwW4g5Xau24SgchX+LD9Ra3azAH0KL9JzQw=" _q "castorice" "sha256-nqAC+Itr+TXLGG8zYDBoBve+MeRckds5BM23DrsCTMM="
// _q "elysia" "sha256-mjDHklWrX5Pp/vejRQiMk0VA6afY04HXGyGD0PcopdI=" // _q "aemeath" "sha256-0eEsUks5MwW4g5Xau24SgchX+LD9Ra3azAH0KL9JzQw="
// _q "cartethyia" "sha256-jYIDoX+rfUjw6LXrqE4y8j5IL0vByrrRkgRuz08Zy6U=" // _q "elysia" "sha256-mjDHklWrX5Pp/vejRQiMk0VA6afY04HXGyGD0PcopdI="
).${cursors}; // _q "cartethyia" "sha256-jYIDoX+rfUjw6LXrqE4y8j5IL0vByrrRkgRuz08Zy6U="
).${
cursors
};
in in
{ pkgs, ... }: {pkgs, ...}: {
{ gtk.enable = true;
gtk.enable = true; x11.enable = true;
x11.enable = true; name = cursors-data.name;
name = cursors-data.name; size = size;
size = size; package = pkgs.runCommand "moveUp" {} ''
package = pkgs.runCommand "moveUp" { } '' mkdir -p $out/share/icons
mkdir -p $out/share/icons ln -s ${
ln -s ${ pkgs.fetchzip {
pkgs.fetchzip { url = cursors-data.url;
url = cursors-data.url; hash = cursors-data.hash;
hash = cursors-data.hash; }
} } $out/share/icons/${cursors-data.name}
} $out/share/icons/${cursors-data.name} '';
''; }
}

Some files were not shown because too many files have changed in this diff Show more