Formatted

This commit is contained in:
willifan 2025-01-05 00:48:46 +01:00
parent d73191e526
commit fbfa70195b
63 changed files with 906 additions and 899 deletions

250
flake.nix
View file

@ -25,7 +25,7 @@
};
stylix = {
url ="github:danth/stylix";
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
@ -52,133 +52,137 @@
};
outputs = { nixpkgs, ... }@inputs:
let
outputs = { nixpkgs, ... }@inputs:
let
lib = nixpkgs.lib;
in
{
nixosConfigurations = {
in
{
nixosConfigurations = {
Lenni = let
system = "x86_64-linux";
in
lib.nixosSystem {
Lenni =
let
system = "x86_64-linux";
in
lib.nixosSystem {
specialArgs = {
hostname = "Lenni";
inherit inputs;
inherit system;
};
specialArgs = {
hostname = "Lenni";
inherit inputs;
inherit system;
};
modules = [
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
inputs.niri.nixosModules.niri
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
inputs.stylix.nixosModules.stylix
inputs.nixvim.nixosModules.nixvim
inputs.nixos-hardware.nixosModules.framework-12th-gen-intel
./hosts/Lenni
./pkgs
];
modules = [
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
inputs.niri.nixosModules.niri
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
inputs.stylix.nixosModules.stylix
inputs.nixvim.nixosModules.nixvim
inputs.nixos-hardware.nixosModules.framework-12th-gen-intel
./hosts/Lenni
./pkgs
];
};
Puenktchen =
let
system = "x86_64-linux";
in
lib.nixosSystem {
specialArgs = {
hostname = "Puenktchen";
inherit inputs;
inherit system;
};
modules = [
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
inputs.niri.nixosModules.niri
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
inputs.stylix.nixosModules.stylix
inputs.nixvim.nixosModules.nixvim
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
inputs.nixos-hardware.nixosModules.common-cpu-amd-zenpower
./hosts/Puenktchen
./pkgs
];
};
Anton =
let
system = "x86_64-linux";
in
lib.nixosSystem {
specialArgs = {
hostname = "Anton";
inherit inputs;
inherit system;
};
modules = [
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
inputs.niri.nixosModules.niri
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
inputs.stylix.nixosModules.stylix
inputs.nixvim.nixosModules.nixvim
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
inputs.nixos-hardware.nixosModules.common-cpu-amd-zenpower
./hosts/Anton
./pkgs
];
};
Lillie =
let
system = "x86_64-linux";
in
lib.nixosSystem {
specialArgs = {
hostname = "Lillie";
inherit inputs;
inherit system;
};
modules = [
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
inputs.niri.nixosModules.niri
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
inputs.stylix.nixosModules.stylix
inputs.nixvim.nixosModules.nixvim
inputs.jovian.nixosModules.default
./hosts/Lillie
./pkgs
];
};
};
Puenktchen = let
system = "x86_64-linux";
in
lib.nixosSystem {
specialArgs = {
hostname = "Puenktchen";
inherit inputs;
inherit system;
};
modules = [
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
inputs.niri.nixosModules.niri
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
inputs.stylix.nixosModules.stylix
inputs.nixvim.nixosModules.nixvim
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
inputs.nixos-hardware.nixosModules.common-cpu-amd-zenpower
./hosts/Puenktchen
./pkgs
];
};
Anton = let
system = "x86_64-linux";
in
lib.nixosSystem {
specialArgs = {
hostname = "Anton";
inherit inputs;
inherit system;
};
modules = [
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
inputs.niri.nixosModules.niri
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
inputs.stylix.nixosModules.stylix
inputs.nixvim.nixosModules.nixvim
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
inputs.nixos-hardware.nixosModules.common-cpu-amd-zenpower
./hosts/Anton
./pkgs
];
};
Lillie = let
system = "x86_64-linux";
in
lib.nixosSystem {
specialArgs = {
hostname = "Lillie";
inherit inputs;
inherit system;
};
modules = [
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
inputs.niri.nixosModules.niri
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
inputs.stylix.nixosModules.stylix
inputs.nixvim.nixosModules.nixvim
inputs.jovian.nixosModules.default
./hosts/Lillie
./pkgs
];
};
};
};
}

View file

@ -5,17 +5,17 @@
enable = true;
virtualHosts = {
"https://git.huwe.mooo.com" = {
extraConfig = "reverse_proxy localhost:3000";
extraConfig = "reverse_proxy localhost:3000";
};
"https://files.huwe.mooo.com" = {
extraConfig = ''
root * /var/www/file_server
file_server
'';
'';
};
"https://cal.huwe.mooo.com" = {
extraConfig = "reverse_proxy localhost:5232";
extraConfig = "reverse_proxy localhost:5232";
};
};
};

View file

@ -1,14 +1,14 @@
{ ... }:
{
# environment.systemPackages = with pkgs; [
# mergerfs
# ];
# environment.systemPackages = with pkgs; [
# mergerfs
# ];
fileSystems."/mnt/data" = {
device = "/dev/disk/by-id/wwn-0x500a0751e6b6c60f-part1";
fsType = "btrfs";
options = [" noatime=true compress=zstd:12 "];
options = [ " noatime=true compress=zstd:12 " ];
};
}

View file

@ -1,6 +1,6 @@
{ pkgs, ... }:
{
services.forgejo = {
enable = true;
package = pkgs.forgejo;

View file

@ -5,7 +5,8 @@
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
[
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];

View file

@ -6,10 +6,10 @@
settings = {
db = {
user = lib.mkForce "invidious";
# password = lib.mkForce "invidious";
# host = lib.mkForce "localhost";
# port = 5432;
# dbname = lib.mkForce "invidious";
# password = lib.mkForce "invidious";
# host = lib.mkForce "localhost";
# port = 5432;
# dbname = lib.mkForce "invidious";
};
popular_enabled = false;

View file

@ -1,4 +1,4 @@
{ ...}:
{ ... }:
{
services.minecraft-server = {
eula = true;

View file

@ -7,9 +7,9 @@
governor = "powersave";
turbo = "never";
};
charger = {
governor = "powersave";
turbo = "never";
charger = {
governor = "powersave";
turbo = "never";
};
};
};

View file

@ -3,4 +3,4 @@
services.udev.extraRules = ''
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness"
'';
}
}

View file

@ -24,7 +24,7 @@
Anton = { id = "SIMFE5V-UHVQLHM-3ES7TAM-XIGP6TL-WCC37VY-B5ET6LJ-LPC2QIL-MYG4OQR"; };
};
};
hardware.bluetooth.enable = true;
services.hardware.bolt.enable = true;

View file

@ -64,4 +64,4 @@
};
};
};
}
}

View file

@ -5,7 +5,8 @@
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
[
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
@ -14,7 +15,8 @@
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/e09e7d80-9d85-49e6-8b0e-1f31aea83840";
{
device = "/dev/disk/by-uuid/e09e7d80-9d85-49e6-8b0e-1f31aea83840";
fsType = "btrfs";
options = [ "subvol=@" ];
};
@ -22,7 +24,8 @@
boot.initrd.luks.devices."luks-a2f76baf-2f27-42a4-ae48-1963c566a9ab".device = "/dev/disk/by-uuid/a2f76baf-2f27-42a4-ae48-1963c566a9ab";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/2A99-D7CC";
{
device = "/dev/disk/by-uuid/2A99-D7CC";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};

View file

@ -5,7 +5,8 @@
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
[
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];

View file

@ -11,13 +11,13 @@
unzip
util-linux
gnugrep
readline.out
procps
pciutils
libpulseaudio
# SimpleDeckyTDP
# SimpleDeckyTDP
ryzenadj # actual TDP util
kmod # modprobe for acpi_call check
];

View file

@ -5,7 +5,7 @@
./disko.nix
../../modules/default
];
desktop = {

View file

@ -5,7 +5,8 @@
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
[
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];

View file

@ -1,8 +1,8 @@
{ lib, config, inputs, hostname, ... }:
{
imports = [
./desktop
./nixvim

View file

@ -1,12 +1,12 @@
{ lib, config, ... }:
lib.mkIf config.desktop.autologin.enable {
security.pam.services.hyprlock = {};
security.pam.services.hyprlock = { };
services.greetd = {
enable = true;
settings = rec {
settings = rec {
initial_session = {
command = config.desktop.windowManager;
user = "willifan";

View file

@ -3,9 +3,9 @@ lib.mkIf config.desktop.enable {
boot = {
plymouth = {
enable = true;
# theme = "bgrt";
# logo = "${pkgs.nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png";
# font = "${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf";
# theme = "bgrt";
# logo = "${pkgs.nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png";
# font = "${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf";
};
consoleLogLevel = 0;

View file

@ -17,6 +17,6 @@
./thunar.nix
./udev.nix
];
}

View file

@ -13,24 +13,24 @@ lib.mkIf config.desktop.enable {
enable = true;
package = pkgs.libratbag.overrideAttrs (previousAttrs: {
postInstall = ''
# Ensure the target directory exists
mkdir -p $out/share/libratbag/
# cat the custom configuration file
cat << EOF > $out/share/libratbag/asus-rog-pugio-II.device
[Device]
Name=ASUS ROG Pugio II
DeviceMatch=usb:0b05:1906;usb:0b05:1908
Driver=asus
# Ensure the target directory exists
mkdir -p $out/share/libratbag/
# cat the custom configuration file
cat << EOF > $out/share/libratbag/asus-rog-pugio-II.device
[Device]
Name=ASUS ROG Pugio II
DeviceMatch=usb:0b05:1906;usb:0b05:1908
Driver=asus
[Driver/asus]
Profiles=3
Buttons=10
Leds=3
Dpis=4
Wireless=1
DpiRange=100:16000@100
ButtonMapping=f0;f1;f2;e4;e5;e6;0;e8;e9;e1;e2
EOF
[Driver/asus]
Profiles=3
Buttons=10
Leds=3
Dpis=4
Wireless=1
DpiRange=100:16000@100
ButtonMapping=f0;f1;f2;e4;e5;e6;0;e8;e9;e1;e2
EOF
'';
});
};

View file

@ -13,5 +13,5 @@
./yuzu.nix
];
}

View file

@ -12,5 +12,5 @@ lib.mkIf config.desktop.enable {
services.udev.extraRules = ''
SUBSYSTEM=="tty", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2102", MODE="0660", TAG+="uaccess"
'';
}

View file

@ -4,7 +4,7 @@ lib.mkIf config.desktop.laser.enable {
services.udev.extraRules = ''
SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="5512", MODE:="0666"
'';
environment.systemPackages = with pkgs; [
k40-whisperer
];

View file

@ -6,13 +6,15 @@ lib.mkIf config.desktop.enable {
];
services.autofs = {
enable = true;
autoMaster = let
mapConf = pkgs.writeText "auto.nfs" ''
roms -fstype=nfs4 192.168.178.19:/roms
autoMaster =
let
mapConf = pkgs.writeText "auto.nfs" ''
roms -fstype=nfs4 192.168.178.19:/roms
'';
in
''
/mnt/nfs ${mapConf}
'';
in ''
/mnt/nfs ${mapConf}
'';
};
}

View file

@ -1,37 +1,37 @@
{ lib, config, ... }:
lib.mkIf config.desktop.enable {
nix.buildMachines = [
{
hostName = "Anton";
sshUser = "builder";
systems = [ "x86_64-linux" "aarch64-linux" ];
protocol = "ssh-ng";
# if the builder supports building for multiple architectures,
# replace the previous line by, e.g.
# systems = ["x86_64-linux" "aarch64-linux"];
maxJobs = 4;
speedFactor = 2;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ];
}
{
hostName = "Puenktchen";
sshUser = "builder";
systems = [ "x86_64-linux" "aarch64-linux" ];
protocol = "ssh-ng";
# if the builder supports building for multiple architectures,
# replace the previous line by, e.g.
# systems = ["x86_64-linux" "aarch64-linux"];
maxJobs = 8;
speedFactor = 4;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ];
}
nix.buildMachines = [
{
hostName = "Anton";
sshUser = "builder";
systems = [ "x86_64-linux" "aarch64-linux" ];
protocol = "ssh-ng";
# if the builder supports building for multiple architectures,
# replace the previous line by, e.g.
# systems = ["x86_64-linux" "aarch64-linux"];
maxJobs = 4;
speedFactor = 2;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ];
}
{
hostName = "Puenktchen";
sshUser = "builder";
systems = [ "x86_64-linux" "aarch64-linux" ];
protocol = "ssh-ng";
# if the builder supports building for multiple architectures,
# replace the previous line by, e.g.
# systems = ["x86_64-linux" "aarch64-linux"];
maxJobs = 8;
speedFactor = 4;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ];
}
];
nix.distributedBuilds = true;
# optional, useful when the builder has a faster internet connection than yours
nix.extraOptions = ''
builders-use-substitutes = true
'';
nix.distributedBuilds = true;
# optional, useful when the builder has a faster internet connection than yours
nix.extraOptions = ''
builders-use-substitutes = true
'';
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
}

View file

@ -18,5 +18,5 @@ lib.mkIf config.desktop.enable {
];
nix.settings.trusted-users = [ "willifan" ];
}

View file

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

View file

@ -2,10 +2,10 @@
{
environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
XDG_CACHE_HOME = "$HOME/.cache";
XDG_CACHE_HOME = "$HOME/.cache";
XDG_CONFIG_HOME = "$HOME/.config";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
# Not officially in the specification
#XDG_BIN_HOME = "$HOME/.local/bin";

View file

@ -8,8 +8,8 @@
settings = {
main = {
rightalt = "overload(altgr, rightalt)";
capslock = "overload(control, esc)";
};
capslock = "overload(control, esc)";
};
};
};
};

View file

@ -3,7 +3,7 @@
programs.nixvim.plugins.nvim-autopairs = {
enable = true;
settings = {
disable_filetype = ["TelescopePrompt" "vim"];
disable_filetype = [ "TelescopePrompt" "vim" ];
};
};
}

View file

@ -6,18 +6,18 @@
enable = true;
settings = {
autoEnableSources = true;
experimental = {ghost_text = false;};
experimental = { ghost_text = false; };
performance = {
debounce = 60;
fetchingTimeout = 200;
maxViewEntries = 30;
};
snippet = {expand = "luasnip";};
formatting = {fields = ["kind" "abbr" "menu"];};
snippet = { expand = "luasnip"; };
formatting = { fields = [ "kind" "abbr" "menu" ]; };
sources = [
{name = "git";}
{name = "nvim_lsp";}
{name = "emoji";}
{ name = "git"; }
{ name = "nvim_lsp"; }
{ name = "emoji"; }
{
name = "buffer"; # text within current buffer
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
@ -34,16 +34,16 @@
];
window = {
completion = {border = "solid";};
documentation = {border = "solid";};
completion = { border = "solid"; };
documentation = { border = "solid"; };
};
};
};
cmp-nvim-lsp = {enable = true;}; # lsp
cmp-buffer = {enable = true;};
cmp-path = {enable = true;}; # file system paths
cmp_luasnip = {enable = true;}; # snippets
cmp-cmdline = {enable = false;}; # autocomplete for cmdline
cmp-nvim-lsp = { enable = true; }; # lsp
cmp-buffer = { enable = true; };
cmp-path = { enable = true; }; # file system paths
cmp_luasnip = { enable = true; }; # snippets
cmp-cmdline = { enable = false; }; # autocomplete for cmdline
};
}

View file

@ -5,16 +5,16 @@
hmts.enable = true;
lsp-lines = {enable = true;};
lsp-format = {enable = true;};
lsp-lines = { enable = true; };
lsp-format = { enable = true; };
lsp = {
enable = true;
inlayHints = true;
servers = {
clangd = {enable = true;};
html = {enable = true;};
lua_ls = {enable = true;};
nixd = {
clangd = { enable = true; };
html = { enable = true; };
lua_ls = { enable = true; };
nixd = {
enable = true;
settings = {
@ -22,15 +22,15 @@
nixpkgs.expr = "import <nixpkgs> {}";
};
};
pyright = {enable = true;};
gopls = {enable = true;};
jsonls = {enable = true;};
rust_analyzer = {
pyright = { enable = true; };
gopls = { enable = true; };
jsonls = { enable = true; };
rust_analyzer = {
enable = true;
installCargo = true;
installRustc = true;
};
yamlls = {enable = true;};
yamlls = { enable = true; };
};
keymaps = {

View file

@ -4,7 +4,7 @@
plugins = {
neo-tree = {
enable = true;
sources = ["filesystem" "buffers" "git_status" "document_symbols"];
sources = [ "filesystem" "buffers" "git_status" "document_symbols" ];
addBlankLineAtTop = false;
filesystem = {
@ -35,7 +35,7 @@
untracked = " ";
};
};
};
};
};
};
};

View file

@ -1,6 +1,6 @@
{ ... }:
{
{
programs.nixvim.plugins = {
which-key = {
enable = true;

View file

@ -1,4 +1,4 @@
{ pkgs, ...}:
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [

View file

@ -27,7 +27,7 @@ in
polarity = "dark";
targets.plymouth.logo = plymouth_logo;
};
}

View file

@ -11,7 +11,7 @@ in
devices = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule {
options.id = lib.mkOption { type = lib.types.str; };
options.autoAcceptFolders = lib.mkOption {
type = lib.types.bool;

View file

@ -6,11 +6,11 @@
./shell
./tmux
./utils
./git.nix
./stylix.nix
./git.nix
./stylix.nix
];
home-manager.users.willifan = {
home-manager.users.willifan = {
imports = [
];

View file

@ -6,8 +6,8 @@
./niri
./options.nix
./kitty.nix
./vscodium.nix
./kitty.nix
./vscodium.nix
];
home-manager.users.willifan = {

View file

@ -4,18 +4,18 @@
#home-manager.users.willifan = {
imports = [
./fuzzel.nix
./hyprexit.nix
./hypridle.nix
./hyprlock.nix
./hyprpaper.nix
./mako.nix
./utils.nix
./wlogout.nix
imports = [
./fuzzel.nix
./hyprexit.nix
./hypridle.nix
./hyprlock.nix
./hyprpaper.nix
./mako.nix
./utils.nix
./wlogout.nix
./options.nix
./hyprland.nix
];
./hyprland.nix
];
#};
}

View file

@ -1,15 +1,15 @@
{ lib, config, ... }:
{
home-manager.users.willifan = {
programs.fuzzel = lib.mkIf config.desktop.fuzzel.enable {
enable = true;
settings = {
main = {
lines = 12;
width = 45;
line-height = 20;
programs.fuzzel = lib.mkIf config.desktop.fuzzel.enable {
enable = true;
settings = {
main = {
lines = 12;
width = 45;
line-height = 20;
};
};
};
};
};
}

View file

@ -1,11 +1,11 @@
{ lib, config, pkgs, ... }:
{
home-manager.users.willifan = {
home.packages = lib.mkIf config.desktop.hyprexit.enable [
(pkgs.writeShellScriptBin "hyprexit" ''
${pkgs.hyprland}/bin/hyprctl dispatch exit
${pkgs.systemd}/bin/loginctl terminate-user willifan
'')
];
home.packages = lib.mkIf config.desktop.hyprexit.enable [
(pkgs.writeShellScriptBin "hyprexit" ''
${pkgs.hyprland}/bin/hyprctl dispatch exit
${pkgs.systemd}/bin/loginctl terminate-user willifan
'')
];
};
}

View file

@ -1,40 +1,40 @@
{ lib, config, ... }:
{
home-manager.users.willifan = {
services.hypridle = lib.mkIf config.desktop.hypridle.enable {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
before_sleep_cmd = "loginctl lock-session && sleep 2"; # lock before suspend.
after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
};
services.hypridle = lib.mkIf config.desktop.hypridle.enable {
enable = true;
settings = {
listener = [
#{
# timeout = 150; # 2.5min.
# on-timeout = brightnessctl -s set 10; # set monitor backlight to minimum, avoid 0 on OLED monitor.
# on-resume = brightnessctl -r; # monitor backlight restor.
#}
general = {
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
before_sleep_cmd = "loginctl lock-session && sleep 2"; # lock before suspend.
after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
};
{
timeout = 300; # 5min
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
}
listener = [
#{
# timeout = 150; # 2.5min.
# on-timeout = brightnessctl -s set 10; # set monitor backlight to minimum, avoid 0 on OLED monitor.
# on-resume = brightnessctl -r; # monitor backlight restor.
#}
{
timeout = 380; # 5.5min
on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
on-resume = "hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired.
}
{
timeout = 300; # 5min
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
}
{
timeout = 600; # 30min
{
timeout = 380; # 5.5min
on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
on-resume = "hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired.
}
{
timeout = 600; # 30min
on-timeout = "systemctl suspend-then-hibernate"; # suspend pc
}
];
}
];
};
};
};
};
}

View file

@ -1,263 +1,263 @@
{ pkgs, lib, config, ...}:
{ pkgs, lib, config, ... }:
lib.mkIf config.desktop.hyprland.enable {
home-manager.users.willifan = {
wayland.windowManager.hyprland = {
enable = true;
systemd.variables = ["--all"];
package = pkgs.hyprland;
settings = {
wayland.windowManager.hyprland = {
enable = true;
systemd.variables = [ "--all" ];
package = pkgs.hyprland;
settings = {
"$SCRIPTS" = "$XDG_CONFIG_HOME/desktop-utils/scripts";
"$SCRIPTS" = "$XDG_CONFIG_HOME/desktop-utils/scripts";
misc = {
disable_hyprland_logo=true;
};
monitor = [
", preffered, auto, 1"
] ++ lib.optionals config.desktop.hyprland.hardware.Lenni.enable [
"eDP-1, preferred, 0x0, 1.6"
] ++ lib.optionals config.desktop.hyprland.hardware.Puenktchen.enable [
"desc:ViewSonic Corporation VX2705-2KP W6Z205100250, 2560x1440@144Hz, 0x384, 1.25"
"desc:ViewSonic Corporation VX2705-2KP W6Z210400766, 2560x1440@144Hz, 2048x384, 1.25"
"desc:BNQ BenQ BL2283 CAM01567019, 1920x1080@60Hz, 4096x0, 1.0, transform, 3"
];
# Execute your favorite apps at launch
exec-once = [
''hyprctl dispatch exec "[workspace 1 silent] zen"''
''hyprctl dispatch exec "[workspace 2 silent] kitty"''
#''hyprctl dispatch exec "[workspace 3 silent] "''
#''hyprctl dispatch exec "[workspace 4 silent] "''
#''hyprctl dispatch exec "[workspace 8 silent] "''
''hyprctl dispatch exec "[workspace 9 silent] vesktop"''
''hyprctl dispatch exec "[workspace special:ctrl silent] thunar"''
''hyprctl dispatch exec "[workspace special:alt silent] obsidian"''
#''hyprctl dispatch exec "[workspace special:altgr silent]"''
#''hyprctl dispatch exec "[workspace special:strg silent] "''
];
xwayland.force_zero_scaling = true;
input = {
kb_layout = "eu";
kb_variant = "";
kb_model = "";
kb_options = "";
kb_rules = "";
follow_mouse = 1;
touchdevice.transform = lib.mkIf config.desktop.hyprland.hardware.Lillie.enable 3;
touchpad.natural_scroll = "yes";
sensitivity = -0.8; # -1.0 - 1.0, 0 means no modification.
numlock_by_default = 1;
special_fallthrough = true;
};
general = {
gaps_in = 2;
gaps_out = 5;
border_size = 2;
# "col.active_border" = "rgba(ffa44bee)";
# "col.inactive_border" = "rgba(595959aa)";
layout = "dwindle";
resize_on_border = true;
};
decoration = {
rounding = 10;
blur = {
enabled = false;
size = 3;
passes = 1;
new_optimizations = 1;
misc = {
disable_hyprland_logo = true;
};
shadow.enabled = true;
shadow.range = 4;
shadow.render_power = 3;
# "col.shadow" = "rgba(1a1a1aee)";
};
misc = {
vfr = true;
mouse_move_enables_dpms = true;
};
animations = {
enabled = "yes";
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
"specialWorkspace, 1, 8, default, slidefadevert 20%"
monitor = [
", preffered, auto, 1"
] ++ lib.optionals config.desktop.hyprland.hardware.Lenni.enable [
"eDP-1, preferred, 0x0, 1.6"
] ++ lib.optionals config.desktop.hyprland.hardware.Puenktchen.enable [
"desc:ViewSonic Corporation VX2705-2KP W6Z205100250, 2560x1440@144Hz, 0x384, 1.25"
"desc:ViewSonic Corporation VX2705-2KP W6Z210400766, 2560x1440@144Hz, 2048x384, 1.25"
"desc:BNQ BenQ BL2283 CAM01567019, 1920x1080@60Hz, 4096x0, 1.0, transform, 3"
];
# Execute your favorite apps at launch
exec-once = [
''hyprctl dispatch exec "[workspace 1 silent] zen"''
''hyprctl dispatch exec "[workspace 2 silent] kitty"''
#''hyprctl dispatch exec "[workspace 3 silent] "''
#''hyprctl dispatch exec "[workspace 4 silent] "''
#''hyprctl dispatch exec "[workspace 8 silent] "''
''hyprctl dispatch exec "[workspace 9 silent] vesktop"''
''hyprctl dispatch exec "[workspace special:ctrl silent] thunar"''
''hyprctl dispatch exec "[workspace special:alt silent] obsidian"''
#''hyprctl dispatch exec "[workspace special:altgr silent]"''
#''hyprctl dispatch exec "[workspace special:strg silent] "''
];
xwayland.force_zero_scaling = true;
input = {
kb_layout = "eu";
kb_variant = "";
kb_model = "";
kb_options = "";
kb_rules = "";
follow_mouse = 1;
touchdevice.transform = lib.mkIf config.desktop.hyprland.hardware.Lillie.enable 3;
touchpad.natural_scroll = "yes";
sensitivity = -0.8; # -1.0 - 1.0, 0 means no modification.
numlock_by_default = 1;
special_fallthrough = true;
};
general = {
gaps_in = 2;
gaps_out = 5;
border_size = 2;
# "col.active_border" = "rgba(ffa44bee)";
# "col.inactive_border" = "rgba(595959aa)";
layout = "dwindle";
resize_on_border = true;
};
decoration = {
rounding = 10;
blur = {
enabled = false;
size = 3;
passes = 1;
new_optimizations = 1;
};
shadow.enabled = true;
shadow.range = 4;
shadow.render_power = 3;
# "col.shadow" = "rgba(1a1a1aee)";
};
misc = {
vfr = true;
mouse_move_enables_dpms = true;
};
animations = {
enabled = "yes";
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
"specialWorkspace, 1, 8, default, slidefadevert 20%"
];
};
dwindle = {
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = "yes"; # you probably want this
};
gestures = {
workspace_swipe = "on";
workspace_swipe_create_new = "false";
workspace_swipe_touch = lib.mkIf config.desktop.hyprland.hardware.Lillie.enable "true";
};
device = lib.mkIf config.desktop.hyprland.hardware.Lenni.enable {
name = "pixa3854:00-093a:0274-touchpad";
sensitivity = 0;
natural_scroll = "yes";
};
windowrule = [
"idleinhibit fullscreen, ^(firefox)$"
"float, ^(thunar)$"
"stayfocused, title:^(Enpass Assistant)$"
"pin, title:^(Enpass Assistant)$"
"center, title:^(Enpass Assistant)$"
"float, ^(Enpass)$"
"center, ^(Enpass)$"
];
windowrulev2 = [
"center, xwayland:(1)"
"nofocus,class:^jetbrains-(?!toolbox),floating:1,title:^win\d+$"
''workspace +0, workspace:name:special:ctrl, floating:0''
''float, workspace:name:special:altgr, onworkspace:w[2]''
''float, workspace:name:special:strg, onworkspace:w[1]''
''workspace +0, workspace:name:special:strg, floating:0''
];
"$mainMod" = "SUPER";
bind = [
''$mainMod, Q, exec, kitty''
''$mainMod, C, killactive, ''
''$mainMod, M, exit, ''
''$mainMod, E, exec, thunar''
''$mainMod, V, togglefloating, ''
''$mainMod, R, exec, fuzzel''
''$mainMod, P, exec, Enpass''
''$mainMod, F, fullscreen''
# Move focus with mainMod + arrow keys
''$mainMod, h, movefocus, l''
''$mainMod, l, movefocus, r''
''$mainMod, k, movefocus, u''
''$mainMod, j, movefocus, d''
'', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle''
'', XF86AudioPrev, exec, playerctl previous''
'', XF86AudioPlay, exec, playerctl play-pause''
'', XF86AudioNext, exec, playerctl next''
'', print, exec, grim -g "$(slurp)" - | wl-copy -t image/png''
# Switch workspaces with mainMod + [0-9]
''$mainMod, 1, exec, $SCRIPTS/workspaces.sh 1''
''$mainMod, 2, exec, $SCRIPTS/workspaces.sh 2''
''$mainMod, 3, exec, $SCRIPTS/workspaces.sh 3''
''$mainMod, 4, exec, $SCRIPTS/workspaces.sh 4''
''$mainMod, 5, exec, $SCRIPTS/workspaces.sh 5''
''$mainMod, 6, exec, $SCRIPTS/workspaces.sh 6''
''$mainMod, 7, exec, $SCRIPTS/workspaces.sh 7''
''$mainMod, 8, exec, $SCRIPTS/workspaces.sh 8''
''$mainMod, 9, exec, $SCRIPTS/workspaces.sh 9''
# Move active window to a workspace with mainMod + SHIFT + [0-9]
''$mainMod SHIFT, 1, movetoworkspace, 1''
''$mainMod SHIFT, 2, movetoworkspace, 2''
''$mainMod SHIFT, 3, movetoworkspace, 3''
''$mainMod SHIFT, 4, movetoworkspace, 4''
''$mainMod SHIFT, 5, movetoworkspace, 5''
''$mainMod SHIFT, 6, movetoworkspace, 6''
''$mainMod SHIFT, 7, movetoworkspace, 7''
''$mainMod SHIFT, 8, movetoworkspace, 8''
''$mainMod SHIFT, 9, movetoworkspace, 9''
# Monitor focus
''$mainMod ALT, 1, focusmonitor, 0''
''$mainMod ALT, 2, focusmonitor, 1''
''$mainMod ALT, 3, focusmonitor, 2''
''$mainMod ALT, 4, focusmonitor, 3''
''$mainMod ALT, 5, focusmonitor, 4''
''$mainMod ALT, 6, focusmonitor, 5''
''$mainMod ALT, 7, focusmonitor, 6''
''$mainMod ALT, 8, focusmonitor, 7''
''$mainMod ALT, 9, focusmonitor, 8''
''$mainMod ALT, 0, focusmonitor, 9''
# Scroll through existing workspaces with mainMod + scroll
''$mainMod, mouse_down, workspace, e+1''
''$mainMod, mouse_up, workspace, e-1''
];
binde = [
'', XF86AudioLowerVolume, exec, $SCRIPTS/volume.sh -5''
'', XF86AudioRaiseVolume, exec, $SCRIPTS/volume.sh 5''
];
bindel = [
'', XF86MonBrightnessDown, exec, $SCRIPTS/brightness.sh -4800''
'', XF86MonBrightnessUp, exec, $SCRIPTS/brightness.sh 4800''
];
bindr = [
''SUPERCTRL, Control_L, togglespecialworkspace, ctrl''
''SUPERALT, Alt_L, togglespecialworkspace, alt''
''SUPERALT, ALT_R, togglespecialworkspace, altgr''
''SUPERCTRL, Control_R, togglespecialworkspace, strg''
];
bindm = [
# Move/resize windows with mainMod + LMB/RMB and dragging
''$mainMod, mouse:272, movewindow''
''$mainMod, mouse:273, resizewindow''
];
# ------------------------------------------
# ########################################
# ####### Workspaces ###########
# ########################################
# ------------------------------------------
workspace = [
"1, persistent:true"
"2, persistent:true"
"3, persistent:true"
"4, persistent:true"
"5, persistent:true"
"6, persistent:true"
"7, persistent:true"
"8, persistent:true"
"8, persistent:true"
"9, persistent:true"
"name:special:ctrl, persistent:true"
"name:special:alt, persistent:true"
"name:special:altgr, persistent:true"
"name:special:strg, persistent:true"
];
};
dwindle = {
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = "yes"; # you probably want this
};
gestures = {
workspace_swipe = "on";
workspace_swipe_create_new = "false";
workspace_swipe_touch = lib.mkIf config.desktop.hyprland.hardware.Lillie.enable "true";
};
device = lib.mkIf config.desktop.hyprland.hardware.Lenni.enable {
name = "pixa3854:00-093a:0274-touchpad";
sensitivity = 0;
natural_scroll = "yes";
};
windowrule = [
"idleinhibit fullscreen, ^(firefox)$"
"float, ^(thunar)$"
"stayfocused, title:^(Enpass Assistant)$"
"pin, title:^(Enpass Assistant)$"
"center, title:^(Enpass Assistant)$"
"float, ^(Enpass)$"
"center, ^(Enpass)$"
];
windowrulev2 = [
"center, xwayland:(1)"
"nofocus,class:^jetbrains-(?!toolbox),floating:1,title:^win\d+$"
''workspace +0, workspace:name:special:ctrl, floating:0''
''float, workspace:name:special:altgr, onworkspace:w[2]''
''float, workspace:name:special:strg, onworkspace:w[1]''
''workspace +0, workspace:name:special:strg, floating:0''
];
"$mainMod" = "SUPER";
bind = [
''$mainMod, Q, exec, kitty''
''$mainMod, C, killactive, ''
''$mainMod, M, exit, ''
''$mainMod, E, exec, thunar''
''$mainMod, V, togglefloating, ''
''$mainMod, R, exec, fuzzel''
''$mainMod, P, exec, Enpass''
''$mainMod, F, fullscreen''
# Move focus with mainMod + arrow keys
''$mainMod, h, movefocus, l''
''$mainMod, l, movefocus, r''
''$mainMod, k, movefocus, u''
''$mainMod, j, movefocus, d''
'', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle''
'', XF86AudioPrev, exec, playerctl previous''
'', XF86AudioPlay, exec, playerctl play-pause''
'', XF86AudioNext, exec, playerctl next''
'', print, exec, grim -g "$(slurp)" - | wl-copy -t image/png''
# Switch workspaces with mainMod + [0-9]
''$mainMod, 1, exec, $SCRIPTS/workspaces.sh 1''
''$mainMod, 2, exec, $SCRIPTS/workspaces.sh 2''
''$mainMod, 3, exec, $SCRIPTS/workspaces.sh 3''
''$mainMod, 4, exec, $SCRIPTS/workspaces.sh 4''
''$mainMod, 5, exec, $SCRIPTS/workspaces.sh 5''
''$mainMod, 6, exec, $SCRIPTS/workspaces.sh 6''
''$mainMod, 7, exec, $SCRIPTS/workspaces.sh 7''
''$mainMod, 8, exec, $SCRIPTS/workspaces.sh 8''
''$mainMod, 9, exec, $SCRIPTS/workspaces.sh 9''
# Move active window to a workspace with mainMod + SHIFT + [0-9]
''$mainMod SHIFT, 1, movetoworkspace, 1''
''$mainMod SHIFT, 2, movetoworkspace, 2''
''$mainMod SHIFT, 3, movetoworkspace, 3''
''$mainMod SHIFT, 4, movetoworkspace, 4''
''$mainMod SHIFT, 5, movetoworkspace, 5''
''$mainMod SHIFT, 6, movetoworkspace, 6''
''$mainMod SHIFT, 7, movetoworkspace, 7''
''$mainMod SHIFT, 8, movetoworkspace, 8''
''$mainMod SHIFT, 9, movetoworkspace, 9''
# Monitor focus
''$mainMod ALT, 1, focusmonitor, 0''
''$mainMod ALT, 2, focusmonitor, 1''
''$mainMod ALT, 3, focusmonitor, 2''
''$mainMod ALT, 4, focusmonitor, 3''
''$mainMod ALT, 5, focusmonitor, 4''
''$mainMod ALT, 6, focusmonitor, 5''
''$mainMod ALT, 7, focusmonitor, 6''
''$mainMod ALT, 8, focusmonitor, 7''
''$mainMod ALT, 9, focusmonitor, 8''
''$mainMod ALT, 0, focusmonitor, 9''
# Scroll through existing workspaces with mainMod + scroll
''$mainMod, mouse_down, workspace, e+1''
''$mainMod, mouse_up, workspace, e-1''
];
binde = [
'', XF86AudioLowerVolume, exec, $SCRIPTS/volume.sh -5''
'', XF86AudioRaiseVolume, exec, $SCRIPTS/volume.sh 5''
];
bindel = [
'', XF86MonBrightnessDown, exec, $SCRIPTS/brightness.sh -4800''
'', XF86MonBrightnessUp, exec, $SCRIPTS/brightness.sh 4800''
];
bindr = [
''SUPERCTRL, Control_L, togglespecialworkspace, ctrl''
''SUPERALT, Alt_L, togglespecialworkspace, alt''
''SUPERALT, ALT_R, togglespecialworkspace, altgr''
''SUPERCTRL, Control_R, togglespecialworkspace, strg''
];
bindm = [
# Move/resize windows with mainMod + LMB/RMB and dragging
''$mainMod, mouse:272, movewindow''
''$mainMod, mouse:273, resizewindow''
];
# ------------------------------------------
# ########################################
# ####### Workspaces ###########
# ########################################
# ------------------------------------------
workspace = [
"1, persistent:true"
"2, persistent:true"
"3, persistent:true"
"4, persistent:true"
"5, persistent:true"
"6, persistent:true"
"7, persistent:true"
"8, persistent:true"
"8, persistent:true"
"9, persistent:true"
"name:special:ctrl, persistent:true"
"name:special:alt, persistent:true"
"name:special:altgr, persistent:true"
"name:special:strg, persistent:true"
];
};
};
};
}

View file

@ -1,56 +1,56 @@
{ lib, config, ... }:
{
home-manager.users.willifan = {
programs.hyprlock = lib.mkIf config.desktop.hyprlock.enable {
enable = true;
settings = {
background = {
monitor = "";
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
blur_passes = 3; # 0 disables blurring
blur_size = 7;
noise = 0.0117;
contrast = 0.8916;
brightness = 0.8172;
vibrancy = 0.1696;
vibrancy_darkness = 0.0;
};
programs.hyprlock = lib.mkIf config.desktop.hyprlock.enable {
enable = true;
settings = {
background = {
monitor = "";
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
blur_passes = 3; # 0 disables blurring
blur_size = 7;
noise = 0.0117;
contrast = 0.8916;
brightness = 0.8172;
vibrancy = 0.1696;
vibrancy_darkness = 0.0;
};
input-field = {
monitor = "";
size = "300, 75";
outline_thickness = 3;
dots_size = 0.33; # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.15; # Scale of dots' absolute size, 0.0 - 1.0
dots_center = false;
dots_rounding = -1; # -1 default circle, -2 follow input-field rounding
fade_on_empty = true;
fade_timeout = 1000; # Milliseconds before fade_on_empty is triggered.
placeholder_text = "<i>Input Password...</i>"; # Text rendered in the input box when it's empty.
hide_input = false;
rounding = -1; # -1 means complete rounding (circle/oval)
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>"; # can be set to empty
fail_transition = 300; # transition time in ms between normal outer_color and fail_color
capslock_color = -1;
numlock_color = -1;
bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above)
invert_numlock = false; # change color if numlock is off
position = "0, -20";
halign = "center";
valign = "center";
};
input-field = {
monitor = "";
size = "300, 75";
outline_thickness = 3;
dots_size = 0.33; # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.15; # Scale of dots' absolute size, 0.0 - 1.0
dots_center = false;
dots_rounding = -1; # -1 default circle, -2 follow input-field rounding
fade_on_empty = true;
fade_timeout = 1000; # Milliseconds before fade_on_empty is triggered.
placeholder_text = "<i>Input Password...</i>"; # Text rendered in the input box when it's empty.
hide_input = false;
rounding = -1; # -1 means complete rounding (circle/oval)
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>"; # can be set to empty
fail_transition = 300; # transition time in ms between normal outer_color and fail_color
capslock_color = -1;
numlock_color = -1;
bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above)
invert_numlock = false; # change color if numlock is off
position = "0, -20";
halign = "center";
valign = "center";
};
label = {
monitor = "";
text = "Hi there, $USER";
color = "rgba(200, 200, 200, 1.0)";
font_size = 25;
font_family = "Noto Sans";
position = "0, 80";
halign = "center";
valign = "center";
label = {
monitor = "";
text = "Hi there, $USER";
color = "rgba(200, 200, 200, 1.0)";
font_size = 25;
font_family = "Noto Sans";
position = "0, 80";
halign = "center";
valign = "center";
};
};
};
};
};
}

View file

@ -1,15 +1,15 @@
{ lib, config, ... }:
{
home-manager.users.willifan = {
services.hyprpaper = lib.mkIf config.desktop.hyprpaper.enable {
enable = true;
settings = {
services.hyprpaper = lib.mkIf config.desktop.hyprpaper.enable {
enable = true;
settings = {
splash = true;
splash = true;
ipc = "off";
ipc = "off";
};
};
};
};
}

View file

@ -1,11 +1,11 @@
{ lib, config, ... }:
{
home-manager.users.willifan = {
services.mako = lib.mkIf config.desktop.mako.enable {
enable = true;
borderRadius = 10;
borderSize = 2;
services.mako = lib.mkIf config.desktop.mako.enable {
enable = true;
borderRadius = 10;
borderSize = 2;
};
};
};
}

View file

@ -29,7 +29,7 @@
default = false;
type = lib.types.bool;
};
Lillie.enable = lib.mkOption{
Lillie.enable = lib.mkOption {
default = false;
type = lib.types.bool;
};

View file

@ -1,24 +1,24 @@
{ lib, config, pkgs, ... }:
{
home-manager.users.willifan = {
home.packages = lib.mkIf config.desktop.utils.enable [
pkgs.hyprpicker
pkgs.hyprcursor
home.packages = lib.mkIf config.desktop.utils.enable [
pkgs.grim
pkgs.slurp
pkgs.wl-clipboard
pkgs.playerctl
pkgs.hyprpicker
pkgs.hyprcursor
pkgs.dconf
pkgs.jq
pkgs.pulseaudio
pkgs.inotify-tools
pkgs.papirus-icon-theme
pkgs.eww
];
pkgs.grim
pkgs.slurp
pkgs.wl-clipboard
pkgs.playerctl
pkgs.dconf
pkgs.jq
pkgs.pulseaudio
pkgs.inotify-tools
pkgs.papirus-icon-theme
pkgs.eww
];
};
}

View file

@ -1,83 +1,83 @@
{ lib, config, ... }:
{
home-manager.users.willifan = {
programs.wlogout = lib.mkIf config.desktop.wlogout.enable {
enable = true;
layout = [
{
label = "shutdown";
action = "systemctl poweroff";
text = "Shutdown";
}
{
label = "hyprland";
action = "hyprctl dispatch exit";
text = "Exit Hyprland";
}
{
label = "whatever";
action = "";
text = "whatever";
}
{
label = "reboot";
action = "systemctl reboot";
text = "Reboot";
}
{
label = "suspend";
action = "systemctl suspend";
text = "Suspend";
}
{
label = "hibernate";
action = "systemctl hibernate";
text = "Hibernate";
}
];
programs.wlogout = lib.mkIf config.desktop.wlogout.enable {
enable = true;
layout = [
{
label = "shutdown";
action = "systemctl poweroff";
text = "Shutdown";
}
{
label = "hyprland";
action = "hyprctl dispatch exit";
text = "Exit Hyprland";
}
{
label = "whatever";
action = "";
text = "whatever";
}
{
label = "reboot";
action = "systemctl reboot";
text = "Reboot";
}
{
label = "suspend";
action = "systemctl suspend";
text = "Suspend";
}
{
label = "hibernate";
action = "systemctl hibernate";
text = "Hibernate";
}
];
style = ''
@import url("file:///home/willifan/.config/gtk-4.0/gtk.css");
* {
background-image: none;
box-shadow: none;
}
style = ''
@import url("file:///home/willifan/.config/gtk-4.0/gtk.css");
* {
background-image: none;
box-shadow: none;
}
window {
background-color: rgba(12, 12, 12, 0.9);
}
window {
background-color: rgba(12, 12, 12, 0.9);
}
button {
border-radius: 10px;
border-color: #ffa44b;
border-style: solid;
border-width: 2px;
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
}
button {
border-radius: 10px;
border-color: #ffa44b;
border-style: solid;
border-width: 2px;
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
}
button:focus, button:active, button:hover {
/*background-color: #3700B3;*/
outline-style: none;
}
button:focus, button:active, button:hover {
/*background-color: #3700B3;*/
outline-style: none;
}
#suspend {
background-image: image(url("/home/willifan/.config/desktop-utils/images/suspend.png"));
}
#suspend {
background-image: image(url("/home/willifan/.config/desktop-utils/images/suspend.png"));
}
#hibernate {
background-image: image(url("/home/willifan/.config/desktop-utils/images/hibernate.png"));
}
#hibernate {
background-image: image(url("/home/willifan/.config/desktop-utils/images/hibernate.png"));
}
#shutdown {
background-image: image(url("/home/willifan/.config/desktop-utils/images/shutdown.png"));
}
#shutdown {
background-image: image(url("/home/willifan/.config/desktop-utils/images/shutdown.png"));
}
#reboot {
background-image: image(url("/home/willifan/.config/desktop-utils/images/reboot.png"));
}
'';
};
#reboot {
background-image: image(url("/home/willifan/.config/desktop-utils/images/reboot.png"));
}
'';
};
};
}

View file

@ -1,11 +1,11 @@
{ lib, config, ... }:
{
home-manager.users.willifan = {
programs.kitty = lib.mkIf config.desktop.kitty.enable {
enable = true;
settings = {
enable_audio_bell = false;
programs.kitty = lib.mkIf config.desktop.kitty.enable {
enable = true;
settings = {
enable_audio_bell = false;
};
};
};
};
}

View file

@ -30,10 +30,10 @@ lib.mkIf config.desktop.enable {
input = {
keyboard.xkb = {
layout = "eu";
layout = "eu";
};
};
window-rules = [
{
geometry-corner-radius = {

View file

@ -2,61 +2,61 @@
{
home-manager.users.willifan = {
programs.vscode = lib.mkIf config.desktop.vscodium.enable {
enable = true;
package = pkgs.vscodium;
programs.vscode = lib.mkIf config.desktop.vscodium.enable {
enable = true;
package = pkgs.vscodium;
userSettings = {
"[nix]"."editor.tabSize" = 2;
"explorer.confirmDragAndDrop" = false;
"cmake.showOptionsMovedNotification" = false;
"extensions.autoUpdate" = false;
userSettings = {
"[nix]"."editor.tabSize" = 2;
"explorer.confirmDragAndDrop" = false;
"cmake.showOptionsMovedNotification" = false;
"extensions.autoUpdate" = false;
};
extensions = with pkgs.vscode-extensions; [
# System
arrterian.nix-env-selector
bbenoist.nix
#fireblast.hyprlang-vscode
#eww-yuck.yuck
#Rust
rust-lang.rust-analyzer
serayuzgur.crates
bungcip.better-toml
vadimcn.vscode-lldb
usernamehw.errorlens
#C/C++
ms-vscode.cpptools
twxs.cmake
ms-vscode.cmake-tools
#Shell
timonwong.shellcheck
mads-hartmann.bash-ide-vscode
#Git
#phil294.git-log--graph
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "hyprlang-vscode";
publisher = "fireblast";
version = "0.0.1";
sha256 = "lSMihMIue0qu9+97EgT5dqjbzsey0TLZDpJby+Piip4=";
}
{
name = "yuck";
publisher = "eww-yuck";
version = "0.0.3";
sha256 = "DITgLedaO0Ifrttu+ZXkiaVA7Ua5RXc4jXQHPYLqrcM=";
}
{
name = "git-log--graph";
publisher = "phil294";
version = "0.1.15";
sha256 = "lvjDkvXSX7rw7HyyK3WWQLnGezvL6FPEgtjIi8KWkU0=";
}
];
};
extensions = with pkgs.vscode-extensions; [
# System
arrterian.nix-env-selector
bbenoist.nix
#fireblast.hyprlang-vscode
#eww-yuck.yuck
#Rust
rust-lang.rust-analyzer
serayuzgur.crates
bungcip.better-toml
vadimcn.vscode-lldb
usernamehw.errorlens
#C/C++
ms-vscode.cpptools
twxs.cmake
ms-vscode.cmake-tools
#Shell
timonwong.shellcheck
mads-hartmann.bash-ide-vscode
#Git
#phil294.git-log--graph
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "hyprlang-vscode";
publisher = "fireblast";
version = "0.0.1";
sha256 = "lSMihMIue0qu9+97EgT5dqjbzsey0TLZDpJby+Piip4=";
}
{
name = "yuck";
publisher = "eww-yuck";
version = "0.0.3";
sha256 = "DITgLedaO0Ifrttu+ZXkiaVA7Ua5RXc4jXQHPYLqrcM=";
}
{
name = "git-log--graph";
publisher = "phil294";
version = "0.1.15";
sha256 = "lvjDkvXSX7rw7HyyK3WWQLnGezvL6FPEgtjIi8KWkU0=";
}
];
};
};
}

View file

@ -1,14 +1,14 @@
{ pkgs, ... }:
{
home-manager.users.willifan = {
programs.git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
userName = "willifan";
userEmail = "willifan@pm.me";
extraConfig = {
init.defaultBranch = "main";
home-manager.users.willifan = {
programs.git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
userName = "willifan";
userEmail = "willifan@pm.me";
extraConfig = {
init.defaultBranch = "main";
};
};
};
};
}

View file

@ -1,5 +1,2 @@
{ lib, ... }:
{
}
{ }

View file

@ -1,20 +1,20 @@
{ ... }:
{
programs = {
bash = {
enable = true;
shellAliases = {
shellAliases = {
ls = "eza";
};
};
};
starship = {
enableBashIntegration = true;
};
};
# programs.bash.blesh.enable = true;
# programs.bash.blesh.enable = true;
}

View file

@ -10,13 +10,13 @@
lightness = 0.69;
color_align = {
mode = "horizontal";
custom_colors = [];
custom_colors = [ ];
fore_back = null;
};
backend = "fastfetch";
args = null;
distro = null;
pride_month_shown = [];
pride_month_shown = [ ];
pride_month_disable = false;
};
};
@ -25,10 +25,10 @@
settings = {
modules = [
"title"
"separator"
"os"
"separator"
"os"
"host"
{
{
type = "localip";
showIpv6 = false;
showMac = false;
@ -36,18 +36,18 @@
showMtu = false;
showLoop = false;
showFlags = false;
}
"kernel"
"uptime"
"packages"
"shell"
"wm"
"cpu"
"gpu"
"memory"
"break"
"colors"
];
}
"kernel"
"uptime"
"packages"
"shell"
"wm"
"cpu"
"gpu"
"memory"
"break"
"colors"
];
};
};
}

View file

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

View file

@ -5,15 +5,15 @@
enable = true;
settings = {
format = lib.concatStrings [
"[ ](fg:twelve bg:trans_blue)"
"[ ](fg:twelve bg:trans_blue)"
"[ ](bg:trans_blue)[ ](fg:trans_blue bg:trans_pink)"
"$hostname"
"[ ](bg:trans_pink)[ ](fg:trans_pink bg:trans_white)"
"$directory"
"[ ](bg:trans_white)[ ](fg:trans_white bg:trans_pink)"
"("
"$git_branch"
"$git_status"
"$git_branch"
"$git_status"
")"
"[ ](bg:trans_pink)[ ](fg:trans_pink bg:trans_blue)"
"$character"
@ -22,13 +22,13 @@
right_format = lib.concatStrings [
"$cmd_duration"
"("
"$python"
"$conda"
"$c"
"$cmake"
"$golang"
"$haskell"
"$rust"
"$python"
"$conda"
"$c"
"$cmake"
"$golang"
"$haskell"
"$rust"
")"
];
@ -42,28 +42,28 @@
first = config.lib.stylix.colors.withHashtag.base00;
second = config.lib.stylix.colors.withHashtag.base01;
third = config.lib.stylix.colors.withHashtag.base02;
fourth = config.lib.stylix.colors.withHashtag.base03;
fourth = config.lib.stylix.colors.withHashtag.base03;
fifth = config.lib.stylix.colors.withHashtag.base04;
sixth = config.lib.stylix.colors.withHashtag.base05;
seventh = config.lib.stylix.colors.withHashtag.base06;
eighth = config.lib.stylix.colors.withHashtag.base07;
baseeight = config.lib.stylix.colors.withHashtag.base08;
basenine = config.lib.stylix.colors.withHashtag.base09;
ten = config.lib.stylix.colors.withHashtag.base0A;
eleven = config.lib.stylix.colors.withHashtag.base0B;
baseeight = config.lib.stylix.colors.withHashtag.base08;
basenine = config.lib.stylix.colors.withHashtag.base09;
ten = config.lib.stylix.colors.withHashtag.base0A;
eleven = config.lib.stylix.colors.withHashtag.base0B;
twelve = config.lib.stylix.colors.withHashtag.base0C;
thirteen = config.lib.stylix.colors.withHashtag.base0D;
fourteen = config.lib.stylix.colors.withHashtag.base0E;
fourteen = config.lib.stylix.colors.withHashtag.base0E;
fifteen = config.lib.stylix.colors.withHashtag.base0F;
trans_blue = "#55CDFD";
trans_pink = "#F6AAB7";
trans_white = "#FFFFFF";
pride_red = "#FF1E26";
pride_orange = "#FE941E";
pride_yellow = "#FFFF00";
pride_green = "#06BD00";
pride_blue = "#001A98";
pride_violet = "#760088";
trans_blue = "#55CDFD";
trans_pink = "#F6AAB7";
trans_white = "#FFFFFF";
pride_red = "#FF1E26";
pride_orange = "#FE941E";
pride_yellow = "#FFFF00";
pride_green = "#06BD00";
pride_blue = "#001A98";
pride_violet = "#760088";
# Text color:
black = "#272D37";
white = "#CBF4F8";
@ -81,7 +81,7 @@
format = "[ $path](bold $style)($style)[$read_only](bold $style)";
truncation_symbol = "/";
truncate_to_repo = true;
read_only =" ";
read_only = " ";
};
c = {
@ -109,7 +109,7 @@
symbol = " ";
version_format = "\${raw}";
style = "bg:fourth fg:white";
python_binary = ["./venv/bin/python" "./env/Scripts/python" "python" "python3" "python2"];
python_binary = [ "./venv/bin/python" "./env/Scripts/python" "python" "python3" "python2" ];
format = "[$symbol($version)]($style)[ (\($virtualenv\)) ](bg:fourth fg:white)";
};

View file

@ -7,62 +7,62 @@ let
in
{
home-manager.users.willifan = {
stylix = {
enable = true;
autoEnable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/pasque.yaml";
override = {
base0D = "F3196E";
base0F = "CFAACF";
};
cursor = {
name = "Bibata-Modern-Classic";
package = pkgs.bibata-cursors;
size = 18;
};
fonts = {
# packages = [ pkgs.nerdfonts ];
# emoji = {
# package = pkgs.;
# name = "";
# };
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMono Nerd Font";
};
# sansSerif = {
# package = pkgs.;
# name = "";
# };
# serif = {
# package = pkgs.;
# name = "";
# };
};
image = wallpaper;
opacity = {
applications = 0.9;
desktop = 0.9;
popups = 0.9;
terminal = 0.9;
};
polarity = "dark";
iconTheme = {
home-manager.users.willifan = {
stylix = {
enable = true;
dark = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
autoEnable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/pasque.yaml";
override = {
base0D = "F3196E";
base0F = "CFAACF";
};
cursor = {
name = "Bibata-Modern-Classic";
package = pkgs.bibata-cursors;
size = 18;
};
fonts = {
# packages = [ pkgs.nerdfonts ];
# emoji = {
# package = pkgs.;
# name = "";
# };
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMono Nerd Font";
};
# sansSerif = {
# package = pkgs.;
# name = "";
# };
# serif = {
# package = pkgs.;
# name = "";
# };
};
image = wallpaper;
opacity = {
applications = 0.9;
desktop = 0.9;
popups = 0.9;
terminal = 0.9;
};
polarity = "dark";
iconTheme = {
enable = true;
dark = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
};
};
};
}

View file

@ -1,6 +1,6 @@
{
appimageTools,
fetchurl,
{ appimageTools
, fetchurl
,
}:
let
pname = "UVtools";
@ -22,6 +22,6 @@ appimageTools.wrapType2 {
install -m 444 -D ${appimageContents}/UVtools.desktop $out/share/applications/UVtools.desktop
install -m 444 -D ${appimageContents}/UVtools.png \
$out/share/icons/hicolor/256x256/apps/UVtools.png
'';
'';
}

View file

@ -1,6 +1,6 @@
{
appimageTools,
fetchurl,
{ appimageTools
, fetchurl
,
}:
let
pname = "yuzu";