Compare commits
43 Commits
55c5f90b5f
...
big-refact
| Author | SHA1 | Date | |
|---|---|---|---|
|
471478ed6b
|
|||
|
5d01659350
|
|||
|
d202d116c0
|
|||
|
5749c06b20
|
|||
|
cdaf170f6f
|
|||
|
4a4283988f
|
|||
|
4a1e5afd79
|
|||
|
6de66cf1cf
|
|||
|
d37e468ae8
|
|||
|
2797bfee0e
|
|||
|
3e19edc73a
|
|||
|
bc336fd6cf
|
|||
|
8e94344e8a
|
|||
|
33e497672a
|
|||
|
9b3135c378
|
|||
|
7a1caeaaa3
|
|||
|
ccd6b38184
|
|||
|
0ceda0b675
|
|||
|
8229f20975
|
|||
|
6c33f7f53e
|
|||
|
64f2e34018
|
|||
|
ea47a2ca71
|
|||
|
824f75f9cb
|
|||
|
77d520e944
|
|||
|
963b45ffa2
|
|||
|
52b3f2eb5e
|
|||
|
b0787ecfd6
|
|||
|
73fcd3619e
|
|||
|
119a2433b4
|
|||
|
cbd3c408e1
|
|||
|
eb593db0c0
|
|||
|
961afbbff7
|
|||
|
6f25e849f0
|
|||
|
71b1e05b2d
|
|||
|
320cac603d
|
|||
|
a306a8cb9a
|
|||
|
db22304952
|
|||
|
79c70eea54
|
|||
|
598306c57e
|
|||
|
6af15d5a00
|
|||
|
93f81a1f7f
|
|||
|
ba58db5873
|
|||
|
9fbb2574d4
|
@@ -2,6 +2,7 @@
|
||||
den,
|
||||
__findFile,
|
||||
modules,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
@@ -17,13 +18,18 @@
|
||||
modules.fonts
|
||||
<modules/hyprland/doloro-settings>
|
||||
(modules.obs {
|
||||
virtual_audio_devices = true;
|
||||
audio = true;
|
||||
autostart = true;
|
||||
})
|
||||
<modules/common/gaming>
|
||||
modules.helium
|
||||
# modules.helium
|
||||
(<modules/helium> {
|
||||
default = true;
|
||||
})
|
||||
# modules.niri # Testing
|
||||
modules.stylix
|
||||
modules.quickshell
|
||||
modules.nix-ld
|
||||
];
|
||||
nixos =
|
||||
{ config, pkgs, ... }:
|
||||
@@ -54,10 +60,16 @@
|
||||
};
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
legcord
|
||||
equibop
|
||||
telegram-desktop
|
||||
obsidian
|
||||
pear-desktop
|
||||
prismlauncher
|
||||
deadlock-mod-manager
|
||||
gamescope
|
||||
];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
programs.home-manager.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
den,
|
||||
modules,
|
||||
pkgs,
|
||||
inputs,
|
||||
__findFile,
|
||||
...
|
||||
}:
|
||||
@@ -24,7 +25,8 @@
|
||||
boot.loader.grub.efiInstallAsRemovable = true;
|
||||
networking.hostName = "doloroo-main"; # Define your hostname.
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
boot.kernelPackages =
|
||||
inputs.nix-cachyos-kernel.legacyPackages.x86_64-linux.linuxPackages-cachyos-lts-lto;
|
||||
boot.initrd.verbose = false;
|
||||
boot.kernelParams = [
|
||||
"boot.shell_on_fail"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
den,
|
||||
__findFile,
|
||||
modules,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
@@ -13,10 +14,13 @@
|
||||
<modules/hyprland/doloro-settings>
|
||||
modules.sops
|
||||
modules.fish
|
||||
<modules/zen-browser>
|
||||
(<modules/helium> {
|
||||
default = true;
|
||||
})
|
||||
modules.kitty
|
||||
modules.stylix
|
||||
modules.quickshell
|
||||
modules.lavd
|
||||
];
|
||||
nixos =
|
||||
{ config, pkgs, ... }:
|
||||
@@ -30,9 +34,27 @@
|
||||
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
|
||||
legcord
|
||||
equibop
|
||||
obsidian
|
||||
];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
den,
|
||||
modules,
|
||||
__findFile,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
@@ -11,6 +13,20 @@
|
||||
modules.tuigreet
|
||||
<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 =
|
||||
{ pkgs, config, ... }:
|
||||
@@ -19,7 +35,9 @@
|
||||
boot.loader.systemd-boot.enable = 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_zen; # 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.
|
||||
security.rtkit.enable = true;
|
||||
|
||||
@@ -116,7 +134,7 @@
|
||||
password = "meowmeowmeow";
|
||||
};
|
||||
users.mutableUsers = false;
|
||||
services.system76-scheduler.enable = true;
|
||||
services.system76-scheduler.enable = false;
|
||||
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
@@ -125,21 +143,24 @@
|
||||
|
||||
boot.kernelParams = [
|
||||
# "mem_sleep_default=deep"
|
||||
# "i915.fastboot=1"
|
||||
"i915.fastboot=1"
|
||||
"ahci.mobile_lpm_policy=1"
|
||||
"intel_idle.max_cstate=11"
|
||||
"i915.modeset=1"
|
||||
"quiet"
|
||||
"splash"
|
||||
# "idle=halt"
|
||||
];
|
||||
|
||||
services.logind.settings.Login = {
|
||||
HandleLidSwitch = "suspend";
|
||||
HandleLidSwitch = "hibernate";
|
||||
HandleLidSwitchExternalPower = "suspend";
|
||||
HandleLidSwitchDocked = "ignore";
|
||||
};
|
||||
systemd.sleep.extraConfig = ''
|
||||
HibernateDelaySec=30min
|
||||
SuspendEstimationSec=120
|
||||
'';
|
||||
# systemd.sleep.extraConfig = ''
|
||||
# HibernateDelaySec=30min
|
||||
# SuspendEstimationSec=120
|
||||
# '';
|
||||
|
||||
# programs.firefox.enable = true;
|
||||
|
||||
|
||||
@@ -12,16 +12,25 @@
|
||||
modules.tmux
|
||||
<modules/git/doloro>
|
||||
modules.hyfetch
|
||||
modules.ssh
|
||||
];
|
||||
homeManager =
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
home = {
|
||||
username = "doloro";
|
||||
homeDirectory = "/home/doloro";
|
||||
packages = with pkgs; [ wl-clipboard ];
|
||||
packages = with pkgs; [
|
||||
wl-clipboard
|
||||
# home-manager
|
||||
btop
|
||||
];
|
||||
};
|
||||
programs.home-manager.enable = true;
|
||||
};
|
||||
nixos =
|
||||
{ lib, ... }:
|
||||
{
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ den, __findFile, ... }:
|
||||
{
|
||||
den,
|
||||
__findFile,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
# Homes
|
||||
den.homes.x86_64-linux.doloro-desktop = {
|
||||
@@ -12,12 +17,23 @@
|
||||
den.hosts.x86_64-linux.desktop = {
|
||||
users.doloro = {
|
||||
aspect = "doloro-desktop";
|
||||
home-manager.enable = true;
|
||||
};
|
||||
};
|
||||
# TODO
|
||||
den.hosts.x86_64-linux.laptop = {
|
||||
users.doloro = {
|
||||
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.";
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
12
config/modules/cachyos-kernel.nix
Normal file
12
config/modules/cachyos-kernel.nix
Normal 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;
|
||||
}
|
||||
@@ -30,6 +30,8 @@
|
||||
lsof
|
||||
(gamescope.overrideAttrs {
|
||||
enableWsi = true;
|
||||
# Fixes some games being blurry under wayland backend
|
||||
NIX_CFLAGS_COMPILE = [ "-fno-fast-math" ];
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
den,
|
||||
modules,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
@@ -11,7 +12,7 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
modules.helium = {
|
||||
modules.helium = settings: {
|
||||
homeManager =
|
||||
{ pkgs, home, ... }:
|
||||
{
|
||||
@@ -23,7 +24,7 @@
|
||||
xdg.configFile."net.imput.helium/WidevineCdm/latest-component-updated-widevine-cdm" = {
|
||||
text = ''{"Path":"${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm"}'';
|
||||
};
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
wayland.windowManager.hyprland.settings = lib.mkIf settings.default {
|
||||
binds = [
|
||||
"$mainMod, E, exec, helium"
|
||||
];
|
||||
|
||||
@@ -59,6 +59,9 @@
|
||||
ignore_opacity = false;
|
||||
};
|
||||
};
|
||||
cursor = {
|
||||
no_hardware_cursors = true;
|
||||
};
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = [
|
||||
@@ -170,7 +173,6 @@
|
||||
windowrule = [
|
||||
"match:class .*, suppress_event maximize"
|
||||
"match:class ^(gamescope)$, workspace 5"
|
||||
"match:class ^(gamescope)$, fullscreen true"
|
||||
"match:class ^(gamescope)$, immediate true"
|
||||
"match:class ^(steam)$, workspace 6 silent"
|
||||
"match:class ^(vesktop)$, workspace 8 silent"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
modules,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
@@ -17,6 +18,7 @@
|
||||
grim
|
||||
slurp
|
||||
wlogout
|
||||
ranger
|
||||
];
|
||||
programs.xwayland.enable = true;
|
||||
programs.hyprland = {
|
||||
@@ -28,9 +30,13 @@
|
||||
portalPackage =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
# gtk.enable = lib.mkForce false;
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
# extraPortals = [ pkgs.xdg-desktop-portal-cosmic ];
|
||||
enable = lib.mkForce false;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-termfilechooser
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland
|
||||
];
|
||||
};
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
hardware.graphics = {
|
||||
@@ -44,6 +50,9 @@
|
||||
homeManager =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
gtk = {
|
||||
enable = true;
|
||||
};
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.variables = [ "--all" ];
|
||||
|
||||
152
config/modules/niri/niri.nix
Normal file
152
config/modules/niri/niri.nix
Normal 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
156
config/modules/nix-ld.nix
Normal 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 don’t 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
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -13,6 +13,7 @@
|
||||
"https://attic.scug.io/pkgs"
|
||||
"https://cache.nixos-cuda.org"
|
||||
"https://niri.cachix.org"
|
||||
"https://attic.xuyh0120.win/lantian"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
@@ -20,6 +21,7 @@
|
||||
"pkgs:+sRbfiZMMX5R3PuAPtIRz/emowDoGZNpozibrnrAvuc="
|
||||
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
|
||||
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="
|
||||
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
||||
];
|
||||
experimental-features = [
|
||||
"flakes"
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
ripgrep
|
||||
# misc
|
||||
nixd
|
||||
tree-sitter
|
||||
];
|
||||
performance.byteCompileLua = {
|
||||
enable = true;
|
||||
@@ -174,7 +175,7 @@
|
||||
tiny-inline-diagnostic.enable = true;
|
||||
# persisted.enable = true;
|
||||
auto-session = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
settings = {
|
||||
enabled = true;
|
||||
auto_save = true;
|
||||
@@ -190,6 +191,7 @@
|
||||
lua
|
||||
make
|
||||
markdown
|
||||
rust
|
||||
nix
|
||||
regex
|
||||
toml
|
||||
|
||||
@@ -2,7 +2,12 @@
|
||||
{
|
||||
modules.obs = settings: {
|
||||
homeManager =
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs = {
|
||||
obs-studio = {
|
||||
@@ -19,47 +24,47 @@
|
||||
};
|
||||
};
|
||||
systemd.user.services =
|
||||
pkgs.lib.mkIf settings.virtual_audio_devices {
|
||||
pw-discordaudio-virtual-device = {
|
||||
Install = {
|
||||
WantedBy = [ "hyprland-session.target" ];
|
||||
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";
|
||||
};
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
|
||||
''}";
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
pw-gameaudio-virtual-device = {
|
||||
Install = {
|
||||
WantedBy = [ "hyprland-session.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
|
||||
''}";
|
||||
};
|
||||
};
|
||||
}
|
||||
// pkgs.lib.mkIf settings.autostart {
|
||||
obs-autostart = {
|
||||
Unit = {
|
||||
Description = "OBS daemon";
|
||||
After = [ "hyprland-session.target" ];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service = {
|
||||
# wait for hyprland to start
|
||||
ExecStart = "${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
lib.mergeAttrsList [ audio-set ];
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec-once = [ "${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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}=="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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,11 +3,15 @@
|
||||
modules.common.provides = {
|
||||
laptop-power-management = {
|
||||
includes = [
|
||||
modules.auto-cpufreq
|
||||
# modules.auto-cpufreq
|
||||
modules.battery-ac-targets
|
||||
modules.intel-mgm
|
||||
modules.tlp
|
||||
# modules.ppd
|
||||
];
|
||||
nixos = {
|
||||
services.upower.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
22
config/modules/power-management/flash.nix
Normal file
22
config/modules/power-management/flash.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
{
|
||||
systemd.services.gpu-limit-on-batt = {
|
||||
enable = true;
|
||||
description = "Using rfkill; disable all rf devices before sleeping.";
|
||||
description = "Gpu Limit";
|
||||
before = [ "battery.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
@@ -30,7 +30,7 @@
|
||||
};
|
||||
systemd.services.gpu-limit-on-ac = {
|
||||
enable = true;
|
||||
description = "Using rfkill; disable all rf devices before sleeping.";
|
||||
description = "Gpu Limit";
|
||||
before = [ "ac.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
|
||||
21
config/modules/power-management/lavd.nix
Normal file
21
config/modules/power-management/lavd.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
11
config/modules/power-management/ppd.nix
Normal file
11
config/modules/power-management/ppd.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
modules.ppd = {
|
||||
nixos = {
|
||||
services.power-profiles-daemon.enable = true;
|
||||
powerManagement = {
|
||||
cpuFreqGovernor = "schedutil";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
51
config/modules/power-management/tdp.nix
Normal file
51
config/modules/power-management/tdp.nix
Normal 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" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -5,6 +5,7 @@
|
||||
nixos = {
|
||||
services.tlp = {
|
||||
enable = true;
|
||||
pd.enable = true;
|
||||
settings = {
|
||||
# Wireless power saving
|
||||
WIFI_PWR_ON_BAT = "on";
|
||||
@@ -33,14 +34,14 @@
|
||||
INTEL_GPU_BOOST_FREQ_ON_AC = 0;
|
||||
INTEL_GPU_BOOST_FREQ_ON_BAT = 800;
|
||||
|
||||
CPU_MAX_PERF_ON_BAT = 30;
|
||||
# CPU_MAX_PERF_ON_BAT = 30;
|
||||
|
||||
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
||||
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
||||
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";
|
||||
# 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";
|
||||
@@ -49,6 +50,9 @@
|
||||
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_BAT = "quiet";
|
||||
|
||||
@@ -9,22 +9,12 @@
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.file.".config/quickshell" = {
|
||||
recursive = true;
|
||||
source = config.lib.file.mkOutOfStoreSymlink ./quickshell;
|
||||
};
|
||||
systemd.user.services.quickshell = {
|
||||
Unit = {
|
||||
Description = "Quickshell daemon";
|
||||
After = [ "hyprland-session.target" ];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.quickshell}/bin/quickshell";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
programs.quickshell = {
|
||||
systemd.enable = true;
|
||||
enable = true;
|
||||
activeConfig = "main";
|
||||
configs = {
|
||||
main = config.lib.file.mkOutOfStoreSymlink "/home/doloro/dotfiles/config/modules/quickshell/quickshell";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
1
config/modules/quickshell/quickshell/.qmlls.ini
Symbolic link
1
config/modules/quickshell/quickshell/.qmlls.ini
Symbolic link
@@ -0,0 +1 @@
|
||||
/run/user/1000/quickshell/vfs/6e389f6b800776b0595d9d90e42ebd04/.qmlls.ini
|
||||
36
config/modules/quickshell/quickshell/Audio.qml
Normal file
36
config/modules/quickshell/quickshell/Audio.qml
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,31 +28,42 @@ Scope {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
// bottomMargin: 2
|
||||
leftMargin: 5
|
||||
rightMargin: 5
|
||||
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 {
|
||||
width: meow.width
|
||||
height: meow.height
|
||||
implicitWidth: clockText.width
|
||||
implicitHeight: clockText.height
|
||||
radius: 3.5
|
||||
|
||||
color: "white"
|
||||
color: Colors.backgroundAlt
|
||||
|
||||
anchors.centerIn: parent
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
Text {
|
||||
id: meow
|
||||
// font.pointSize: 24
|
||||
id: clockText
|
||||
color: Colors.textPrimary
|
||||
font: "CaskaydiaCove NFM"
|
||||
text: Clock.time
|
||||
}
|
||||
}
|
||||
|
||||
26
config/modules/quickshell/quickshell/BatteryWidget.qml
Normal file
26
config/modules/quickshell/quickshell/BatteryWidget.qml
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
109
config/modules/quickshell/quickshell/Colors.qml
Normal file
109
config/modules/quickshell/quickshell/Colors.qml
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
19
config/modules/quickshell/quickshell/HyprlandHelpers.qml
Normal file
19
config/modules/quickshell/quickshell/HyprlandHelpers.qml
Normal 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;
|
||||
}
|
||||
}
|
||||
69
config/modules/quickshell/quickshell/Workspaces.qml
Normal file
69
config/modules/quickshell/quickshell/Workspaces.qml
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1
config/modules/quickshell/quickshell/main
Symbolic link
1
config/modules/quickshell/quickshell/main
Symbolic link
@@ -0,0 +1 @@
|
||||
/nix/store/ynim9hhkc1smj1h2plrw3ap978dlm3qj-home-manager-files/.config/quickshell/main
|
||||
@@ -1,4 +1,8 @@
|
||||
// @ 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
|
||||
|
||||
|
||||
24
config/modules/ssh.nix
Normal file
24
config/modules/ssh.nix
Normal 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"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -35,7 +35,7 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ inputs.stylix.nixosModules.stylix ];
|
||||
stylix.enable = true;
|
||||
stylix.enable = false;
|
||||
stylix.autoEnable = false;
|
||||
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
zen-browser.url = "github:youwen5/zen-browser-flake";
|
||||
zen-browser.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
modules.zen-browser = {
|
||||
modules.zen-browser = settings: {
|
||||
homeManager =
|
||||
{
|
||||
home,
|
||||
@@ -42,6 +42,11 @@
|
||||
];
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = lib.mkIf settings.default {
|
||||
bind = [
|
||||
"$mainMod, E, exec, zen"
|
||||
];
|
||||
};
|
||||
home.packages = [
|
||||
(pkgs.wrapFirefox
|
||||
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped
|
||||
|
||||
427
flake.lock
generated
427
flake.lock
generated
@@ -20,11 +20,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770895474,
|
||||
"narHash": "sha256-JBcrq1Y0uw87VZdYsByVbv+GBuT6ECaCNb9txLX9UuU=",
|
||||
"lastModified": 1773436376,
|
||||
"narHash": "sha256-OUPRrprbgN27BXHuWkMAPSCfLLQ/uwpWghEfKYN2iAg=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "a494d50d32b5567956b558437ceaa58a380712f7",
|
||||
"rev": "43f10d24391692bba3d762931ee35e7f17f8e8b8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -101,13 +101,45 @@
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1771034612,
|
||||
"narHash": "sha256-OPnii/4tJYUHytIufFkzbcz6K/9ihvqj7vAOTgf6KWg=",
|
||||
"lastModified": 1773802746,
|
||||
"narHash": "sha256-iJUVWJJszikRf+eqm0oj3g1SUIRBJNWdiDgFucMUTUU=",
|
||||
"owner": "vic",
|
||||
"repo": "den",
|
||||
"rev": "f9563fa9194c0c65abcfba56b0cbb67c7a7eb395",
|
||||
"rev": "91bf41d5a40c043a8a1492455125597f6b3dbba2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -121,11 +153,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769524058,
|
||||
"narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=",
|
||||
"lastModified": 1773506317,
|
||||
"narHash": "sha256-qWKbLUJpavIpvOdX1fhHYm0WGerytFHRoh9lVck6Bh0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d",
|
||||
"rev": "878ec37d6a8f52c6c801d0e2a2ad554c75b9353c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -152,11 +184,11 @@
|
||||
},
|
||||
"flake-aspects": {
|
||||
"locked": {
|
||||
"lastModified": 1769723924,
|
||||
"narHash": "sha256-U15OaMr9AcJiB1wW2uCFzFO+DnQ3jJSvln+ZR/+Q0vE=",
|
||||
"lastModified": 1773552804,
|
||||
"narHash": "sha256-a0kjpCZGnD5lt7yW6C3hzPhSf5KjnTyvX6XZ2NuhGs4=",
|
||||
"owner": "vic",
|
||||
"repo": "flake-aspects",
|
||||
"rev": "61524836788ef6991a82e7d34ebb0ccc05d374ed",
|
||||
"rev": "56fa8d4d4772d58eb7f9d66c28c1cd2762b60423",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -181,13 +213,29 @@
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1771017549,
|
||||
"narHash": "sha256-n68HeYEQJ67hMH2LPI0cERD2pkpNe5dyeOGg11uZ7rc=",
|
||||
"lastModified": 1773637821,
|
||||
"narHash": "sha256-Cp1x/5/97iNjXOI5hLCA51BwR6hc1dWJiZp4VPogkTw=",
|
||||
"owner": "vic",
|
||||
"repo": "flake-file",
|
||||
"rev": "9d89918faacdbd2ce26d0aa7298da0fecad8b437",
|
||||
"rev": "bb9fbe00ba6a1945fbdd6973c2585ab770f404b0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -203,11 +251,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769996383,
|
||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||
"lastModified": 1772408722,
|
||||
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -217,6 +265,24 @@
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"nixpkgs-lib": [
|
||||
"nixvim",
|
||||
@@ -237,7 +303,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"flake-parts_4": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"stylix",
|
||||
@@ -341,11 +407,11 @@
|
||||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771325388,
|
||||
"narHash": "sha256-rSSr7h/qbRwxEtcIUe3UlSvbQxPJ4eYI9J84ewGz60o=",
|
||||
"lastModified": 1773827691,
|
||||
"narHash": "sha256-Yc3YGaLs5fl7aVD4VA6GJVOEvEhm1JnHhc9SI3UdTdE=",
|
||||
"owner": "vikingnope",
|
||||
"repo": "helium-browser-nix-flake",
|
||||
"rev": "99d0cecff6778a71be1f2e325e0e645fd749a397",
|
||||
"rev": "6b7839f174ae52077b40f19f36aa2acc9b029e51",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -361,11 +427,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771037579,
|
||||
"narHash": "sha256-NX5XuhGcsmk0oEII2PEtMRgvh2KaAv3/WWQsOpxAgR4=",
|
||||
"lastModified": 1773810247,
|
||||
"narHash": "sha256-6Vz1Thy/1s7z+Rq5OfkWOBAdV4eD+OrvDs10yH6xJzQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "05e6dc0f6ed936f918cb6f0f21f1dad1e4c53150",
|
||||
"rev": "d47357a4c806d18a3e853ad2699eaec3c01622e7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -390,11 +456,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753964049,
|
||||
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
||||
"lastModified": 1772461003,
|
||||
"narHash": "sha256-pVICsV7FtcEeVwg5y/LFh3XFUkVJninm/P1j/JHzEbM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
||||
"rev": "b62396457b9cfe2ebf24fe05404b09d2a40f8ed7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -419,11 +485,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770511807,
|
||||
"narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=",
|
||||
"lastModified": 1772461523,
|
||||
"narHash": "sha256-mI6A51do+hEUzeJKk9YSWfVHdI/SEEIBi2tp5Whq5mI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "7c75487edd43a71b61adb01cae8326d277aab683",
|
||||
"rev": "7d63c04b4a2dd5e59ef943b4b143f46e713df804",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -449,11 +515,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771074565,
|
||||
"narHash": "sha256-Xja6+RH4ka2VBHT3jo5Gj78r8dgclFDbd5MxTSmTK7Q=",
|
||||
"lastModified": 1773774870,
|
||||
"narHash": "sha256-WJi1VzcGBvLntY1LzoQOPFyH3CJP/AEyERhXvF9kWbE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "48176160ab953c33a391413ce6b927546d6a4b87",
|
||||
"rev": "775951783c2e820ead180aca4356d4a98df9d17a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -495,11 +561,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767023960,
|
||||
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
|
||||
"lastModified": 1772467975,
|
||||
"narHash": "sha256-kipyuDBxrZq+beYpZqWzGvFWm4QbayW9agAvi94vDXY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-guiutils",
|
||||
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
|
||||
"rev": "5e1c6b9025aaf4d578f3eff7c0eb1f0c197a9507",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -520,11 +586,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765214753,
|
||||
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
|
||||
"lastModified": 1772460177,
|
||||
"narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
|
||||
"rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -549,11 +615,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767983607,
|
||||
"narHash": "sha256-8C2co8NYfR4oMOUEsPROOJ9JHrv9/ktbJJ6X1WsTbXc=",
|
||||
"lastModified": 1772459629,
|
||||
"narHash": "sha256-/iwvNUYShmmnwmz/czEUh6+0eF5vCMv0xtDW0STPIuM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "d4037379e6057246b408bbcf796cf3e9838af5b2",
|
||||
"rev": "7615ee388de18239a4ab1400946f3d0e498a8186",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -601,11 +667,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764592794,
|
||||
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
|
||||
"lastModified": 1772462885,
|
||||
"narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprtoolkit",
|
||||
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
|
||||
"rev": "9af245a69fa6b286b88ddfc340afd288e00a6998",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -626,11 +692,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770139857,
|
||||
"narHash": "sha256-bCqxcXjavgz5KBJ/1CBLqnagMMf9JvU1m9HmYVASKoc=",
|
||||
"lastModified": 1773436263,
|
||||
"narHash": "sha256-n+2xFJngUkBqUJD5FsbVnYEHBTyDFSqtBIwQIGPXWWo=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "9038eec033843c289b06b83557a381a2648d8fa5",
|
||||
"rev": "5e228db6821380a5875d5643176c5c46a47b8134",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -651,11 +717,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770501770,
|
||||
"narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=",
|
||||
"lastModified": 1772459835,
|
||||
"narHash": "sha256-978jRz/y/9TKmZb/qD4lEYHCQGHpEXGqy+8X2lFZsak=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40",
|
||||
"rev": "0a692d4a645165eebd65f109146b8861e3a925e7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -680,11 +746,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770203293,
|
||||
"narHash": "sha256-PR/KER+yiHabFC/h1Wjb+9fR2Uy0lWM3Qld7jPVaWkk=",
|
||||
"lastModified": 1773074819,
|
||||
"narHash": "sha256-qRqYnXiKoJLRTcfaRukn7EifmST2IVBUMZOeZMAc5UA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwire",
|
||||
"rev": "37bc90eed02b0c8b5a77a0b00867baf3005cfb98",
|
||||
"rev": "f68afd0e73687598cc2774804fedad76693046f0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -695,11 +761,11 @@
|
||||
},
|
||||
"import-tree": {
|
||||
"locked": {
|
||||
"lastModified": 1771045967,
|
||||
"narHash": "sha256-oYO4poyw0Sb/db2PigqugMlDwsvwLg6CSpFrMUWxA3Q=",
|
||||
"lastModified": 1773693634,
|
||||
"narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=",
|
||||
"owner": "vic",
|
||||
"repo": "import-tree",
|
||||
"rev": "c968d3b54d12cf5d9c13f16f7c545a06c9d1fde6",
|
||||
"rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -742,13 +808,94 @@
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1769330179,
|
||||
"narHash": "sha256-yxgb4AmkVHY5OOBrC79Vv6EVd4QZEotqv+6jcvA212M=",
|
||||
"lastModified": 1772771118,
|
||||
"narHash": "sha256-xWzaTvmmACR/SRWtABgI/Z97lcqwJAeoSd5QW1KdK1s=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "48698d12cc10555a4f3e3222d9c669b884a49dfe",
|
||||
"rev": "e38213b91d3786389a446dfce4ff5a8aaf6012f2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -758,6 +905,37 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1772328832,
|
||||
"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",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "48652e9d5aea46e555b3df87354280d4f29cd3a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1704008649,
|
||||
@@ -773,11 +951,11 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1770841267,
|
||||
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=",
|
||||
"lastModified": 1773389992,
|
||||
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae",
|
||||
"rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -789,18 +967,34 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1770843696,
|
||||
"narHash": "sha256-9SFCZkVcpDOV6unH5hVEy4+dB0rxMuUoBnDAO6vshac=",
|
||||
"rev": "2343bbb58f99267223bc2aac4fc9ea301a155a16",
|
||||
"lastModified": 1773738184,
|
||||
"narHash": "sha256-zWRjT5oPabNCiC1A3QkFXpfnsgUjyg6fUZWC+IiiZH0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "41a2715cc472025a19bc0eb9dc4ee8b7406bfa6f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable-small",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1773628058,
|
||||
"narHash": "sha256-YgVQzPaKa5eVf/rGA5Rn7BWJcP0T98JkE+2KuKVTyzA=",
|
||||
"rev": "f8573b9c935cfaa162dd62cc9e75ae2db86f85df",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre944764.2343bbb58f99/nixexprs.tar.xz"
|
||||
"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_5": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1736061677,
|
||||
"narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=",
|
||||
@@ -818,18 +1012,18 @@
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771023756,
|
||||
"narHash": "sha256-sTj1hrPT7D4oGHaQQzwDeqyZBwnxYc+T7yceyQc4sy4=",
|
||||
"lastModified": 1772402258,
|
||||
"narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "4c63aa76be59b49ae89892ae803005afd4a400cd",
|
||||
"rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -873,11 +1067,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770726378,
|
||||
"narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=",
|
||||
"lastModified": 1772893680,
|
||||
"narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae",
|
||||
"rev": "8baab586afc9c9b57645a734c820e4ac0a604af9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -890,7 +1084,7 @@
|
||||
"inputs": {
|
||||
"libcamera-src": "libcamera-src",
|
||||
"libpisp-src": "libpisp-src",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"rpi-bluez-firmware-src": "rpi-bluez-firmware-src",
|
||||
"rpi-firmware-nonfree-src": "rpi-firmware-nonfree-src",
|
||||
"rpi-firmware-src": "rpi-firmware-src",
|
||||
@@ -925,7 +1119,9 @@
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"import-tree": "import-tree",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"niri-flake": "niri-flake",
|
||||
"nix-cachyos-kernel": "nix-cachyos-kernel",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs-lib": [
|
||||
"nixpkgs"
|
||||
],
|
||||
@@ -933,7 +1129,6 @@
|
||||
"raspberry-pi-nix": "raspberry-pi-nix",
|
||||
"sops-nix": "sops-nix",
|
||||
"stylix": "stylix",
|
||||
"systems": "systems_5",
|
||||
"zen-browser": "zen-browser"
|
||||
}
|
||||
},
|
||||
@@ -1063,11 +1258,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770683991,
|
||||
"narHash": "sha256-xVfPvXDf9QN3Eh9dV+Lw6IkWG42KSuQ1u2260HKvpnc=",
|
||||
"lastModified": 1773698643,
|
||||
"narHash": "sha256-VCiDjE8kNs8uCAK73Ezk1r3fFuc4JepvW07YFqaN968=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "8b89f44c2cc4581e402111d928869fe7ba9f7033",
|
||||
"rev": "8237de83e8200d16fe0c4467b02a1c608ff28044",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1083,7 +1278,7 @@
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"flake-parts": "flake-parts_4",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
@@ -1097,11 +1292,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770914701,
|
||||
"narHash": "sha256-QHFYyngohNhih4w+3IqQty5DV+p1txsx1kkk6XJWar8=",
|
||||
"lastModified": 1773792048,
|
||||
"narHash": "sha256-Oy9PCLG3vtflFBWcJd8c/EB3h5RU7ABAIDWn6JrGf6o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "stylix",
|
||||
"rev": "db03fed72e5ca02be34e1d24789345a943329738",
|
||||
"rev": "3f2f9d307fe58c6abe2a16eb9b62c42d53ef5ee1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1170,21 +1365,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -1312,11 +1492,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761431178,
|
||||
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
|
||||
"lastModified": 1772669058,
|
||||
"narHash": "sha256-XhnY0aRuDo5LT8pmJVPofPOgO2hAR7T+XRoaQxtNPzQ=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
|
||||
"rev": "906d0ac159803a7df2dc1f948df9327670380f69",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1325,6 +1505,39 @@
|
||||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -1332,11 +1545,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771043662,
|
||||
"narHash": "sha256-GysLqHNtmK4KAn4xF/5KM/riOwT+VPx5l8riiN18H5k=",
|
||||
"lastModified": 1773722260,
|
||||
"narHash": "sha256-U8MsSiqqYZHR3oKE+cCZ2AJt3b4LcXs+oQuNLipaO78=",
|
||||
"owner": "youwen5",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "7bb11fb238783853fffeee80c86de2ccabdd0ddc",
|
||||
"rev": "0e6e43342fb3e9a3439fafa777d8cdf98e4ffc49",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
24
flake.nix
24
flake.nix
@@ -1,6 +1,5 @@
|
||||
# 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);
|
||||
|
||||
inputs = {
|
||||
@@ -9,40 +8,43 @@
|
||||
flake-aspects.url = "github:vic/flake-aspects";
|
||||
flake-file.url = "github:vic/flake-file";
|
||||
flake-parts = {
|
||||
inputs.nixpkgs-lib.follows = "nixpkgs-lib";
|
||||
url = "github:hercules-ci/flake-parts";
|
||||
inputs.nixpkgs-lib.follows = "nixpkgs-lib";
|
||||
};
|
||||
font-patcher.url = "github:Doloro1978/nix-nerd-fonts-patcher";
|
||||
heliumFlake = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:vikingnope/helium-browser-nix-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
home-manager = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
import-tree.url = "github:vic/import-tree";
|
||||
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";
|
||||
nixvim = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
|
||||
sops-nix = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
stylix = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:nix-community/stylix";
|
||||
};
|
||||
systems.url = "github:nix-systems/default";
|
||||
zen-browser = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
zen-browser = {
|
||||
url = "github:youwen5/zen-browser-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user