Compare commits

..

61 Commits

Author SHA1 Message Date
471478ed6b meow 2026-03-20 01:05:48 +00:00
5d01659350 added new scx 2026-03-20 00:45:40 +00:00
d202d116c0 cachyos added 2026-03-20 00:36:34 +00:00
5749c06b20 cachy kernel test 2026-03-20 00:31:05 +00:00
cdaf170f6f added cachyos cache 2026-03-20 00:14:27 +00:00
4a4283988f quickshell: updated battery update logic 2026-03-19 12:30:34 +00:00
4a1e5afd79 meow 2026-03-18 12:09:46 +00:00
6de66cf1cf nix flake update 2026-03-18 11:21:40 +00:00
d37e468ae8 meow ? 2026-03-18 11:04:59 +00:00
2797bfee0e meow 2026-03-18 07:28:47 +00:00
3e19edc73a niri init 2026-03-17 08:23:42 +00:00
bc336fd6cf guh 2026-03-16 23:09:47 +00:00
8e94344e8a meow 2026-03-16 23:07:48 +00:00
33e497672a meow 2026-03-15 20:21:52 +00:00
9b3135c378 quickshell: hides widgets if they dont provide useful information 2026-03-15 20:21:08 +00:00
7a1caeaaa3 added audio to qs && nix flake update 2026-03-14 15:36:48 +00:00
ccd6b38184 meow 2026-03-14 14:49:15 +00:00
0ceda0b675 battery/ac target fixes (wip, still needs work) 2026-03-14 11:08:36 +00:00
8229f20975 gihcomit 2026-03-13 10:24:07 +00:00
6c33f7f53e *explodes* 2026-03-13 01:04:01 +00:00
64f2e34018 added battery widget on qs 2026-03-13 00:58:44 +00:00
ea47a2ca71 Wip 2026-03-13 00:51:09 +00:00
824f75f9cb meow 2026-03-12 17:00:21 +00:00
77d520e944 added: lavd scx scheduler for more powerefficentcy 2026-03-12 16:57:07 +00:00
963b45ffa2 more 2026-03-12 11:15:52 +00:00
52b3f2eb5e guh 2026-03-12 11:02:59 +00:00
b0787ecfd6 guh 2026-03-12 10:47:01 +00:00
73fcd3619e meow 2026-03-12 09:48:24 +00:00
119a2433b4 check 2026-03-12 09:48:00 +00:00
cbd3c408e1 qol(qs): scaling based on exists, focused and not 2026-03-11 11:32:07 +00:00
eb593db0c0 sche 2026-03-10 16:53:12 +00:00
961afbbff7 changes like workspace added to qs and zen as browser 2026-03-10 15:11:12 +00:00
6f25e849f0 hm fix 2026-03-02 04:07:29 +00:00
71b1e05b2d nix flake update (+etc) 2026-03-02 04:05:35 +00:00
320cac603d all 2026-02-23 09:26:58 +00:00
a306a8cb9a meow 2026-02-23 09:25:11 +00:00
db22304952 last resort nix flake update 2026-02-22 16:55:32 +00:00
79c70eea54 d 2026-02-22 16:46:50 +00:00
598306c57e meow 2026-02-22 16:08:53 +00:00
6af15d5a00 bwa 2026-02-22 15:58:34 +00:00
93f81a1f7f guh 2026-02-22 15:45:07 +00:00
ba58db5873 d 2026-02-21 17:53:25 +00:00
9fbb2574d4 a 2026-02-21 17:52:02 +00:00
55c5f90b5f awa 2026-02-21 17:13:35 +00:00
439b3e5470 more qs changes 2026-02-20 16:45:28 +00:00
bd559c0507 basic ass quickshell added 2026-02-20 16:26:52 +00:00
c9d93f2e13 added stuff 2026-02-19 16:20:36 +00:00
e5c5a641e2 mreow 2026-02-18 10:39:30 +00:00
d001b30906 testing 2026-02-18 10:10:59 +00:00
32d8f9bd4f ba 2026-02-17 23:40:43 +00:00
1caf2a2583 desktop switch now 2026-02-17 22:45:14 +00:00
07e47f87e6 more modules 2026-02-17 22:24:41 +00:00
5f063d825e mrweow 2026-02-16 13:28:15 +00:00
205b0a516b d 2026-02-16 13:05:29 +00:00
a9fec07b50 runner for hyprland 2026-02-15 12:40:32 +00:00
00411b9d9f fonts 2026-02-15 12:29:05 +00:00
cea20ef832 pm 2026-02-15 12:17:16 +00:00
a0963d09f0 fonts 2026-02-15 12:13:34 +00:00
53502772a0 fixed... something >? 2026-02-15 11:58:48 +00:00
d002ca372e aaa 2026-02-14 19:26:56 +00:00
f4387c8865 meow 2026-02-14 19:26:55 +00:00
49 changed files with 1807 additions and 173 deletions

0
.new Normal file
View File

View File

@@ -0,0 +1,31 @@
{ den, modules, ... }:
{
den.aspects.desktop = {
nixos =
{
modulesPath,
lib,
pkgs,
config,
...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
};
};
}

View File

@@ -2,6 +2,7 @@
den, den,
__findFile, __findFile,
modules, modules,
inputs,
... ...
}: }:
{ {
@@ -11,7 +12,24 @@
den.aspects.doloro-shared den.aspects.doloro-shared
modules.sops modules.sops
modules.hyprland modules.hyprland
modules.fish
modules.tuigreet
modules.kitty
modules.fonts
<modules/hyprland/doloro-settings> <modules/hyprland/doloro-settings>
(modules.obs {
audio = true;
autostart = true;
})
<modules/common/gaming>
# modules.helium
(<modules/helium> {
default = true;
})
# modules.niri # Testing
modules.stylix
modules.quickshell
modules.nix-ld
]; ];
nixos = nixos =
{ config, pkgs, ... }: { config, pkgs, ... }:
@@ -21,5 +39,37 @@
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path; hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
}; };
}; };
homeManager =
{ home, pkgs, ... }:
{
wayland.windowManager.hyprland.settings = {
monitor = [
"HDMI-A-1, 1920x1080@60, 0x0, 1"
"DP-3, 1920x1080@144, 1920x0, 1"
];
exec-once = [
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
];
workspace = [
"name:2, monitor:DP-3"
];
input = {
kb_layout = "gb";
follow_mouse = 2;
sensitivity = -0.5;
};
};
home.packages = with pkgs; [
equibop
telegram-desktop
obsidian
pear-desktop
prismlauncher
deadlock-mod-manager
gamescope
];
nixpkgs.config.allowUnfree = true;
programs.home-manager.enable = true;
};
}; };
} }

View File

@@ -2,6 +2,7 @@
den, den,
modules, modules,
pkgs, pkgs,
inputs,
__findFile, __findFile,
... ...
}: }:
@@ -24,18 +25,16 @@
boot.loader.grub.efiInstallAsRemovable = true; boot.loader.grub.efiInstallAsRemovable = true;
networking.hostName = "doloroo-main"; # Define your hostname. networking.hostName = "doloroo-main"; # Define your hostname.
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages =
# Enable "Silent boot" inputs.nix-cachyos-kernel.legacyPackages.x86_64-linux.linuxPackages-cachyos-lts-lto;
boot.consoleLogLevel = 3;
boot.initrd.verbose = false; boot.initrd.verbose = false;
boot.kernelParams = [ boot.kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail" "boot.shell_on_fail"
"udev.log_priority=3"
"rd.systemd.show_status=auto" "rd.systemd.show_status=auto"
]; ];
services.openssh.enable = true;
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.firewall.enable = false; networking.firewall.enable = false;
@@ -59,6 +58,7 @@
"exec" "exec"
]; ];
}; };
services.gnome.gnome-keyring.enable = true;
hardware.nvidia = { hardware.nvidia = {

View File

@@ -11,10 +11,13 @@
pkgs, pkgs,
lib, lib,
config, config,
modulesPath,
... ...
}: }:
{ {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [
"xhci_pci" "xhci_pci"
"thunderbolt" "thunderbolt"
@@ -27,7 +30,6 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}; };
}; };
} }

View File

@@ -2,6 +2,7 @@
den, den,
__findFile, __findFile,
modules, modules,
lib,
... ...
}: }:
{ {
@@ -13,9 +14,13 @@
<modules/hyprland/doloro-settings> <modules/hyprland/doloro-settings>
modules.sops modules.sops
modules.fish modules.fish
<modules/zen-browser> (<modules/helium> {
default = true;
})
modules.kitty modules.kitty
modules.stylix modules.stylix
modules.quickshell
modules.lavd
]; ];
nixos = nixos =
{ config, pkgs, ... }: { config, pkgs, ... }:
@@ -23,9 +28,36 @@
users.users.doloro = { users.users.doloro = {
isNormalUser = true; isNormalUser = true;
shell = pkgs.fish; shell = pkgs.fish;
initialPassword = "sex";
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path; hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
}; };
}; };
homeManager =
{ pkgs, ... }:
{
wayland.windowManager.hyprland.settings = {
monitor = [
"eDP-1, 2880x1800@120, 0x0, 2"
];
input = {
kb_layout = "gb";
follow_mouse = 2;
sensitivity = 0;
};
decoration = {
blur = lib.mkForce {
enabled = false;
passes = 1;
new_optimizations = true;
ignore_opacity = false;
};
};
};
home.packages = with pkgs; [
telegram-desktop
equibop
obsidian
];
nixpkgs.config.allowUnfree = true;
};
}; };
} }

View File

@@ -2,6 +2,8 @@
den, den,
modules, modules,
__findFile, __findFile,
inputs,
lib,
... ...
}: }:
{ {
@@ -10,6 +12,21 @@
modules.nix modules.nix
modules.tuigreet modules.tuigreet
<modules/common/laptop-power-management> <modules/common/laptop-power-management>
modules.fonts
(modules.tdp {
batt = {
cpu = {
long-term = 10;
short-term = 15;
};
};
ac = {
cpu = {
long-term = 120;
short-term = 120;
};
};
})
]; ];
nixos = nixos =
{ pkgs, config, ... }: { pkgs, config, ... }:
@@ -18,7 +35,9 @@
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
# boot.kernelPackages = pkgs.linuxPackages_6_12; # Hibernate works on 6.12 but not on latest # boot.kernelPackages = pkgs.linuxPackages_6_12; # Hibernate works on 6.12 but not on latest
boot.kernelPackages = pkgs.linuxPackages_latest; # Unpinned the linux version for now.. as i am not using hibernate that often # boot.kernelPackages = pkgs.linuxPackages_latest; # Unpinned the linux version for now.. as i am not using hibernate that often
boot.kernelPackages =
inputs.nix-cachyos-kernel.legacyPackages.x86_64-linux.linuxPackages-cachyos-lts-lto;
networking.hostName = "doloro-nixos-laptop"; # Define your hostname. networking.hostName = "doloro-nixos-laptop"; # Define your hostname.
security.rtkit.enable = true; security.rtkit.enable = true;
@@ -115,7 +134,7 @@
password = "meowmeowmeow"; password = "meowmeowmeow";
}; };
users.mutableUsers = false; users.mutableUsers = false;
services.system76-scheduler.enable = true; services.system76-scheduler.enable = false;
powerManagement = { powerManagement = {
enable = true; enable = true;
@@ -124,19 +143,24 @@
boot.kernelParams = [ boot.kernelParams = [
# "mem_sleep_default=deep" # "mem_sleep_default=deep"
# "i915.fastboot=1" "i915.fastboot=1"
"ahci.mobile_lpm_policy=1" "ahci.mobile_lpm_policy=1"
"intel_idle.max_cstate=11"
"i915.modeset=1"
"quiet"
"splash"
# "idle=halt"
]; ];
services.logind.settings.Login = { services.logind.settings.Login = {
HandleLidSwitch = "suspend"; HandleLidSwitch = "hibernate";
HandleLidSwitchExternalPower = "suspend"; HandleLidSwitchExternalPower = "suspend";
HandleLidSwitchDocked = "ignore"; HandleLidSwitchDocked = "ignore";
}; };
systemd.sleep.extraConfig = '' # systemd.sleep.extraConfig = ''
HibernateDelaySec=30min # HibernateDelaySec=30min
SuspendEstimationSec=120 # SuspendEstimationSec=120
''; # '';
# programs.firefox.enable = true; # programs.firefox.enable = true;

View File

@@ -11,16 +11,26 @@
modules.nix modules.nix
modules.tmux modules.tmux
<modules/git/doloro> <modules/git/doloro>
modules.hyfetch
modules.ssh
]; ];
homeManager = homeManager =
{ pkgs, ... }: { pkgs, lib, ... }:
{ {
home = { home = {
username = "doloro"; username = "doloro";
homeDirectory = "/home/doloro"; homeDirectory = "/home/doloro";
packages = with pkgs; [ wl-clipboard ]; packages = with pkgs; [
wl-clipboard
# home-manager
btop
];
}; };
programs.home-manager.enable = true; programs.home-manager.enable = true;
}; };
nixos =
{ lib, ... }:
{
};
}; };
} }

View File

@@ -1,24 +1,39 @@
{ den, __findFile, ... }: {
den,
__findFile,
lib,
...
}:
{ {
# Homes # Homes
# den.homes.x86_64-linux.doloro-desktop = { den.homes.x86_64-linux.doloro-desktop = {
# userName = "doloro"; userName = "doloro";
# }; };
# TODO # TODO
den.homes.x86_64-linux.doloro-laptop = { den.homes.x86_64-linux.doloro-laptop = {
userName = "doloro"; userName = "doloro";
}; };
# Machines # Machines
# den.hosts.x86_64-linux.desktop = { den.hosts.x86_64-linux.desktop = {
# users.doloro = { users.doloro = {
# includes = [ <modules/user/groups> ]; aspect = "doloro-desktop";
# aspect = "doloro-desktop"; home-manager.enable = true;
# }; };
# }; };
# TODO # TODO
den.hosts.x86_64-linux.laptop = { den.hosts.x86_64-linux.laptop = {
users.doloro = { users.doloro = {
aspect = "doloro-laptop"; aspect = "doloro-laptop";
home-manager.enable = true;
}; };
}; };
den.schema.user.classes = lib.mkDefault [ "homeManager" ];
# Fixes 'The option `flake.homeConfigurations' is defined multiple times while it's expected to be unique.'
flake.options.homeConfigurations = lib.mkOption {
type = lib.types.attrs;
description = "Home Manager configurations for users.";
};
} }

View File

@@ -0,0 +1,12 @@
{
modules,
den,
inputs,
...
}:
{
flake-file.inputs = {
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
};
# inputs.nix-cachyos-kernel.legacyPackages.x86_64-linux.linuxPackages-cachyos-lts-lto;
}

View File

@@ -1,11 +1,13 @@
{ modules, ... }: { modules, ... }:
{ {
modules.dunst = { modules.dunst = {
services.dunst = { homeManager = {
enable = true; services.dunst = {
settings = { enable = true;
global = { settings = {
font = "Noto Nerd Font 8"; global = {
font = "Noto Nerd Font 8";
};
}; };
}; };
}; };

38
config/modules/fonts.nix Normal file
View File

@@ -0,0 +1,38 @@
{
den,
modules,
inputs,
...
}:
{
flake-file.inputs = {
font-patcher.url = "github:Doloro1978/nix-nerd-fonts-patcher";
};
modules.fonts = {
nixos =
{ pkgs, ... }:
{
config.fonts = {
enableDefaultPackages = true;
packages =
with pkgs;
[
material-design-icons
material-symbols
nerd-fonts.caskaydia-cove
nerd-fonts.noto
noto-fonts-cjk-sans
noto-fonts-cjk-serif
]
++ [
(inputs.font-patcher.lib.patchFont {
font = "${pkgs.googlesans-code}/share/fonts/googlesans-code/GoogleSansCode[wght].ttf";
name = "Google Sans Code Nerd Font";
inherit system;
})
];
fontDir.enable = true;
};
};
};
}

View File

@@ -0,0 +1,8 @@
{ den, modules, ... }:
{
modules.common.provides = {
gaming = {
includes = [ modules.steam ];
};
};
}

View File

@@ -0,0 +1,41 @@
{ den, modules, ... }:
{
modules.steam = {
nixos =
{ pkgs, ... }:
{
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
# Ensure gamescope is inside the steam "fhs"
package = pkgs.steam.override {
extraLibraries = pkgs: [ pkgs.xorg.libxcb ];
extraPkgs =
pkgs: with pkgs; [
attr
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
libkrb5
keyutils
mangohud
gamemode
lsof
(gamescope.overrideAttrs {
enableWsi = true;
# Fixes some games being blurry under wayland backend
NIX_CFLAGS_COMPILE = [ "-fno-fast-math" ];
})
];
};
};
};
};
}

34
config/modules/helium.nix Normal file
View File

@@ -0,0 +1,34 @@
{
den,
modules,
inputs,
lib,
...
}:
{
flake-file.inputs = {
heliumFlake = {
url = "github:vikingnope/helium-browser-nix-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
};
modules.helium = settings: {
homeManager =
{ pkgs, home, ... }:
{
home.packages = [
inputs.heliumFlake.packages.x86_64-linux.helium
];
nixpkgs.config.allowUnfree = true;
# Gives me widevine support. yay
xdg.configFile."net.imput.helium/WidevineCdm/latest-component-updated-widevine-cdm" = {
text = ''{"Path":"${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm"}'';
};
wayland.windowManager.hyprland.settings = lib.mkIf settings.default {
binds = [
"$mainMod, E, exec, helium"
];
};
};
};
}

View File

@@ -0,0 +1,32 @@
{ den, modules, ... }:
{
modules.hyfetch = {
homeManager =
{ home, pkgs, ... }:
{
home.packages = [ pkgs.fastfetch ];
programs.hyfetch = {
enable = true;
settings = {
"preset" = "bisexual";
"mode" = "rgb";
"auto_detect_light_dark" = true;
"light_dark" = "dark";
"lightness" = 0.5;
"color_align" = {
"mode" = "custom";
"custom_colors" = {
"1" = 1;
"2" = 0;
};
};
"backend" = "fastfetch";
"args" = null;
"distro" = null;
"pride_month_disable" = false;
"custom_ascii_path" = null;
};
};
};
};
}

View File

@@ -3,12 +3,17 @@
modules.hyprland = { modules.hyprland = {
provides = { provides = {
doloro-settings = { doloro-settings = {
includes = [
modules.dunst
];
homeManager = homeManager =
{ pkgs, home, ... }: { pkgs, home, ... }:
{ {
home.packages = [ home.packages = [
pkgs.hyprcursor pkgs.hyprcursor
pkgs.wlogout pkgs.wlogout
pkgs.tofi
pkgs.killall
]; ];
home.pointerCursor = { home.pointerCursor = {
enable = true; enable = true;
@@ -54,6 +59,9 @@
ignore_opacity = false; ignore_opacity = false;
}; };
}; };
cursor = {
no_hardware_cursors = true;
};
animations = { animations = {
enabled = true; enabled = true;
bezier = [ bezier = [
@@ -99,9 +107,31 @@
}; };
"$mainMod" = "SUPER"; "$mainMod" = "SUPER";
bind = [ bind = [
(
let
config = pkgs.writeTextFile {
name = "config";
text = ''
width = 100%
height = 100%
border-width = 0
outline-width = 0
padding-left = 35%
padding-top = 35%
result-spacing = 25
num-results = 5
font = monospace
background-color = #000A
'';
};
script = pkgs.writeShellScript "mreow" ''
exec $(tofi-drun -c ${config})
'';
in
"$mainMod, R, exec, ${script}"
)
"$mainMod, C, killactive" "$mainMod, C, killactive"
"$mainMod, M, exec, uwsm stop" "$mainMod, M, exec, uwsm stop"
"$mainMod, E, exec, zen"
"$mainMod, Q, exec, kitty" "$mainMod, Q, exec, kitty"
"$mainMod, V, togglefloating," "$mainMod, V, togglefloating,"
"$mainMod, P, pseudo, # dwindle" "$mainMod, P, pseudo, # dwindle"
@@ -143,7 +173,6 @@
windowrule = [ windowrule = [
"match:class .*, suppress_event maximize" "match:class .*, suppress_event maximize"
"match:class ^(gamescope)$, workspace 5" "match:class ^(gamescope)$, workspace 5"
"match:class ^(gamescope)$, fullscreen true"
"match:class ^(gamescope)$, immediate true" "match:class ^(gamescope)$, immediate true"
"match:class ^(steam)$, workspace 6 silent" "match:class ^(steam)$, workspace 6 silent"
"match:class ^(vesktop)$, workspace 8 silent" "match:class ^(vesktop)$, workspace 8 silent"

View File

@@ -1,6 +1,7 @@
{ {
modules, modules,
inputs, inputs,
lib,
... ...
}: }:
{ {
@@ -11,11 +12,13 @@
nixos = nixos =
{ pkgs, ... }: { pkgs, ... }:
{ {
imports = [ inputs.hyprland.nixosModules.default ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
wayfreeze wayfreeze
grim grim
slurp slurp
wlogout wlogout
ranger
]; ];
programs.xwayland.enable = true; programs.xwayland.enable = true;
programs.hyprland = { programs.hyprland = {
@@ -27,9 +30,13 @@
portalPackage = portalPackage =
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
}; };
# gtk.enable = lib.mkForce false;
xdg.portal = { xdg.portal = {
enable = true; enable = lib.mkForce false;
# extraPortals = [ pkgs.xdg-desktop-portal-cosmic ]; extraPortals = [
pkgs.xdg-desktop-portal-termfilechooser
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland
];
}; };
environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables.NIXOS_OZONE_WL = "1";
hardware.graphics = { hardware.graphics = {
@@ -43,6 +50,9 @@
homeManager = homeManager =
{ pkgs, ... }: { pkgs, ... }:
{ {
gtk = {
enable = true;
};
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
systemd.variables = [ "--all" ]; systemd.variables = [ "--all" ];

View File

@@ -0,0 +1,152 @@
{
modules,
inputs,
lib,
den,
...
}:
{
flake-file.inputs = {
niri-flake = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
};
modules.niri = {
nixos =
{ pkgs, ... }:
{
imports = [ inputs.niri-flake.nixosModules.niri ];
programs.niri.enable = true;
programs.niri.package = pkgs.niri-unstable;
nixpkgs.overlays = [ inputs.niri-flake.overlays.niri ];
};
homeManager =
{ pkgs, ... }:
{
# The nixos module already imports the hm module
# imports = [ inputs.niri-flake.homeModules.niri ];
gtk.enable = lib.mkForce false;
programs = {
niri = {
# enable = true;
# package = pkgs.niri-unstable;
settings = {
input = {
keyboard = {
xkb = {
layout = "gb";
};
numlock = true;
};
};
cursor = {
size = 16;
};
outputs = {
DP-3 = {
# Philips Consumer Electronics Company PHL 272E1GZ UK02101011104
mode = {
width = 1920;
height = 1080;
refresh = 144.0;
};
focus-at-startup = true;
variable-refresh-rate = false;
};
HDMI-A-1 = {
position = {
x = -1920;
y = 0;
};
scale = 1;
};
};
binds = {
# Navigation
"Mod+Shift+WheelScrollDown" = {
hotkey-overlay.title = "Workspace Down";
cooldown-ms = 150;
action.focus-workspace-down = [ ];
};
"Mod+Shift+WheelScrollUp" = {
hotkey-overlay.title = "Workspace Up";
cooldown-ms = 150;
action.focus-workspace-up = [ ];
};
"Mod+WheelScrollUp" = {
hotkey-overlay.title = "Workspace Left";
action.focus-column-right = [ ];
};
"Mod+WheelScrollDown" = {
hotkey-overlay.title = "Workspace Right";
action.focus-column-left = [ ];
};
"Super+Tab" = {
hotkey-overlay.title = "Overview";
action.toggle-overview = [ ];
};
# --
# Utility
"Super+S" = {
action.screenshot = [ ];
};
"Super+C" = {
action.close-window = [ ];
};
"Super+L" = {
action.spawn = "wlogout";
};
# Program Spawning
"Mod+E".action.spawn = "helium";
"Mod+R".action.spawn =
let
config = pkgs.writeTextFile {
name = "config";
text = ''
width = 100%
height = 100%
border-width = 0
outline-width = 0
padding-left = 35%
padding-top = 35%
result-spacing = 25
num-results = 5
font = monospace
background-color = #000A
'';
};
script = pkgs.writeShellScript "mreow" ''
exec $(tofi-drun -c ${config})
'';
in
"${script}";
"Mod+Q".action.spawn = "kitty";
# --
};
window-rules = [
{
matches = [ ];
geometry-corner-radius = {
bottom-left = 3.0;
bottom-right = 3.0;
top-left = 3.0;
top-right = 3.0;
};
clip-to-geometry = true;
draw-border-with-background = false;
focus-ring.width = 2;
}
];
xwayland-satellite = {
enable = true;
path = lib.getExe pkgs.xwayland-satellite;
};
};
};
};
};
};
}

156
config/modules/nix-ld.nix Normal file
View File

@@ -0,0 +1,156 @@
{ den, modules, ... }:
{
modules.nix-ld = {
nixos =
{ pkgs, ... }:
{
programs.nix-ld = {
enable = true;
libraries = with pkgs; [
# List by default
zlib
zstd
stdenv.cc.cc
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
# My own additions
xorg.libXcomposite
xorg.libXtst
xorg.libXrandr
xorg.libXext
xorg.libX11
xorg.libXfixes
libGL
libva
pipewire
xorg.libxcb
xorg.libXdamage
xorg.libxshmfence
xorg.libXxf86vm
libelf
# Required
glib
gtk2
# Inspired by steam
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85
networkmanager
vulkan-loader
libgbm
libdrm
libxcrypt
coreutils
pciutils
zenity
# glibc_multi.bin # Seems to cause issue in ARM
# # Without these it silently fails
xorg.libXinerama
xorg.libXcursor
xorg.libXrender
xorg.libXScrnSaver
xorg.libXi
xorg.libSM
xorg.libICE
gnome2.GConf
nspr
nss
cups
libcap
SDL2
libusb1
dbus-glib
ffmpeg
# Only libraries are needed from those two
libudev0-shim
# needed to run unity
gtk3
icu
libnotify
gsettings-desktop-schemas
# https://github.com/NixOS/nixpkgs/issues/72282
# https://github.com/NixOS/nixpkgs/blob/2e87260fafdd3d18aa1719246fd704b35e55b0f2/pkgs/applications/misc/joplin-desktop/default.nix#L16
# log in /home/leo/.config/unity3d/Editor.log
# it will segfault when opening files if you dont do:
# export XDG_DATA_DIRS=/nix/store/0nfsywbk0qml4faa7sk3sdfmbd85b7ra-gsettings-desktop-schemas-43.0/share/gsettings-schemas/gsettings-desktop-schemas-43.0:/nix/store/rkscn1raa3x850zq7jp9q3j5ghcf6zi2-gtk+3-3.24.35/share/gsettings-schemas/gtk+3-3.24.35/:$XDG_DATA_DIRS
# other issue: (Unity:377230): GLib-GIO-CRITICAL **: 21:09:04.706: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
# Verified games requirements
xorg.libXt
xorg.libXmu
libogg
libvorbis
SDL
SDL2_image
glew110
libidn
tbb
# Other things from runtime
flac
freeglut
libjpeg
libpng
libpng12
libsamplerate
libmikmod
libtheora
libtiff
pixman
speex
SDL_image
SDL_ttf
SDL_mixer
SDL2_ttf
SDL2_mixer
libappindicator-gtk2
libdbusmenu-gtk2
libindicator-gtk2
libcaca
libcanberra
libgcrypt
libvpx
librsvg
xorg.libXft
libvdpau
# ...
# Some more libraries that I needed to run programs
pango
cairo
atk
gdk-pixbuf
fontconfig
freetype
dbus
alsa-lib
expat
# for blender
libxkbcommon
libxcrypt-legacy # For natron
libGLU # For natron
fribidi
harfbuzz
libgpg-error
# Appimages need fuse, e.g. https://musescore.org/fr/download/musescore-x86_64.AppImage
fuse
e2fsprogs
];
};
};
};
}

View File

@@ -13,6 +13,7 @@
"https://attic.scug.io/pkgs" "https://attic.scug.io/pkgs"
"https://cache.nixos-cuda.org" "https://cache.nixos-cuda.org"
"https://niri.cachix.org" "https://niri.cachix.org"
"https://attic.xuyh0120.win/lantian"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
@@ -20,6 +21,7 @@
"pkgs:+sRbfiZMMX5R3PuAPtIRz/emowDoGZNpozibrnrAvuc=" "pkgs:+sRbfiZMMX5R3PuAPtIRz/emowDoGZNpozibrnrAvuc="
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M=" "cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" "niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
]; ];
experimental-features = [ experimental-features = [
"flakes" "flakes"

View File

@@ -32,6 +32,7 @@
ripgrep ripgrep
# misc # misc
nixd nixd
tree-sitter
]; ];
performance.byteCompileLua = { performance.byteCompileLua = {
enable = true; enable = true;
@@ -174,7 +175,7 @@
tiny-inline-diagnostic.enable = true; tiny-inline-diagnostic.enable = true;
# persisted.enable = true; # persisted.enable = true;
auto-session = { auto-session = {
enable = true; enable = false;
settings = { settings = {
enabled = true; enabled = true;
auto_save = true; auto_save = true;
@@ -190,6 +191,7 @@
lua lua
make make
markdown markdown
rust
nix nix
regex regex
toml toml

70
config/modules/obs.nix Normal file
View File

@@ -0,0 +1,70 @@
{ den, modules, ... }:
{
modules.obs = settings: {
homeManager =
{
pkgs,
lib,
config,
...
}:
{
programs = {
obs-studio = {
enable = true;
package = (
pkgs.obs-studio.override {
cudaSupport = true;
}
);
plugins = with pkgs.obs-studio-plugins; [
obs-pipewire-audio-capture
obs-vkcapture
];
};
};
systemd.user.services =
let
audio-set = lib.mkIf settings.audio {
pw-discordaudio-virtual-device = {
Unit = {
Description = "OBS daemon";
After = [ "hyprland-session.target" ];
};
Install = {
WantedBy = [ "default.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
''}";
Restart = "on-failure";
RestartSec = "5s";
};
};
pw-gameaudio-virtual-device = {
Unit = {
Description = "OBS daemon";
After = [ "hyprland-session.target" ];
};
Install = {
WantedBy = [ "default.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
''}";
Restart = "on-failure";
RestartSec = "5s";
};
};
};
in
lib.mergeAttrsList [ audio-set ];
wayland.windowManager.hyprland.settings = {
exec-once = [ "${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer" ];
};
};
};
}

View File

@@ -8,6 +8,20 @@
SUBSYSTEM=="power_supply",ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/run/current-system/systemd/bin/systemctl start battery.target" SUBSYSTEM=="power_supply",ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/run/current-system/systemd/bin/systemctl start battery.target"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/run/current-system/systemd/bin/systemctl start ac.target" SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/run/current-system/systemd/bin/systemctl start ac.target"
''; '';
systemd.targets = {
"ac" = {
description = "On AC power";
unitConfig = {
StopWhenUnneeded = "yes";
};
};
"battery" = {
description = "On battery power";
unitConfig = {
StopWhenUnneeded = "yes";
};
};
};
}; };
}; };
} }

View File

@@ -3,11 +3,15 @@
modules.common.provides = { modules.common.provides = {
laptop-power-management = { laptop-power-management = {
includes = [ includes = [
modules.auto-cpufreq # modules.auto-cpufreq
modules.battery-ac-targets modules.battery-ac-targets
modules.intel-mgm modules.intel-mgm
modules.tlp modules.tlp
# modules.ppd
]; ];
nixos = {
services.upower.enable = true;
};
}; };
}; };
} }

View File

@@ -0,0 +1,22 @@
{ modules, den, ... }:
{
modules.flash = {
nixos = {
services.scx = {
enable = true;
## Commented out because the service impl is bugged and doesnt actually set these
# scheduler = "scx_lavd";
# extraArgs = [
# "--cpu-pref-order 20-21,12-19,0-11"
# "--autopilot"
# ];
};
# Most energy efficent scheduler setup..
systemd.services.scx.environment = {
SCX_SCHEDULER_OVERRIDE = "scx_flash";
# Flags are from cachyos sched-ext tutorial
SCX_FLAGS_OVERRIDE = "-m powersave -I 10000 -t 1000 -s 10000 -S 1000";
};
};
};
}

View File

@@ -17,7 +17,7 @@
{ {
systemd.services.gpu-limit-on-batt = { systemd.services.gpu-limit-on-batt = {
enable = true; enable = true;
description = "Using rfkill; disable all rf devices before sleeping."; description = "Gpu Limit";
before = [ "battery.target" ]; before = [ "battery.target" ];
serviceConfig = { serviceConfig = {
@@ -30,7 +30,7 @@
}; };
systemd.services.gpu-limit-on-ac = { systemd.services.gpu-limit-on-ac = {
enable = true; enable = true;
description = "Using rfkill; disable all rf devices before sleeping."; description = "Gpu Limit";
before = [ "ac.target" ]; before = [ "ac.target" ];
serviceConfig = { serviceConfig = {

View File

@@ -0,0 +1,21 @@
{ modules, den, ... }:
{
modules.lavd = {
nixos = {
services.scx = {
enable = true;
## Commented out because the service impl is bugged and doesnt actually set these
# scheduler = "scx_lavd";
# extraArgs = [
# "--cpu-pref-order 20-21,12-19,0-11"
# "--autopilot"
# ];
};
# Most energy efficent scheduler setup..
systemd.services.scx.environment = {
SCX_SCHEDULER_OVERRIDE = "scx_lavd";
SCX_FLAGS_OVERRIDE = "--powersave --per-cpu-dsq";
};
};
};
}

View File

@@ -0,0 +1,11 @@
{ den, modules, ... }:
{
modules.ppd = {
nixos = {
services.power-profiles-daemon.enable = true;
powerManagement = {
cpuFreqGovernor = "schedutil";
};
};
};
}

View File

@@ -0,0 +1,51 @@
{ modules, den, ... }:
{
modules.tdp = settings: {
nixos =
{ pkgs, ... }:
let
batt-tdp = pkgs.writeShellScript "batt-cpu-tdp" ''
${pkgs.powercap}/bin/powercap-set intel-rapl -z 0 -c 0 -l ${
toString (settings.batt.cpu.long-term * 1000000)
}
${pkgs.powercap}/bin/powercap-set intel-rapl -z 0 -c 0 -l ${
toString (settings.batt.cpu.short-term * 1000000)
}
'';
ac-tdp = pkgs.writeShellScript "ac-cpu-tdp" ''
${pkgs.powercap}/bin/powercap-set intel-rapl -z 0 -c 0 -l ${
toString (settings.ac.cpu.long-term * 1000000)
}
${pkgs.powercap}/bin/powercap-set intel-rapl -z 0 -c 0 -l ${
toString (settings.ac.cpu.short-term * 1000000)
}
'';
in
{
systemd.services.tdp-on-batt = {
enable = true;
before = [ "battery.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${batt-tdp}";
RemainAfterExit = true;
};
wantedBy = [ "battery.target" ];
partOf = [ "battery.target" ];
};
systemd.services.tdp-on-ac = {
enable = true;
before = [ "ac.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${ac-tdp}";
RemainAfterExit = true;
};
wantedBy = [ "ac.target" ];
partOf = [ "ac.target" ];
};
};
};
}

View File

@@ -5,12 +5,13 @@
nixos = { nixos = {
services.tlp = { services.tlp = {
enable = true; enable = true;
pd.enable = true;
settings = { settings = {
# Wireless power saving # Wireless power saving
WIFI_PWR_ON_BAT = "1"; WIFI_PWR_ON_BAT = "on";
# USB autosuspend # USB autosuspend
USB_AUTOSUSPEND = "1"; USB_AUTOSUSPEND = "on";
# SATA drive power management # SATA drive power management
SATA_LINKPWR_ON_BAT = "min_power"; SATA_LINKPWR_ON_BAT = "min_power";
@@ -33,7 +34,25 @@
INTEL_GPU_BOOST_FREQ_ON_AC = 0; INTEL_GPU_BOOST_FREQ_ON_AC = 0;
INTEL_GPU_BOOST_FREQ_ON_BAT = 800; INTEL_GPU_BOOST_FREQ_ON_BAT = 800;
CPU_MAX_PERF_ON_BAT = 50; # CPU_MAX_PERF_ON_BAT = 30;
# CPU_SCALING_GOVERNOR_ON_AC = "performance";
# CPU_SCALING_GOVERNOR_ON_BAT = "schedutil";
# CPU_HWP_DYN_BOOST_ON_AC = "1";
# CPU_HWP_DYN_BOOST_ON_BAT = "0";
# CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
# CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
MAX_LOST_WORK_SECS_ON_BAT = "60";
MAX_LOST_WORK_SECS_ON_AC = "15";
DISK_IDLE_SECS_ON_AC = "0";
WOL_DISABLE = "Y";
SOUND_POWER_SAVE_CONTROLLER = "Y";
DISK_IDLE_SECS_ON_BAT = "2";
SOUND_POWER_SAVE_ON_BAT = "1";
SOUND_POWER_SAVE_ON_AC = "1";
SCHED_POWERSAVE_ON_AC = 0;
SCHED_POWERSAVE_ON_BAT = 1;
NMI_WATCHDOG = 0;
PLATFORM_PROFILE_ON_AC = "balanced"; PLATFORM_PROFILE_ON_AC = "balanced";
PLATFORM_PROFILE_ON_BAT = "quiet"; PLATFORM_PROFILE_ON_BAT = "quiet";

View File

@@ -0,0 +1,22 @@
{ den, modules, ... }:
{
modules.quickshell = {
homeManager =
{
pkgs,
lib,
config,
...
}:
{
programs.quickshell = {
systemd.enable = true;
enable = true;
activeConfig = "main";
configs = {
main = config.lib.file.mkOutOfStoreSymlink "/home/doloro/dotfiles/config/modules/quickshell/quickshell";
};
};
};
};
}

View File

@@ -0,0 +1 @@
/run/user/1000/quickshell/vfs/6e389f6b800776b0595d9d90e42ebd04/.qmlls.ini

View File

@@ -0,0 +1,36 @@
import QtQuick
import QtQuick.Layouts
import Quickshell
import Quickshell.Services.UPower
import Quickshell.Services.Pipewire
Rectangle {
id: root
property PwNode defaultSpeaker: Pipewire.preferredDefaultAudioSink
property PwNode defaultMic: Pipewire.defaultAudioSource
PwObjectTracker {
objects: [root.defaultSpeaker, root.defaultMic]
}
visible: root.defaultSpeaker.audio.muted || root.defaultMic.audio.muted
implicitHeight: 20
implicitWidth: content.width
color: Colors.backgroundAlt
Layout.alignment: Qt.AlignCenter
radius: 3.5
RowLayout {
id: content
height: 20
anchors.centerIn: parent
Text {
id: speaker
text: root.defaultSpeaker.audio.muted ? "muted" : "unmuted"
color: Colors.textPrimary
}
Text {
id: mic
text: root.defaultMic.audio.muted ? "muted" : "unmuted"
color: Colors.textPrimary
}
}
}

View File

@@ -0,0 +1,73 @@
// Bar.qml
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
Scope {
id: root
PanelWindow {
required property var modelData
screen: modelData
color: "transparent"
anchors {
top: true
left: true
right: true
}
implicitHeight: 20
RowLayout {
visible: true
height: parent.height
anchors {
top: parent.top
left: parent.left
right: parent.right
// bottomMargin: 2
leftMargin: 0
rightMargin: 0
}
RowLayout {
// Left
Layout.alignment: Qt.AlignLeft
// To make sure no children mess with the height of all the other children.
// because if one widget is too height, it'll ofset all the other children in the bar
Layout.preferredHeight: 20
Workspaces {}
}
RowLayout {
// Center
Layout.alignment: Qt.AlignCenter
Layout.preferredHeight: 20
}
RowLayout {
// Right
Layout.alignment: Qt.AlignRight
Layout.preferredHeight: 20
// spacing: 100
spacing: 10
Audio {}
BatteryWidget {}
Rectangle {
implicitWidth: clockText.width
implicitHeight: clockText.height
radius: 3.5
color: Colors.backgroundAlt
Layout.alignment: Qt.AlignCenter
Text {
id: clockText
color: Colors.textPrimary
font: "CaskaydiaCove NFM"
text: Clock.time
}
}
}
}
}
}

View File

@@ -0,0 +1,26 @@
import QtQuick
import QtQuick.Layouts
import Quickshell
import Quickshell.Services.UPower
RowLayout {
id: content
height: 20
anchors.centerIn: root
visible: UPower.displayDevice.percentage != 0
property string charging: UPower.displayDevice.state == UPowerDeviceState.Charging ? "Charging.." : ""
Rectangle {
implicitHeight: text.height
implicitWidth: text.width
color: Colors.backgroundAlt
Layout.alignment: Qt.AlignCenter
radius: 3.5
Text {
id: text
property int power: UPower.displayDevice.percentage * 100
anchors.centerIn: parent
text: charging + " " + power + "%"
color: Colors.textPrimary
}
}
}

View File

@@ -0,0 +1,20 @@
// Time.qml
pragma Singleton
import Quickshell
import QtQuick
Singleton {
id: root
// an expression can be broken across multiple lines using {}
readonly property string time: {
// The passed format string matches the default output of
// the `date` command.
Qt.formatDateTime(clock.date, "ddd MMM d HH:mm");
}
SystemClock {
id: clock
precision: SystemClock.minutes
}
}

View File

@@ -0,0 +1,109 @@
pragma Singleton
import QtQuick 2.15
// Gruvbox Dark — base24 QML singleton
// Notes:
// - This is a template for a "base24" palette. Replace the baseNN hex values
// with your exact base24 values if you have them.
// - Semantic aliases (background, textPrimary, accentBlue, etc.) map to the
// palette entries and make QML usage easier.
// "Thanks CoPilot" - Doloro
QtObject {
id: gruvbox
// ---- Base24 palette (base00 .. base23) ----
// Replace these hex values with exact ones from the base24 palette if needed.
property color base00: "#1d2021" // darkest background
property color base01: "#282828"
property color base02: "#32302f"
property color base03: "#3c3836"
property color base04: "#504945"
property color base05: "#665c54"
property color base06: "#7c6f64"
property color base07: "#928374"
property color base08: "#bdae93"
property color base09: "#d5c4a1"
property color base10: "#ebdbb2" // main foreground
property color base11: "#fbf1c7"
property color base12: "#cc241d" // red
property color base13: "#d65d0e" // orange
property color base14: "#d79921" // yellow
property color base15: "#98971a" // green
property color base16: "#689d6a" // aqua/green
property color base17: "#8ec07c" // light aqua
property color base18: "#458588" // blue
property color base19: "#b16286" // purple
property color base20: "#a89984" // muted
property color base21: "#7c6f64" // subtle
property color base22: "#504945"
property color base23: "#282828" // repeat or very dark
// ---- Semantic aliases (use these in your QML components) ----
property color background: base00
property color backgroundAlt: base01
property color surface: base02
property color surfaceAlt: base03
property color textPrimary: base10
property color textSecondary: base06
property color textDisabled: base04
property color border: base05
property color muted: base20
// accents
property color accentRed: base12
property color accentOrange: base13
property color accentYellow: base14
property color accentGreen: base15
property color accentAqua: base16
property color accentLightAqua: base17
property color accentBlue: base18
property color accentPurple: base19
// Example semantic levels for UI elements
property color windowBackground: background
property color panelBackground: surface
property color cardBackground: surfaceAlt
property color primaryText: textPrimary
property color secondaryText: textSecondary
property color highlight: accentBlue
property color danger: accentRed
property color success: accentGreen
property color warning: accentYellow
// ---- Helper function ----
// Returns a color by semantic name (string). Useful for dynamic lookups.
function colorFor(name) {
switch (name) {
case "background":
return gruvbox.background;
case "panelBackground":
return gruvbox.panelBackground;
case "cardBackground":
return gruvbox.cardBackground;
case "primaryText":
return gruvbox.primaryText;
case "secondaryText":
return gruvbox.secondaryText;
case "highlight":
return gruvbox.highlight;
case "danger":
return gruvbox.danger;
case "success":
return gruvbox.success;
case "warning":
return gruvbox.warning;
case "accentBlue":
return gruvbox.accentBlue;
case "accentRed":
return gruvbox.accentRed;
case "accentGreen":
return gruvbox.accentGreen;
default:
// fallback to primary text if unknown
return gruvbox.textPrimary;
}
}
}

View File

@@ -0,0 +1,19 @@
// Time.qml
pragma Singleton
import Quickshell
import QtQuick
import Quickshell.Hyprland
Singleton {
id: root
function getHyprlandWorkspaceById(id) {
for (var x of Hyprland.workspaces.values) {
if (x.id == id) {
return x;
}
}
return null;
}
}

View File

@@ -0,0 +1,69 @@
// Bar.qml
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
import Quickshell.Hyprland
Item {
id: root
width: row.width
height: row.height
RowLayout {
id: row
height: 15
Repeater {
id: repeater
model: 10
delegate: Item {
id: content
required property int index
property bool focused: HyprlandHelpers.getHyprlandWorkspaceById(index + 1).focused
property bool exists: HyprlandHelpers.getHyprlandWorkspaceById(index + 1) ? true : false
state: focused ? "FOCUSED" : (exists ? "EXISTS" : "NOT")
states: [
State {
name: "FOCUSED"
PropertyChanges {
target: content
implicitWidth: 10
scale: 1
}
},
State {
name: "EXISTS"
PropertyChanges {
target: content
implicitWidth: 10
scale: 0.85
}
},
State {
name: "NOT"
PropertyChanges {
target: content
implicitWidth: 10
scale: 0.75
}
}
]
height: 15
Rectangle {
implicitWidth: parent.width
implicitHeight: parent.height
radius: 2.5
color: {
if (HyprlandHelpers.getHyprlandWorkspaceById(index + 1) != null) {
if (HyprlandHelpers.getHyprlandWorkspaceById(index + 1).focused) {
return Colors.primaryText;
}
return Colors.textSecondary;
} else {
return Colors.textDisabled;
}
}
}
}
}
}
}

View File

@@ -0,0 +1 @@
/nix/store/ynim9hhkc1smj1h2plrw3ap978dlm3qj-home-manager-files/.config/quickshell/main

View File

@@ -0,0 +1,11 @@
// @ pragma UseQApplication
//@ pragma Env QS_NO_RELOAD_POPUP=0
//@ pragma Env QT_QUICK_CONTROLS_STYLE=Basic
//@ pragma Env QT_QUICK_FLICKABLE_WHEEL_DECELERATION=10000
import Quickshell
import QtQuick
Scope {
Bar {}
}

View File

@@ -0,0 +1,19 @@
pragma Singleton
import Quickshell
import QtQuick
Singleton {
id: root
// an expression can be broken across multiple lines using {}
readonly property string time: {
// The passed format string matches the default output of
// the `date` command.
Qt.formatDateTime(clock.date, "ddd MMM d hh:mm:ss AP t yyyy");
}
SystemClock {
id: clock
precision: SystemClock.Seconds
}
}

View File

@@ -1,6 +1,6 @@
{ inputs, modules, ... }: { inputs, modules, ... }:
{ {
modules.sops = { modules.sops.provides.server = {
nixos = nixos =
{ ... }: { ... }:
{ {

24
config/modules/ssh.nix Normal file
View File

@@ -0,0 +1,24 @@
{ den, modules, ... }:
{
modules.ssh = {
homeManager =
{ home, ... }:
{
programs = {
ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks = {
"*" = {
addKeysToAgent = "yes";
identityFile = [
"~/.ssh/id_ed25519"
"~/.ssh/id_gitea_scug"
];
};
};
};
};
};
};
}

View File

@@ -32,11 +32,12 @@
}; };
}; };
nixos = nixos =
{ ... }: { pkgs, ... }:
{ {
imports = [ inputs.stylix.nixosModules.stylix ]; imports = [ inputs.stylix.nixosModules.stylix ];
stylix.enable = true; stylix.enable = false;
stylix.autoEnable = false; stylix.autoEnable = false;
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
}; };
}; };
} }

View File

@@ -9,7 +9,7 @@
zen-browser.url = "github:youwen5/zen-browser-flake"; zen-browser.url = "github:youwen5/zen-browser-flake";
zen-browser.inputs.nixpkgs.follows = "nixpkgs"; zen-browser.inputs.nixpkgs.follows = "nixpkgs";
}; };
modules.zen-browser = { modules.zen-browser = settings: {
homeManager = homeManager =
{ {
home, home,
@@ -42,6 +42,11 @@
]; ];
in in
{ {
wayland.windowManager.hyprland.settings = lib.mkIf settings.default {
bind = [
"$mainMod, E, exec, zen"
];
};
home.packages = [ home.packages = [
(pkgs.wrapFirefox (pkgs.wrapFirefox
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped

521
flake.lock generated
View File

@@ -20,11 +20,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770895474, "lastModified": 1773436376,
"narHash": "sha256-JBcrq1Y0uw87VZdYsByVbv+GBuT6ECaCNb9txLX9UuU=", "narHash": "sha256-OUPRrprbgN27BXHuWkMAPSCfLLQ/uwpWghEfKYN2iAg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "a494d50d32b5567956b558437ceaa58a380712f7", "rev": "43f10d24391692bba3d762931ee35e7f17f8e8b8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -101,13 +101,45 @@
"type": "github" "type": "github"
} }
}, },
"cachyos-kernel": {
"flake": false,
"locked": {
"lastModified": 1773637879,
"narHash": "sha256-hFKu2SaRoqt6+zbmcFW6A0AbBENIX8XooJLXQWa3sLc=",
"owner": "CachyOS",
"repo": "linux-cachyos",
"rev": "fa09a5bc69d3e7feeed9b1402c7df06c8170402a",
"type": "github"
},
"original": {
"owner": "CachyOS",
"repo": "linux-cachyos",
"type": "github"
}
},
"cachyos-kernel-patches": {
"flake": false,
"locked": {
"lastModified": 1773635524,
"narHash": "sha256-JErpxWTdoHq4JuDerfsbPA60FmWOxK4oX9UL9CcsP/Q=",
"owner": "CachyOS",
"repo": "kernel-patches",
"rev": "5544a0679fd6f6fb714e275514449c4ab9db2a53",
"type": "github"
},
"original": {
"owner": "CachyOS",
"repo": "kernel-patches",
"type": "github"
}
},
"den": { "den": {
"locked": { "locked": {
"lastModified": 1771034612, "lastModified": 1773802746,
"narHash": "sha256-OPnii/4tJYUHytIufFkzbcz6K/9ihvqj7vAOTgf6KWg=", "narHash": "sha256-iJUVWJJszikRf+eqm0oj3g1SUIRBJNWdiDgFucMUTUU=",
"owner": "vic", "owner": "vic",
"repo": "den", "repo": "den",
"rev": "f9563fa9194c0c65abcfba56b0cbb67c7a7eb395", "rev": "91bf41d5a40c043a8a1492455125597f6b3dbba2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -121,11 +153,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1769524058, "lastModified": 1773506317,
"narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=", "narHash": "sha256-qWKbLUJpavIpvOdX1fhHYm0WGerytFHRoh9lVck6Bh0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d", "rev": "878ec37d6a8f52c6c801d0e2a2ad554c75b9353c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -152,11 +184,11 @@
}, },
"flake-aspects": { "flake-aspects": {
"locked": { "locked": {
"lastModified": 1769723924, "lastModified": 1773552804,
"narHash": "sha256-U15OaMr9AcJiB1wW2uCFzFO+DnQ3jJSvln+ZR/+Q0vE=", "narHash": "sha256-a0kjpCZGnD5lt7yW6C3hzPhSf5KjnTyvX6XZ2NuhGs4=",
"owner": "vic", "owner": "vic",
"repo": "flake-aspects", "repo": "flake-aspects",
"rev": "61524836788ef6991a82e7d34ebb0ccc05d374ed", "rev": "56fa8d4d4772d58eb7f9d66c28c1cd2762b60423",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -181,13 +213,29 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-file": { "flake-file": {
"locked": { "locked": {
"lastModified": 1771017549, "lastModified": 1773637821,
"narHash": "sha256-n68HeYEQJ67hMH2LPI0cERD2pkpNe5dyeOGg11uZ7rc=", "narHash": "sha256-Cp1x/5/97iNjXOI5hLCA51BwR6hc1dWJiZp4VPogkTw=",
"owner": "vic", "owner": "vic",
"repo": "flake-file", "repo": "flake-file",
"rev": "9d89918faacdbd2ce26d0aa7298da0fecad8b437", "rev": "bb9fbe00ba6a1945fbdd6973c2585ab770f404b0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -203,11 +251,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769996383, "lastModified": 1772408722,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -217,6 +265,24 @@
} }
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1772408722,
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixvim", "nixvim",
@@ -237,7 +303,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_3": { "flake-parts_4": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"stylix", "stylix",
@@ -258,6 +324,24 @@
"type": "github" "type": "github"
} }
}, },
"font-patcher": {
"inputs": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1765841187,
"narHash": "sha256-EDNulMxDxJfhk9cJdYv0KPU1hAKrTcMbSFUcOFhgBws=",
"owner": "Doloro1978",
"repo": "nix-nerd-fonts-patcher",
"rev": "eaf93a869699796be559fbaa2b4351c53d7f4cf2",
"type": "github"
},
"original": {
"owner": "Doloro1978",
"repo": "nix-nerd-fonts-patcher",
"type": "github"
}
},
"fromYaml": { "fromYaml": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -315,6 +399,27 @@
"type": "gitlab" "type": "gitlab"
} }
}, },
"heliumFlake": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"utils": "utils"
},
"locked": {
"lastModified": 1773827691,
"narHash": "sha256-Yc3YGaLs5fl7aVD4VA6GJVOEvEhm1JnHhc9SI3UdTdE=",
"owner": "vikingnope",
"repo": "helium-browser-nix-flake",
"rev": "6b7839f174ae52077b40f19f36aa2acc9b029e51",
"type": "github"
},
"original": {
"owner": "vikingnope",
"repo": "helium-browser-nix-flake",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -322,11 +427,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771037579, "lastModified": 1773810247,
"narHash": "sha256-NX5XuhGcsmk0oEII2PEtMRgvh2KaAv3/WWQsOpxAgR4=", "narHash": "sha256-6Vz1Thy/1s7z+Rq5OfkWOBAdV4eD+OrvDs10yH6xJzQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "05e6dc0f6ed936f918cb6f0f21f1dad1e4c53150", "rev": "d47357a4c806d18a3e853ad2699eaec3c01622e7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -351,11 +456,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1753964049, "lastModified": 1772461003,
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", "narHash": "sha256-pVICsV7FtcEeVwg5y/LFh3XFUkVJninm/P1j/JHzEbM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", "rev": "b62396457b9cfe2ebf24fe05404b09d2a40f8ed7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -380,11 +485,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770511807, "lastModified": 1772461523,
"narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=", "narHash": "sha256-mI6A51do+hEUzeJKk9YSWfVHdI/SEEIBi2tp5Whq5mI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "7c75487edd43a71b61adb01cae8326d277aab683", "rev": "7d63c04b4a2dd5e59ef943b4b143f46e713df804",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -404,17 +509,17 @@
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire", "hyprwire": "hyprwire",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_3",
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"systems": "systems", "systems": "systems_2",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1771074565, "lastModified": 1773774870,
"narHash": "sha256-Xja6+RH4ka2VBHT3jo5Gj78r8dgclFDbd5MxTSmTK7Q=", "narHash": "sha256-WJi1VzcGBvLntY1LzoQOPFyH3CJP/AEyERhXvF9kWbE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "48176160ab953c33a391413ce6b927546d6a4b87", "rev": "775951783c2e820ead180aca4356d4a98df9d17a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -456,11 +561,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767023960, "lastModified": 1772467975,
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=", "narHash": "sha256-kipyuDBxrZq+beYpZqWzGvFWm4QbayW9agAvi94vDXY=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-guiutils", "repo": "hyprland-guiutils",
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660", "rev": "5e1c6b9025aaf4d578f3eff7c0eb1f0c197a9507",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -481,11 +586,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765214753, "lastModified": 1772460177,
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", "narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", "rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -510,11 +615,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767983607, "lastModified": 1772459629,
"narHash": "sha256-8C2co8NYfR4oMOUEsPROOJ9JHrv9/ktbJJ6X1WsTbXc=", "narHash": "sha256-/iwvNUYShmmnwmz/czEUh6+0eF5vCMv0xtDW0STPIuM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "d4037379e6057246b408bbcf796cf3e9838af5b2", "rev": "7615ee388de18239a4ab1400946f3d0e498a8186",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -562,11 +667,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1764592794, "lastModified": 1772462885,
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", "narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprtoolkit", "repo": "hyprtoolkit",
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", "rev": "9af245a69fa6b286b88ddfc340afd288e00a6998",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -587,11 +692,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770139857, "lastModified": 1773436263,
"narHash": "sha256-bCqxcXjavgz5KBJ/1CBLqnagMMf9JvU1m9HmYVASKoc=", "narHash": "sha256-n+2xFJngUkBqUJD5FsbVnYEHBTyDFSqtBIwQIGPXWWo=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "9038eec033843c289b06b83557a381a2648d8fa5", "rev": "5e228db6821380a5875d5643176c5c46a47b8134",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -612,11 +717,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770501770, "lastModified": 1772459835,
"narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=", "narHash": "sha256-978jRz/y/9TKmZb/qD4lEYHCQGHpEXGqy+8X2lFZsak=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40", "rev": "0a692d4a645165eebd65f109146b8861e3a925e7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -641,11 +746,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770203293, "lastModified": 1773074819,
"narHash": "sha256-PR/KER+yiHabFC/h1Wjb+9fR2Uy0lWM3Qld7jPVaWkk=", "narHash": "sha256-qRqYnXiKoJLRTcfaRukn7EifmST2IVBUMZOeZMAc5UA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwire", "repo": "hyprwire",
"rev": "37bc90eed02b0c8b5a77a0b00867baf3005cfb98", "rev": "f68afd0e73687598cc2774804fedad76693046f0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -656,11 +761,11 @@
}, },
"import-tree": { "import-tree": {
"locked": { "locked": {
"lastModified": 1771045967, "lastModified": 1773693634,
"narHash": "sha256-oYO4poyw0Sb/db2PigqugMlDwsvwLg6CSpFrMUWxA3Q=", "narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=",
"owner": "vic", "owner": "vic",
"repo": "import-tree", "repo": "import-tree",
"rev": "c968d3b54d12cf5d9c13f16f7c545a06c9d1fde6", "rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -703,13 +808,94 @@
"type": "github" "type": "github"
} }
}, },
"niri-flake": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1773809319,
"narHash": "sha256-ZuMZEuxqWneGaK+HAXz50JyCmtFo0neo6mp6F2NWj24=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "c4ee62058cd37d7b842c3b081917f792efee9082",
"type": "github"
},
"original": {
"owner": "sodiboo",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1756556321,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.08",
"repo": "niri",
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1773130184,
"narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"repo": "niri",
"type": "github"
}
},
"nix-cachyos-kernel": {
"inputs": {
"cachyos-kernel": "cachyos-kernel",
"cachyos-kernel-patches": "cachyos-kernel-patches",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1773804995,
"narHash": "sha256-LL6EG35pbxgjsqYIpwUnpHGDmKFYttE+BILBNhsEaJk=",
"owner": "xddxdd",
"repo": "nix-cachyos-kernel",
"rev": "3286b7ecf1d864e2be050af78aa633d4e3ae8fdb",
"type": "github"
},
"original": {
"owner": "xddxdd",
"ref": "release",
"repo": "nix-cachyos-kernel",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1769330179, "lastModified": 1772771118,
"narHash": "sha256-yxgb4AmkVHY5OOBrC79Vv6EVd4QZEotqv+6jcvA212M=", "narHash": "sha256-xWzaTvmmACR/SRWtABgI/Z97lcqwJAeoSd5QW1KdK1s=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "48698d12cc10555a4f3e3222d9c669b884a49dfe", "rev": "e38213b91d3786389a446dfce4ff5a8aaf6012f2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -719,13 +905,57 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1770841267, "lastModified": 1772328832,
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=", "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1773705440,
"narHash": "sha256-xB30bbAp0e7ogSEYyc126mAJMt4FRFh8wtm6ADE1xuM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae", "rev": "48652e9d5aea46e555b3df87354280d4f29cd3a3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1704008649,
"narHash": "sha256-rGPSWjXTXTurQN9beuHdyJhB8O761w1Zc5BqSSmHvoM=",
"path": "/nix/store/kh5mw1hsalj27ha1wfvksljxyaikcmyb-source",
"rev": "d44d59d2b5bd694cd9d996fd8c51d03e3e9ba7f7",
"type": "path"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1773389992,
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -735,23 +965,36 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1770843696, "lastModified": 1773738184,
"narHash": "sha256-LovWTGDwXhkfCOmbgLVA10bvsi/P8eDDpRudgk68HA8=", "narHash": "sha256-zWRjT5oPabNCiC1A3QkFXpfnsgUjyg6fUZWC+IiiZH0=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2343bbb58f99267223bc2aac4fc9ea301a155a16", "rev": "41a2715cc472025a19bc0eb9dc4ee8b7406bfa6f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixpkgs-unstable", "ref": "nixos-unstable-small",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_5": {
"locked": {
"lastModified": 1773628058,
"narHash": "sha256-YgVQzPaKa5eVf/rGA5Rn7BWJcP0T98JkE+2KuKVTyzA=",
"rev": "f8573b9c935cfaa162dd62cc9e75ae2db86f85df",
"type": "tarball",
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre963857.f8573b9c935c/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
}
},
"nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1736061677, "lastModified": 1736061677,
"narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=", "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=",
@@ -769,18 +1012,18 @@
}, },
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_2" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1771023756, "lastModified": 1772402258,
"narHash": "sha256-sTj1hrPT7D4oGHaQQzwDeqyZBwnxYc+T7yceyQc4sy4=", "narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "4c63aa76be59b49ae89892ae803005afd4a400cd", "rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -824,11 +1067,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770726378, "lastModified": 1772893680,
"narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=", "narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae", "rev": "8baab586afc9c9b57645a734c820e4ac0a604af9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -841,7 +1084,7 @@
"inputs": { "inputs": {
"libcamera-src": "libcamera-src", "libcamera-src": "libcamera-src",
"libpisp-src": "libpisp-src", "libpisp-src": "libpisp-src",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_6",
"rpi-bluez-firmware-src": "rpi-bluez-firmware-src", "rpi-bluez-firmware-src": "rpi-bluez-firmware-src",
"rpi-firmware-nonfree-src": "rpi-firmware-nonfree-src", "rpi-firmware-nonfree-src": "rpi-firmware-nonfree-src",
"rpi-firmware-src": "rpi-firmware-src", "rpi-firmware-src": "rpi-firmware-src",
@@ -871,10 +1114,14 @@
"flake-aspects": "flake-aspects", "flake-aspects": "flake-aspects",
"flake-file": "flake-file", "flake-file": "flake-file",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"font-patcher": "font-patcher",
"heliumFlake": "heliumFlake",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"import-tree": "import-tree", "import-tree": "import-tree",
"nixpkgs": "nixpkgs_3", "niri-flake": "niri-flake",
"nix-cachyos-kernel": "nix-cachyos-kernel",
"nixpkgs": "nixpkgs_5",
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixpkgs" "nixpkgs"
], ],
@@ -882,7 +1129,6 @@
"raspberry-pi-nix": "raspberry-pi-nix", "raspberry-pi-nix": "raspberry-pi-nix",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix", "stylix": "stylix",
"systems": "systems_4",
"zen-browser": "zen-browser" "zen-browser": "zen-browser"
} }
}, },
@@ -1012,11 +1258,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770683991, "lastModified": 1773698643,
"narHash": "sha256-xVfPvXDf9QN3Eh9dV+Lw6IkWG42KSuQ1u2260HKvpnc=", "narHash": "sha256-VCiDjE8kNs8uCAK73Ezk1r3fFuc4JepvW07YFqaN968=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "8b89f44c2cc4581e402111d928869fe7ba9f7033", "rev": "8237de83e8200d16fe0c4467b02a1c608ff28044",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1032,13 +1278,13 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_4",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nur": "nur", "nur": "nur",
"systems": "systems_3", "systems": "systems_4",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes", "tinted-schemes": "tinted-schemes",
@@ -1046,11 +1292,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1770914701, "lastModified": 1773792048,
"narHash": "sha256-QHFYyngohNhih4w+3IqQty5DV+p1txsx1kkk6XJWar8=", "narHash": "sha256-Oy9PCLG3vtflFBWcJd8c/EB3h5RU7ABAIDWn6JrGf6o=",
"owner": "nix-community", "owner": "nix-community",
"repo": "stylix", "repo": "stylix",
"rev": "db03fed72e5ca02be34e1d24789345a943329738", "rev": "3f2f9d307fe58c6abe2a16eb9b62c42d53ef5ee1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1060,21 +1306,6 @@
} }
}, },
"systems": { "systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_2": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1089,6 +1320,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_3": { "systems_3": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@@ -1200,6 +1446,24 @@
"type": "github" "type": "github"
} }
}, },
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"xdph": { "xdph": {
"inputs": { "inputs": {
"hyprland-protocols": [ "hyprland-protocols": [
@@ -1228,11 +1492,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1761431178, "lastModified": 1772669058,
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", "narHash": "sha256-XhnY0aRuDo5LT8pmJVPofPOgO2hAR7T+XRoaQxtNPzQ=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", "rev": "906d0ac159803a7df2dc1f948df9327670380f69",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1241,6 +1505,39 @@
"type": "github" "type": "github"
} }
}, },
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1755491097,
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.7",
"repo": "xwayland-satellite",
"type": "github"
}
},
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1773622265,
"narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "a879e5e0896a326adc79c474bf457b8b99011027",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"type": "github"
}
},
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -1248,11 +1545,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771043662, "lastModified": 1773722260,
"narHash": "sha256-GysLqHNtmK4KAn4xF/5KM/riOwT+VPx5l8riiN18H5k=", "narHash": "sha256-U8MsSiqqYZHR3oKE+cCZ2AJt3b4LcXs+oQuNLipaO78=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "7bb11fb238783853fffeee80c86de2ccabdd0ddc", "rev": "0e6e43342fb3e9a3439fafa777d8cdf98e4ffc49",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -1,6 +1,5 @@
# You FAGGOT; Do NOT edit this file !!!!, run 'nix run .#write-flake' # You FAGGOT; Do NOT edit this file !!!!, run 'nix run .#write-flake'
{ {
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./config); outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./config);
inputs = { inputs = {
@@ -9,35 +8,43 @@
flake-aspects.url = "github:vic/flake-aspects"; flake-aspects.url = "github:vic/flake-aspects";
flake-file.url = "github:vic/flake-file"; flake-file.url = "github:vic/flake-file";
flake-parts = { flake-parts = {
inputs.nixpkgs-lib.follows = "nixpkgs-lib";
url = "github:hercules-ci/flake-parts"; url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs-lib";
};
font-patcher.url = "github:Doloro1978/nix-nerd-fonts-patcher";
heliumFlake = {
url = "github:vikingnope/helium-browser-nix-flake";
inputs.nixpkgs.follows = "nixpkgs";
}; };
home-manager = { home-manager = {
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
import-tree.url = "github:vic/import-tree"; import-tree.url = "github:vic/import-tree";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; niri-flake = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
nixpkgs-lib.follows = "nixpkgs"; nixpkgs-lib.follows = "nixpkgs";
nixvim = { nixvim = {
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
}; };
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix"; raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
sops-nix = { sops-nix = {
inputs.nixpkgs.follows = "nixpkgs";
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
}; };
stylix = { stylix = {
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/stylix"; url = "github:nix-community/stylix";
};
systems.url = "github:nix-systems/default";
zen-browser = {
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {
url = "github:youwen5/zen-browser-flake"; url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
} }