Update Zed configuration for nix LSP and formatter.

This commit is contained in:
2025-11-23 16:34:22 +01:00
parent 2be712393f
commit 900b565405
114 changed files with 2311 additions and 2408 deletions

View File

@@ -51,43 +51,39 @@
nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest"; nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest";
}; };
outputs = outputs = {
{ nixpkgs,
nixpkgs, nix-flatpak,
nix-flatpak, auto-cpufreq,
auto-cpufreq, ...
... } @ inputs: let
}@inputs: hostDirs = builtins.attrNames (builtins.readDir ./hosts);
let
hostDirs = builtins.attrNames (builtins.readDir ./hosts);
mkHost = mkHost = hostName: let
hostName: inherit
let (import ./hosts/${hostName}/variables.nix)
inherit (import ./hosts/${hostName}/variables.nix) host
host username
username profile
profile system
system ;
;
in
nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs;
inherit username;
inherit host;
inherit profile;
inherit system;
};
modules = [
./profiles/${profile}
nix-flatpak.nixosModules.nix-flatpak
auto-cpufreq.nixosModules.default
];
};
in in
{ nixpkgs.lib.nixosSystem {
nixosConfigurations = nixpkgs.lib.genAttrs hostDirs mkHost; inherit system;
}; specialArgs = {
inherit inputs;
inherit username;
inherit host;
inherit profile;
inherit system;
};
modules = [
./profiles/${profile}
nix-flatpak.nixosModules.nix-flatpak
auto-cpufreq.nixosModules.default
];
};
in {
nixosConfigurations = nixpkgs.lib.genAttrs hostDirs mkHost;
};
} }

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
imports = [ imports = [
./hardware.nix ./hardware.nix
./host-packages.nix ./host-packages.nix

View File

@@ -6,8 +6,7 @@
lib, lib,
modulesPath, modulesPath,
... ...
}: }: {
{
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
@@ -22,7 +21,7 @@
"usb_storage" "usb_storage"
"sd_mod" "sd_mod"
]; ];
kernelModules = [ "dm-snapshot" ]; kernelModules = ["dm-snapshot"];
luks.devices = { luks.devices = {
cryptroot = { cryptroot = {
device = "/dev/disk/by-uuid/7c018698-d35c-4ee6-92a8-5e4edf914065"; device = "/dev/disk/by-uuid/7c018698-d35c-4ee6-92a8-5e4edf914065";
@@ -30,8 +29,8 @@
}; };
}; };
}; };
kernelModules = [ "kvm-amd" ]; kernelModules = ["kvm-amd"];
extraModulePackages = [ ]; extraModulePackages = [];
}; };
fileSystems = { fileSystems = {

View File

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

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
imports = [ imports = [
./hardware.nix ./hardware.nix
./host-packages.nix ./host-packages.nix

View File

@@ -6,9 +6,7 @@
lib, lib,
modulesPath, modulesPath,
... ...
}: }: {
{
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
@@ -21,14 +19,14 @@
"usb_storage" "usb_storage"
"sd_mod" "sd_mod"
]; ];
kernelModules = [ "dm-snapshot" ]; kernelModules = ["dm-snapshot"];
luks.devices.cryptroot = { luks.devices.cryptroot = {
device = "/dev/disk/by-uuid/6abc2228-823e-42b0-94c7-48fda757732c"; device = "/dev/disk/by-uuid/6abc2228-823e-42b0-94c7-48fda757732c";
preLVM = true; preLVM = true;
}; };
}; };
kernelModules = [ "kvm-amd" ]; kernelModules = ["kvm-amd"];
extraModulePackages = [ ]; extraModulePackages = [];
}; };
fileSystems = { fileSystems = {
@@ -51,7 +49,7 @@
}; };
swapDevices = [ swapDevices = [
{ device = "/dev/disk/by-uuid/5da7c845-7dd3-4882-93af-2d679cdb5e7a"; } {device = "/dev/disk/by-uuid/5da7c845-7dd3-4882-93af-2d679cdb5e7a";}
]; ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View File

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

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
imports = [ imports = [
./hardware.nix ./hardware.nix
./host-packages.nix ./host-packages.nix

View File

@@ -7,9 +7,7 @@
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: }: {
{
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
@@ -20,17 +18,16 @@
"nvme" "nvme"
"usbhid" "usbhid"
]; ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/dd005850-6230-40c4-9d70-8c8cf443658d"; device = "/dev/disk/by-uuid/dd005850-6230-40c4-9d70-8c8cf443658d";
fsType = "ext4"; fsType = "ext4";
}; };
boot.initrd.luks.devices."luks-b7565781-148e-4c94-9c76-36c84dd93dc8".device = boot.initrd.luks.devices."luks-b7565781-148e-4c94-9c76-36c84dd93dc8".device = "/dev/disk/by-uuid/b7565781-148e-4c94-9c76-36c84dd93dc8";
"/dev/disk/by-uuid/b7565781-148e-4c94-9c76-36c84dd93dc8";
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/C2A6-DF56"; device = "/dev/disk/by-uuid/C2A6-DF56";

View File

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

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
programs.auto-cpufreq = { programs.auto-cpufreq = {
enable = true; enable = true;
settings = { settings = {

View File

@@ -3,13 +3,11 @@
config, config,
lib, lib,
... ...
}: }: {
{
boot = { boot = {
kernelPackages = pkgs.linuxPackages_zen; kernelPackages = pkgs.linuxPackages_zen;
kernelModules = [ "v4l2loopback" ]; kernelModules = ["v4l2loopback"];
extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
kernel.sysctl = { kernel.sysctl = {
"vm.max_map_count" = 2147483642; "vm.max_map_count" = 2147483642;
}; };

View File

@@ -1,8 +1,4 @@
{ {inputs, ...}: {
inputs,
...
}:
{
imports = [ imports = [
./packages ./packages
./auto-cpufreq.nix ./auto-cpufreq.nix

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
fonts = { fonts = {
packages = with pkgs; [ packages = with pkgs; [
dejavu_fonts dejavu_fonts

View File

@@ -2,8 +2,7 @@
pkgs, pkgs,
username, username,
... ...
}: }: {
{
services.greetd = { services.greetd = {
enable = true; enable = true;
#vt = 3; #vt = 3;

View File

@@ -1,10 +1,9 @@
{ pkgs, ... }: {pkgs, ...}: {
{
hardware = { hardware = {
sane = { sane = {
enable = true; enable = true;
extraBackends = [ pkgs.sane-airscan ]; extraBackends = [pkgs.sane-airscan];
disabledDefaultBackends = [ "escl" ]; disabledDefaultBackends = ["escl"];
}; };
logitech.wireless = { logitech.wireless = {
enable = false; enable = false;

View File

@@ -2,11 +2,9 @@
host, host,
options, options,
... ...
}: }: let
let
inherit (import ../../hosts/${host}/variables.nix) hostId; inherit (import ../../hosts/${host}/variables.nix) hostId;
in in {
{
# Defensive assertion for hostname validity (clearer message at eval time) # Defensive assertion for hostname validity (clearer message at eval time)
assertions = [ assertions = [
{ {
@@ -19,7 +17,7 @@ in
hostName = "${host}"; hostName = "${host}";
hostId = hostId; hostId = hostId;
networkmanager.enable = true; networkmanager.enable = true;
timeServers = options.networking.timeServers.default ++ [ "pool.ntp.org" ]; timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
firewall = { firewall = {
enable = true; enable = true;
allowedTCPPorts = [ allowedTCPPorts = [

View File

@@ -1,8 +1,6 @@
{ host, ... }: {host, ...}: let
let
inherit (import ../../hosts/${host}/variables.nix) enableNFS; inherit (import ../../hosts/${host}/variables.nix) enableNFS;
in in {
{
services = { services = {
rpcbind.enable = enableNFS; rpcbind.enable = enableNFS;
nfs.server.enable = enableNFS; nfs.server.enable = enableNFS;

View File

@@ -1,8 +1,4 @@
{ {username, ...}: {
username,
...
}:
{
programs.nh = { programs.nh = {
enable = true; enable = true;
clean = { clean = {

View File

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

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
imports = [ imports = [
./programs.nix ./programs.nix

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Learning & practice # Learning & practice
exercism exercism

View File

@@ -3,8 +3,7 @@
# inputs, # inputs,
# system, # system,
... ...
}: }: {
{
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# inputs.prismlauncher-cracked.packages.${system}.default # inputs.prismlauncher-cracked.packages.${system}.default
space-cadet-pinball space-cadet-pinball

View File

@@ -3,8 +3,7 @@
# inputs, # inputs,
# system, # system,
... ...
}: }: {
{
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Video & image processing # Video & image processing
ffmpeg ffmpeg

View File

@@ -1,8 +1,8 @@
{ # {
# pkgs # pkgs
... # ...
}: # }
{ _: {
programs = { programs = {
nano.enable = true; nano.enable = true;
hyprland = { hyprland = {

View File

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

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# File management # File management
trash-cli trash-cli

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
virt-viewer virt-viewer
# lazydocker # lazydocker

View File

@@ -1,8 +1,6 @@
{ host, ... }: {host, ...}: let
let
inherit (import ../../hosts/${host}/variables.nix) printEnable; inherit (import ../../hosts/${host}/variables.nix) printEnable;
in in {
{
services = { services = {
printing = { printing = {
enable = printEnable; enable = printEnable;

View File

@@ -1,5 +1,4 @@
{ profile, ... }: {profile, ...}: {
{
# Services to start # Services to start
services = { services = {
libinput.enable = true; # Input Handling libinput.enable = true; # Input Handling
@@ -12,14 +11,17 @@
PasswordAuthentication = true; # Users can SSH using kb and password PasswordAuthentication = true; # Users can SSH using kb and password
KbdInteractiveAuthentication = true; KbdInteractiveAuthentication = true;
}; };
ports = [ 22 ]; ports = [22];
}; };
blueman.enable = true; # Bluetooth Support blueman.enable = true; # Bluetooth Support
tumbler.enable = true; # Image/video preview tumbler.enable = true; # Image/video preview
gnome.gnome-keyring.enable = true; gnome.gnome-keyring.enable = true;
smartd = { smartd = {
enable = if profile == "vm" then false else true; enable =
if profile == "vm"
then false
else true;
autodetect = true; autodetect = true;
}; };
pipewire = { pipewire = {

View File

@@ -1,12 +1,11 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs = { programs = {
steam = { steam = {
enable = true; enable = true;
remotePlay.openFirewall = true; remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true; dedicatedServer.openFirewall = true;
gamescopeSession.enable = true; gamescopeSession.enable = true;
extraCompatPackages = [ pkgs.proton-ge-bin ]; extraCompatPackages = [pkgs.proton-ge-bin];
}; };
# gamescope = { # gamescope = {
# enable = true; # enable = true;

View File

@@ -2,11 +2,9 @@
pkgs, pkgs,
host, host,
... ...
}: }: let
let
inherit (import ../../hosts/${host}/variables.nix) stylixImage; inherit (import ../../hosts/${host}/variables.nix) stylixImage;
in in {
{
# Styling Options # Styling Options
stylix = { stylix = {
enable = true; enable = true;

View File

@@ -1,5 +1,4 @@
{ username, ... }: {username, ...}: {
{
services.syncthing = { services.syncthing = {
enable = false; enable = false;
user = "${username}"; user = "${username}";

View File

@@ -1,9 +1,12 @@
{ host, ... }:
let
inherit (import ../../hosts/${host}/variables.nix) consoleKeyMap;
in
{ {
host,
inputs,
...
}: let
inherit (import ../../hosts/${host}/variables.nix) consoleKeyMap;
in {
nix = { nix = {
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
settings = { settings = {
download-buffer-size = 200000000; download-buffer-size = 200000000;
auto-optimise-store = true; auto-optimise-store = true;
@@ -11,22 +14,24 @@ in
"nix-command" "nix-command"
"flakes" "flakes"
]; ];
substituters = [ "https://hyprland.cachix.org" ]; substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
}; };
}; };
time.timeZone = "Europe/Warsaw"; time.timeZone = "Europe/Warsaw";
i18n.defaultLocale = "pl_PL.UTF-8"; i18n = {
i18n.extraLocaleSettings = { defaultLocale = "pl_PL.UTF-8";
LC_ADDRESS = "pl_PL.UTF-8"; extraLocaleSettings = {
LC_IDENTIFICATION = "pl_PL.UTF-8"; LC_ADDRESS = "pl_PL.UTF-8";
LC_MEASUREMENT = "pl_PL.UTF-8"; LC_IDENTIFICATION = "pl_PL.UTF-8";
LC_MONETARY = "pl_PL.UTF-8"; LC_MEASUREMENT = "pl_PL.UTF-8";
LC_NAME = "pl_PL.UTF-8"; LC_MONETARY = "pl_PL.UTF-8";
LC_NUMERIC = "pl_PL.UTF-8"; LC_NAME = "pl_PL.UTF-8";
LC_PAPER = "pl_PL.UTF-8"; LC_NUMERIC = "pl_PL.UTF-8";
LC_TELEPHONE = "pl_PL.UTF-8"; LC_PAPER = "pl_PL.UTF-8";
LC_TIME = "pl_PL.UTF-8"; LC_TELEPHONE = "pl_PL.UTF-8";
LC_TIME = "pl_PL.UTF-8";
};
}; };
environment.variables = { environment.variables = {
NIXOS_OZONE_WL = "1"; NIXOS_OZONE_WL = "1";

View File

@@ -1,8 +1,4 @@
{ {pkgs, ...}: {
pkgs,
...
}:
{
programs = { programs = {
thunar = { thunar = {
enable = true; enable = true;

View File

@@ -6,12 +6,10 @@
profile, profile,
system, system,
... ...
}: }: let
let
inherit (import ../../hosts/${host}/variables.nix) gitUsername; inherit (import ../../hosts/${host}/variables.nix) gitUsername;
in in {
{ imports = [inputs.home-manager.nixosModules.home-manager];
imports = [ inputs.home-manager.nixosModules.home-manager ];
home-manager = { home-manager = {
useUserPackages = true; useUserPackages = true;
useGlobalPkgs = false; useGlobalPkgs = false;
@@ -26,7 +24,7 @@ in
; ;
}; };
users.${username} = { users.${username} = {
imports = [ ./../home ]; imports = [./../home];
home = { home = {
username = "${username}"; username = "${username}";
homeDirectory = "/home/${username}"; homeDirectory = "/home/${username}";
@@ -52,5 +50,5 @@ in
shell = pkgs.bash; shell = pkgs.bash;
ignoreShellProgramCheck = true; ignoreShellProgramCheck = true;
}; };
nix.settings.allowed-users = [ "${username}" ]; nix.settings.allowed-users = ["${username}"];
} }

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
# Only enable either docker or podman -- Not both # Only enable either docker or podman -- Not both
virtualisation = { virtualisation = {
docker.enable = true; docker.enable = true;

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
xdg.portal = { xdg.portal = {
enable = true; enable = true;
wlr.enable = true; wlr.enable = true;
@@ -7,6 +6,6 @@
xdg-desktop-portal-hyprland xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
]; ];
configPackages = [ pkgs.hyprland ]; configPackages = [pkgs.hyprland];
}; };
} }

View File

@@ -1,8 +1,6 @@
{ host, ... }: {host, ...}: let
let
inherit (import ../../hosts/${host}/variables.nix) keyboardLayout; inherit (import ../../hosts/${host}/variables.nix) keyboardLayout;
in in {
{
services.xserver = { services.xserver = {
enable = true; enable = true;
xkb = { xkb = {

View File

@@ -4,18 +4,16 @@
config, config,
... ...
}: }:
with lib; with lib; let
let
cfg = config.drivers.amdgpu; cfg = config.drivers.amdgpu;
in in {
{
options.drivers.amdgpu = { options.drivers.amdgpu = {
enable = mkEnableOption "Enable AMD Drivers"; enable = mkEnableOption "Enable AMD Drivers";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ]; systemd.tmpfiles.rules = ["L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"];
services.xserver.videoDrivers = [ "amdgpu" ]; services.xserver.videoDrivers = ["amdgpu"];
environment.systemPackages = with pkgs; [ rocmPackages.rocm-smi ]; environment.systemPackages = with pkgs; [rocmPackages.rocm-smi];
}; };
} }

View File

@@ -1,7 +1,4 @@
{ {...}: {
...
}:
{
imports = [ imports = [
./amd-drivers.nix ./amd-drivers.nix
./intel-drivers.nix ./intel-drivers.nix

View File

@@ -4,11 +4,9 @@
config, config,
... ...
}: }:
with lib; with lib; let
let
cfg = config.drivers.intel; cfg = config.drivers.intel;
in in {
{
options.drivers.intel = { options.drivers.intel = {
enable = mkEnableOption "Enable Intel Graphics Drivers"; enable = mkEnableOption "Enable Intel Graphics Drivers";
}; };

View File

@@ -4,14 +4,12 @@
config, config,
... ...
}: }:
with lib; with lib; let
let
cfg = config.local.hardware-clock; cfg = config.local.hardware-clock;
in in {
{
options.local.hardware-clock = { options.local.hardware-clock = {
enable = mkEnableOption "Change Hardware Clock To Local Time"; enable = mkEnableOption "Change Hardware Clock To Local Time";
}; };
config = mkIf cfg.enable { time.hardwareClockInLocalTime = true; }; config = mkIf cfg.enable {time.hardwareClockInLocalTime = true;};
} }

View File

@@ -4,18 +4,16 @@
pkgs, pkgs,
... ...
}: }:
with lib; with lib; let
let
cfg = config.drivers.nvidia; cfg = config.drivers.nvidia;
in in {
{
options.drivers.nvidia = { options.drivers.nvidia = {
enable = mkEnableOption "Enable Nvidia Drivers"; enable = mkEnableOption "Enable Nvidia Drivers";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.xserver.videoDrivers = [ "nvidia" ]; services.xserver.videoDrivers = ["nvidia"];
environment.systemPackages = with pkgs; [ nvidia-docker ]; environment.systemPackages = with pkgs; [nvidia-docker];
hardware = { hardware = {
nvidia-container-toolkit.enable = true; nvidia-container-toolkit.enable = true;
nvidia = { nvidia = {
@@ -43,7 +41,6 @@ in
}; };
}; };
} }
# Making nvidia docker toolkit work: # Making nvidia docker toolkit work:
# #
# sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml # sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
@@ -59,3 +56,4 @@ in
# EOF # EOF
# #
# docker run --device nvidia.com/gpu=all # docker run --device nvidia.com/gpu=all

View File

@@ -4,11 +4,9 @@
config, config,
... ...
}: }:
with lib; with lib; let
let
cfg = config.drivers.nvidia-prime; cfg = config.drivers.nvidia-prime;
in in {
{
options.drivers.nvidia-prime = { options.drivers.nvidia-prime = {
enable = mkEnableOption "Enable Nvidia Prime Hybrid GPU Offload"; enable = mkEnableOption "Enable Nvidia Prime Hybrid GPU Offload";
intelBusID = mkOption { intelBusID = mkOption {

View File

@@ -4,11 +4,9 @@
config, config,
... ...
}: }:
with lib; with lib; let
let
cfg = config.vm.guest-services; cfg = config.vm.guest-services;
in in {
{
options.vm.guest-services = { options.vm.guest-services = {
enable = mkEnableOption "Enable Virtual Machine Guest Services"; enable = mkEnableOption "Enable Virtual Machine Guest Services";
}; };

View File

@@ -1,5 +1,8 @@
{ pkgs, username, ... }:
{ {
pkgs,
username,
...
}: {
programs.anki = { programs.anki = {
enable = true; enable = true;
package = pkgs.anki; package = pkgs.anki;

View File

@@ -1,5 +1,8 @@
{ host, username, ... }:
{ {
host,
username,
...
}: {
programs.bash = { programs.bash = {
shellAliases = { shellAliases = {
# GarandOS aliases # GarandOS aliases

View File

@@ -2,8 +2,7 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
programs.bat = { programs.bat = {
enable = true; enable = true;
config = { config = {

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs.btop = { programs.btop = {
enable = true; enable = true;
package = pkgs.btop.override { package = pkgs.btop.override {

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs.chromium = { programs.chromium = {
enable = true; enable = true;
package = pkgs.ungoogled-chromium; package = pkgs.ungoogled-chromium;

View File

@@ -1,8 +1,6 @@
{ host, ... }: {host, ...}: let
let
inherit (import ../../hosts/${host}/variables.nix) waybarChoice; inherit (import ../../hosts/${host}/variables.nix) waybarChoice;
in in {
{
imports = [ imports = [
./fastfetch ./fastfetch
./hyprland ./hyprland

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
home.file.".config/.emoji".text = '' home.file.".config/.emoji".text = ''
😀 grinning face face smile happy joy :D grin 😀 grinning face face smile happy joy :D grin
😃 grinning face with big eyes face happy joy haha :D :) smile funny 😃 grinning face with big eyes face happy joy haha :D :) smile funny

View File

@@ -3,13 +3,11 @@
config, config,
lib, lib,
... ...
}: }: let
let
accent = "#" + config.lib.stylix.colors.base0D; accent = "#" + config.lib.stylix.colors.base0D;
foreground = "#" + config.lib.stylix.colors.base05; foreground = "#" + config.lib.stylix.colors.base05;
muted = "#" + config.lib.stylix.colors.base03; muted = "#" + config.lib.stylix.colors.base03;
in in {
{
programs.fzf = { programs.fzf = {
enable = true; enable = true;
enableBashIntegration = true; enableBashIntegration = true;

View File

@@ -1,8 +1,6 @@
{ host, ... }: {host, ...}: let
let
inherit (import ../../hosts/${host}/variables.nix) gitUsername gitEmail; inherit (import ../../hosts/${host}/variables.nix) gitUsername gitEmail;
in in {
{
programs.git = { programs.git = {
enable = true; enable = true;
settings = { settings = {

View File

@@ -1,6 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
gtk = { gtk = {
iconTheme = { iconTheme = {
name = "Papirus-Dark"; name = "Papirus-Dark";

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
animations = { animations = {
enabled = true; enabled = true;

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
# name "Dynamic" # name "Dynamic"
# credit https://github.com/mylinuxforwork/dotfiles # credit https://github.com/mylinuxforwork/dotfiles

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
# Name: END-4 # Name: END-4
# Credit: END-4 project https://github.com/end-4/dots-hyprland # Credit: END-4 project https://github.com/end-4/dots-hyprland

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
# name "moving" # name "moving"
# credit https://github.com/mylinuxforwork/dotfiles # credit https://github.com/mylinuxforwork/dotfiles

View File

@@ -1,9 +1,11 @@
{ host, username, ... }: {
let host,
username,
...
}: let
inherit (import ../../../hosts/${host}/variables.nix) browser terminal; inherit (import ../../../hosts/${host}/variables.nix) browser terminal;
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/"; desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
in in {
{
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
bind = [ bind = [
# ============================================================================= # =============================================================================

View File

@@ -1,8 +1,6 @@
{ host, ... }: {host, ...}: let
let
inherit (import ../../../hosts/${host}/variables.nix) animChoice; inherit (import ../../../hosts/${host}/variables.nix) animChoice;
in in {
{
imports = [ imports = [
animChoice animChoice
./binds.nix ./binds.nix

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
settings = { settings = {
env = [ env = [

View File

@@ -1,10 +1,9 @@
{ host, ... }: {host, ...}: let
let inherit
inherit (import ../../../hosts/${host}/variables.nix) (import ../../../hosts/${host}/variables.nix)
stylixImage stylixImage
; ;
in in {
{
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
exec-once = [ exec-once = [
"wl-paste --type text --watch cliphist store" # Saves text "wl-paste --type text --watch cliphist store" # Saves text

View File

@@ -1,6 +1,4 @@
{ ... }: _: {
{
services = { services = {
hypridle = { hypridle = {
enable = true; enable = true;

View File

@@ -3,11 +3,9 @@
config, config,
pkgs, pkgs,
... ...
}: }: let
let
inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout; inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout;
in in {
{
systemd.user.targets.hyprland-session.Unit.Wants = [ systemd.user.targets.hyprland-session.Unit.Wants = [
"xdg-desktop-autostart.target" "xdg-desktop-autostart.target"
]; ];
@@ -26,7 +24,7 @@ in
systemd = { systemd = {
enable = true; enable = true;
enableXdgAutostart = true; enableXdgAutostart = true;
variables = [ "--all" ]; variables = ["--all"];
}; };
xwayland = { xwayland = {
enable = true; enable = true;
@@ -68,8 +66,7 @@ in
gaps_out = 8; gaps_out = 8;
border_size = 2; border_size = 2;
resize_on_border = true; resize_on_border = true;
"col.active_border" = "col.active_border" = "rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
"rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
"col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})"; "col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})";
}; };
@@ -154,9 +151,7 @@ in
extraConfig = " extraConfig = "
monitor=,preferred,auto,auto monitor=,preferred,auto,auto
monitor=Virtual-1,1920x1080@60,auto,1 monitor=Virtual-1,1920x1080@60,auto,1
${ ${extraMonitorSettings}
extraMonitorSettings
}
# To enable blur on waybar uncomment the line below # To enable blur on waybar uncomment the line below
# Thanks to SchotjeChrisman # Thanks to SchotjeChrisman
#layerrule = blur,waybar #layerrule = blur,waybar

View File

@@ -1,5 +1,4 @@
{ username, ... }: {username, ...}: {
{
programs.hyprlock = { programs.hyprlock = {
enable = true; enable = true;
settings = { settings = {

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
home.file.".config/hypr/pyprland.toml".text = '' home.file.".config/hypr/pyprland.toml".text = ''
[pyprland] [pyprland]
plugins = [ plugins = [

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
services.kdeconnect = { services.kdeconnect = {
enable = true; enable = true;
indicator = true; indicator = true;

View File

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

View File

@@ -5,8 +5,7 @@
system, system,
host, host,
... ...
}: }: {
{
programs = { programs = {
librewolf = { librewolf = {
enable = true; enable = true;
@@ -61,12 +60,12 @@
force = true; force = true;
engines = { engines = {
"garand's-search" = { "garand's-search" = {
definedAliases = [ "@g" ]; definedAliases = ["@g"];
urls = [ { template = "https://search.garandplg.com/search?q={searchTerms}"; } ]; urls = [{template = "https://search.garandplg.com/search?q={searchTerms}";}];
suggestUrl = "https://search.garandplg.com/autocompleter?q={searchTerms}"; suggestUrl = "https://search.garandplg.com/autocompleter?q={searchTerms}";
}; };
"youtube" = { "youtube" = {
definedAliases = [ "@yt" ]; definedAliases = ["@yt"];
urls = [ urls = [
{ {
template = "https://www.youtube.com/results"; template = "https://www.youtube.com/results";
@@ -80,7 +79,7 @@
]; ];
}; };
"wikipedia-pl" = { "wikipedia-pl" = {
definedAliases = [ "@w" ]; definedAliases = ["@w"];
urls = [ urls = [
{ {
template = "https://pl.wikipedia.org/w/index.php"; template = "https://pl.wikipedia.org/w/index.php";
@@ -94,7 +93,7 @@
]; ];
}; };
"stackoverflow" = { "stackoverflow" = {
definedAliases = [ "@so" ]; definedAliases = ["@so"];
urls = [ urls = [
{ {
template = "https://stackoverflow.com/search"; template = "https://stackoverflow.com/search";
@@ -108,7 +107,7 @@
]; ];
}; };
"nix-packages" = { "nix-packages" = {
definedAliases = [ "@np" ]; definedAliases = ["@np"];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
urls = [ urls = [
{ {
@@ -123,7 +122,7 @@
]; ];
}; };
"nix-options" = { "nix-options" = {
definedAliases = [ "@no" ]; definedAliases = ["@no"];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
urls = [ urls = [
{ {
@@ -138,7 +137,7 @@
]; ];
}; };
"nix-wiki" = { "nix-wiki" = {
definedAliases = [ "@nw" ]; definedAliases = ["@nw"];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
urls = [ urls = [
{ {
@@ -153,7 +152,7 @@
]; ];
}; };
"home-manager-option" = { "home-manager-option" = {
definedAliases = [ "@hmo" ]; definedAliases = ["@hmo"];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
urls = [ urls = [
{ {
@@ -162,7 +161,7 @@
]; ];
}; };
"eneba" = { "eneba" = {
definedAliases = [ "@en" ]; definedAliases = ["@en"];
icon = "https://static.eneba.games/branding/v2/logoFull.svg"; icon = "https://static.eneba.games/branding/v2/logoFull.svg";
urls = [ urls = [
{ {
@@ -177,7 +176,7 @@
]; ];
}; };
"kinguin" = { "kinguin" = {
definedAliases = [ "@ki" ]; definedAliases = ["@ki"];
icon = "https://static.kinguin.net/media/images/other/kinguin-mobile-logo.svg"; icon = "https://static.kinguin.net/media/images/other/kinguin-mobile-logo.svg";
urls = [ urls = [
{ {
@@ -192,7 +191,7 @@
]; ];
}; };
"instant-gaming" = { "instant-gaming" = {
definedAliases = [ "@ig" ]; definedAliases = ["@ig"];
icon = "https://asset.brandfetch.io/idCbLj4uOg/idGS61T0FV.jpeg"; icon = "https://asset.brandfetch.io/idCbLj4uOg/idGS61T0FV.jpeg";
urls = [ urls = [
{ {
@@ -207,7 +206,7 @@
]; ];
}; };
"morele" = { "morele" = {
definedAliases = [ "@mo" ]; definedAliases = ["@mo"];
icon = "https://www.morele.net/static/img/shop/logo/image-logo-morele.svg"; icon = "https://www.morele.net/static/img/shop/logo/image-logo-morele.svg";
urls = [ urls = [
{ {
@@ -222,7 +221,7 @@
]; ];
}; };
"x-kom" = { "x-kom" = {
definedAliases = [ "@xk" ]; definedAliases = ["@xk"];
icon = "https://assets.x-kom.pl/public-spa/xkom/75062cb4b48a8510.svg"; icon = "https://assets.x-kom.pl/public-spa/xkom/75062cb4b48a8510.svg";
urls = [ urls = [
{ {
@@ -237,7 +236,7 @@
]; ];
}; };
"komputronik" = { "komputronik" = {
definedAliases = [ "@kp" ]; definedAliases = ["@kp"];
icon = "https://front.komputronik.pl/front-static/komputronik.Ceqagame-a.svg"; icon = "https://front.komputronik.pl/front-static/komputronik.Ceqagame-a.svg";
urls = [ urls = [
{ {
@@ -252,7 +251,7 @@
]; ];
}; };
"allegro" = { "allegro" = {
definedAliases = [ "@al" ]; definedAliases = ["@al"];
icon = ""; icon = "";
urls = [ urls = [
{ {

View File

@@ -1,10 +1,13 @@
{ pkgs, osConfig, ... }:
{ {
pkgs,
osConfig,
...
}: {
programs.lutris = { programs.lutris = {
enable = false; enable = false;
package = pkgs.lutris; package = pkgs.lutris;
protonPackages = [ pkgs.proton-ge-bin ]; protonPackages = [pkgs.proton-ge-bin];
winePackages = [ pkgs.wineWowPackages.waylandFull ]; winePackages = [pkgs.wineWowPackages.waylandFull];
defaultWinePackage = pkgs.wineWowPackages.waylandFull; defaultWinePackage = pkgs.wineWowPackages.waylandFull;
steamPackage = osConfig.programs.steam.package; steamPackage = osConfig.programs.steam.package;
}; };

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
services.nextcloud-client = { services.nextcloud-client = {
enable = true; enable = true;
startInBackground = true; startInBackground = true;

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs.obs-studio = { programs.obs-studio = {
enable = false; enable = false;
plugins = with pkgs.obs-studio-plugins; [ plugins = with pkgs.obs-studio-plugins; [

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs.onlyoffice = { programs.onlyoffice = {
enable = true; enable = true;
package = pkgs.onlyoffice-desktopeditors; package = pkgs.onlyoffice-desktopeditors;

View File

@@ -1,5 +1,4 @@
{ lib, ... }: {lib, ...}: {
{
qt = { qt = {
enable = true; enable = true;
platformTheme.name = lib.mkForce "qtct"; platformTheme.name = lib.mkForce "qtct";

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
home.file.".config/rofi/config-long.rasi".text = '' home.file.".config/rofi/config-long.rasi".text = ''
@import "~/.config/rofi/config.rasi" @import "~/.config/rofi/config.rasi"
* { * {

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
imports = [ imports = [
./config-long.nix ./config-long.nix
./rofi.nix ./rofi.nix

View File

@@ -2,8 +2,7 @@
pkgs, pkgs,
config, config,
... ...
}: }: {
{
programs = { programs = {
rofi = { rofi = {
enable = true; enable = true;
@@ -18,193 +17,191 @@
display-run = " Run"; display-run = " Run";
display-filebrowser = " File"; display-filebrowser = " File";
}; };
theme = theme = let
let inherit (config.lib.formats.rasi) mkLiteral;
inherit (config.lib.formats.rasi) mkLiteral; in {
in "*" = {
{ bg = mkLiteral "#${config.stylix.base16Scheme.base00}";
"*" = { bg-alt = mkLiteral "#${config.stylix.base16Scheme.base09}";
bg = mkLiteral "#${config.stylix.base16Scheme.base00}"; foreground = mkLiteral "#${config.stylix.base16Scheme.base01}";
bg-alt = mkLiteral "#${config.stylix.base16Scheme.base09}"; selected = mkLiteral "#${config.stylix.base16Scheme.base08}";
foreground = mkLiteral "#${config.stylix.base16Scheme.base01}"; active = mkLiteral "#${config.stylix.base16Scheme.base0B}";
selected = mkLiteral "#${config.stylix.base16Scheme.base08}"; text-selected = mkLiteral "#${config.stylix.base16Scheme.base00}";
active = mkLiteral "#${config.stylix.base16Scheme.base0B}"; text-color = mkLiteral "#${config.stylix.base16Scheme.base05}";
text-selected = mkLiteral "#${config.stylix.base16Scheme.base00}"; border-color = mkLiteral "#${config.stylix.base16Scheme.base0F}";
text-color = mkLiteral "#${config.stylix.base16Scheme.base05}"; urgent = mkLiteral "#${config.stylix.base16Scheme.base0E}";
border-color = mkLiteral "#${config.stylix.base16Scheme.base0F}";
urgent = mkLiteral "#${config.stylix.base16Scheme.base0E}";
};
"window" = {
transparency = "real";
width = mkLiteral "1000px";
location = mkLiteral "center";
anchor = mkLiteral "center";
fullscreen = false;
x-offset = mkLiteral "0px";
y-offset = mkLiteral "0px";
cursor = "default";
enabled = true;
border-radius = mkLiteral "15px";
background-color = mkLiteral "@bg";
};
"mainbox" = {
enabled = true;
spacing = mkLiteral "0px";
orientation = mkLiteral "horizontal";
children = map mkLiteral [
"imagebox"
"listbox"
];
background-color = mkLiteral "transparent";
};
"imagebox" = {
padding = mkLiteral "20px";
background-color = mkLiteral "transparent";
background-image = mkLiteral ''url("~/Pictures/Wallpapers/fire-nation.jpg", height)'';
orientation = mkLiteral "vertical";
children = map mkLiteral [
"inputbar"
"dummy"
"mode-switcher"
];
};
"listbox" = {
spacing = mkLiteral "20px";
padding = mkLiteral "20px";
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = map mkLiteral [
"message"
"listview"
];
};
"dummy" = {
background-color = mkLiteral "transparent";
};
"inputbar" = {
enabled = true;
spacing = mkLiteral "10px";
padding = mkLiteral "10px";
border-radius = mkLiteral "10px";
background-color = mkLiteral "@bg-alt";
text-color = mkLiteral "@foreground";
children = map mkLiteral [
"textbox-prompt-colon"
"entry"
];
};
"textbox-prompt-colon" = {
enabled = true;
expand = false;
str = "";
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
"entry" = {
enabled = true;
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
cursor = mkLiteral "text";
placeholder = "Search";
placeholder-color = mkLiteral "inherit";
};
"mode-switcher" = {
enabled = true;
spacing = mkLiteral "20px";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@foreground";
};
"button" = {
padding = mkLiteral "15px";
border-radius = mkLiteral "10px";
background-color = mkLiteral "@bg-alt";
text-color = mkLiteral "inherit";
cursor = mkLiteral "pointer";
};
"button selected" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@foreground";
};
"listview" = {
enabled = true;
columns = 1;
lines = 8;
cycle = true;
dynamic = true;
scrollbar = false;
layout = mkLiteral "vertical";
reverse = false;
fixed-height = true;
fixed-columns = true;
spacing = mkLiteral "10px";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@foreground";
cursor = "default";
};
"element" = {
enabled = true;
spacing = mkLiteral "15px";
padding = mkLiteral "8px";
border-radius = mkLiteral "10px";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@text-color";
cursor = mkLiteral "pointer";
};
"element normal.normal" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "@text-color";
};
"element normal.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-color";
};
"element normal.active" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "@text-color";
};
"element selected.normal" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@foreground";
};
"element selected.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element selected.active" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
size = mkLiteral "36px";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"message" = {
background-color = mkLiteral "transparent";
};
"textbox" = {
padding = mkLiteral "15px";
border-radius = mkLiteral "10px";
background-color = mkLiteral "@bg-alt";
text-color = mkLiteral "@foreground";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"error-message" = {
padding = mkLiteral "15px";
border-radius = mkLiteral "20px";
background-color = mkLiteral "@bg";
text-color = mkLiteral "@foreground";
};
}; };
"window" = {
transparency = "real";
width = mkLiteral "1000px";
location = mkLiteral "center";
anchor = mkLiteral "center";
fullscreen = false;
x-offset = mkLiteral "0px";
y-offset = mkLiteral "0px";
cursor = "default";
enabled = true;
border-radius = mkLiteral "15px";
background-color = mkLiteral "@bg";
};
"mainbox" = {
enabled = true;
spacing = mkLiteral "0px";
orientation = mkLiteral "horizontal";
children = map mkLiteral [
"imagebox"
"listbox"
];
background-color = mkLiteral "transparent";
};
"imagebox" = {
padding = mkLiteral "20px";
background-color = mkLiteral "transparent";
background-image = mkLiteral ''url("~/Pictures/Wallpapers/fire-nation.jpg", height)'';
orientation = mkLiteral "vertical";
children = map mkLiteral [
"inputbar"
"dummy"
"mode-switcher"
];
};
"listbox" = {
spacing = mkLiteral "20px";
padding = mkLiteral "20px";
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = map mkLiteral [
"message"
"listview"
];
};
"dummy" = {
background-color = mkLiteral "transparent";
};
"inputbar" = {
enabled = true;
spacing = mkLiteral "10px";
padding = mkLiteral "10px";
border-radius = mkLiteral "10px";
background-color = mkLiteral "@bg-alt";
text-color = mkLiteral "@foreground";
children = map mkLiteral [
"textbox-prompt-colon"
"entry"
];
};
"textbox-prompt-colon" = {
enabled = true;
expand = false;
str = "";
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
"entry" = {
enabled = true;
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
cursor = mkLiteral "text";
placeholder = "Search";
placeholder-color = mkLiteral "inherit";
};
"mode-switcher" = {
enabled = true;
spacing = mkLiteral "20px";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@foreground";
};
"button" = {
padding = mkLiteral "15px";
border-radius = mkLiteral "10px";
background-color = mkLiteral "@bg-alt";
text-color = mkLiteral "inherit";
cursor = mkLiteral "pointer";
};
"button selected" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@foreground";
};
"listview" = {
enabled = true;
columns = 1;
lines = 8;
cycle = true;
dynamic = true;
scrollbar = false;
layout = mkLiteral "vertical";
reverse = false;
fixed-height = true;
fixed-columns = true;
spacing = mkLiteral "10px";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@foreground";
cursor = "default";
};
"element" = {
enabled = true;
spacing = mkLiteral "15px";
padding = mkLiteral "8px";
border-radius = mkLiteral "10px";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@text-color";
cursor = mkLiteral "pointer";
};
"element normal.normal" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "@text-color";
};
"element normal.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-color";
};
"element normal.active" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "@text-color";
};
"element selected.normal" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@foreground";
};
"element selected.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element selected.active" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
size = mkLiteral "36px";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"message" = {
background-color = mkLiteral "transparent";
};
"textbox" = {
padding = mkLiteral "15px";
border-radius = mkLiteral "10px";
background-color = mkLiteral "@bg-alt";
text-color = mkLiteral "@foreground";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"error-message" = {
padding = mkLiteral "15px";
border-radius = mkLiteral "20px";
background-color = mkLiteral "@bg";
text-color = mkLiteral "@foreground";
};
};
}; };
}; };
} }

View File

@@ -2,8 +2,7 @@
pkgs, pkgs,
username, username,
... ...
}: }: {
{
home.packages = with pkgs; [ home.packages = with pkgs; [
# hyprland # hyprland
swww swww
@@ -17,19 +16,19 @@
# pyprland # pyprland
pyprland pyprland
(import ./emopicker9000.nix { inherit pkgs; }) (import ./emopicker9000.nix {inherit pkgs;})
(import ./hm-find.nix { inherit pkgs; }) (import ./hm-find.nix {inherit pkgs;})
(import ./keybinds.nix { inherit pkgs username; }) (import ./keybinds.nix {inherit pkgs username;})
(import ./note.nix { inherit pkgs; }) (import ./note.nix {inherit pkgs;})
(import ./note-from-clipboard.nix { inherit pkgs; }) (import ./note-from-clipboard.nix {inherit pkgs;})
(import ./nvidia-offload.nix { inherit pkgs; }) (import ./nvidia-offload.nix {inherit pkgs;})
(import ./rofi-launcher.nix { inherit pkgs; }) (import ./rofi-launcher.nix {inherit pkgs;})
(import ./screenshootin.nix { inherit pkgs; }) (import ./screenshootin.nix {inherit pkgs;})
(import ./task-waybar.nix { inherit pkgs; }) (import ./task-waybar.nix {inherit pkgs;})
(import ./wallsetter.nix { (import ./wallsetter.nix {
inherit pkgs; inherit pkgs;
inherit username; inherit username;
}) })
(import ./web-search.nix { inherit pkgs; }) (import ./web-search.nix {inherit pkgs;})
]; ];
} }

View File

@@ -1,4 +1,4 @@
{ pkgs }: {pkgs}:
pkgs.writeShellScriptBin "emopicker9000" '' pkgs.writeShellScriptBin "emopicker9000" ''
# check if rofi is already running # check if rofi is already running
if pidof rofi > /dev/null; then if pidof rofi > /dev/null; then

View File

@@ -1,4 +1,4 @@
{ pkgs }: {pkgs}:
pkgs.writeShellScriptBin "hm-find" '' pkgs.writeShellScriptBin "hm-find" ''
#!/usr/bin/env bash #!/usr/bin/env bash

View File

@@ -1,29 +1,32 @@
{ pkgs, username, ... }: {
let pkgs,
username,
...
}: let
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/"; desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
in in
pkgs.writeShellScriptBin "list-keybinds" '' pkgs.writeShellScriptBin "list-keybinds" ''
# check if rofi is already running # check if rofi is already running
if pidof rofi > /dev/null; then if pidof rofi > /dev/null; then
pkill rofi pkill rofi
fi fi
msg=' = Windows/Super/CAPS LOCK (Enter nie wykonuje skrótu)' msg=' = Windows/Super/CAPS LOCK (Enter nie wykonuje skrótu)'
keybinds=$(cat ~/.config/hypr/hyprland.conf | grep -E '^bind') keybinds=$(cat ~/.config/hypr/hyprland.conf | grep -E '^bind')
# replace $modifier with SUPER and clean up paths # replace $modifier with SUPER and clean up paths
display_keybinds=$(echo "$keybinds" | sed 's/\$modifier//g' | sed 's|${desktopEntriesPath}/||g') display_keybinds=$(echo "$keybinds" | sed 's/\$modifier//g' | sed 's|${desktopEntriesPath}/||g')
# remove "bind=" and "bindm=" prefixes # remove "bind=" and "bindm=" prefixes
display_keybinds=$(echo "$display_keybinds" | sed 's/^bind=//' | sed 's/^bindm=/🖱/') display_keybinds=$(echo "$display_keybinds" | sed 's/^bind=//' | sed 's/^bindm=/🖱/')
# add + before CONTROL, SHIFT, ALT when they appear after removed $modifier # add + before CONTROL, SHIFT, ALT when they appear after removed $modifier
display_keybinds=$(echo "$display_keybinds" | sed 's/ CONTROL/ + CONTROL/g' | sed 's/ SHIFT/ + SHIFT/g' | sed 's/ ALT/ + ALT/g') display_keybinds=$(echo "$display_keybinds" | sed 's/ CONTROL/ + CONTROL/g' | sed 's/ SHIFT/ + SHIFT/g' | sed 's/ ALT/ + ALT/g')
# replace commas: first comma -> " +", second comma -> " =", remaining commas -> " ->" # replace commas: first comma -> " +", second comma -> " =", remaining commas -> " ->"
display_keybinds=$(echo "$display_keybinds" | sed 's/,/ +/1' | sed 's/,/ =/1' | sed 's/,/ ->/g') display_keybinds=$(echo "$display_keybinds" | sed 's/,/ +/1' | sed 's/,/ =/1' | sed 's/,/ ->/g')
# use rofi to display the keybinds with the modified content # use rofi to display the keybinds with the modified content
echo "$display_keybinds" | rofi -dmenu -i -config ~/.config/rofi/config-long.rasi -mesg "$msg" echo "$display_keybinds" | rofi -dmenu -i -config ~/.config/rofi/config-long.rasi -mesg "$msg"
'' ''

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: {pkgs, ...}:
pkgs.writeShellScriptBin "note-from-clipboard" '' pkgs.writeShellScriptBin "note-from-clipboard" ''
#!/usr/bin/env bash #!/usr/bin/env bash

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: {pkgs, ...}:
pkgs.writeShellScriptBin "note" '' pkgs.writeShellScriptBin "note" ''
# Colors for nice output # Colors for nice output

View File

@@ -1,5 +1,4 @@
{ pkgs }: {pkgs}:
pkgs.writeShellScriptBin "nvidia-offload" '' pkgs.writeShellScriptBin "nvidia-offload" ''
export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD=1
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0

View File

@@ -1,4 +1,4 @@
{ pkgs }: {pkgs}:
pkgs.writeShellScriptBin "rofi-launcher" '' pkgs.writeShellScriptBin "rofi-launcher" ''
# check if rofi is already running # check if rofi is already running
if pidof rofi > /dev/null; then if pidof rofi > /dev/null; then

View File

@@ -1,5 +1,4 @@
{ pkgs }: {pkgs}:
pkgs.writeShellScriptBin "screenshootin" '' pkgs.writeShellScriptBin "screenshootin" ''
grim -g "$(slurp)" - | swappy -f - grim -g "$(slurp)" - | swappy -f -
'' ''

View File

@@ -1,5 +1,4 @@
{ pkgs }: {pkgs}:
pkgs.writeShellScriptBin "task-waybar" '' pkgs.writeShellScriptBin "task-waybar" ''
sleep 0.1 sleep 0.1
${pkgs.swaynotificationcenter}/bin/swaync-client -t & ${pkgs.swaynotificationcenter}/bin/swaync-client -t &

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}:
pkgs.writeShellScriptBin "wallsetter" '' pkgs.writeShellScriptBin "wallsetter" ''
TIMEOUT=720 TIMEOUT=720

View File

@@ -1,4 +1,4 @@
{ pkgs }: {pkgs}:
pkgs.writeShellScriptBin "web-search" '' pkgs.writeShellScriptBin "web-search" ''
# check if rofi is already running # check if rofi is already running
if pidof rofi > /dev/null; then if pidof rofi > /dev/null; then

View File

@@ -2,11 +2,9 @@
config, config,
lib, lib,
... ...
}: }: let
let
accent = "#${config.lib.stylix.colors.base0D}"; accent = "#${config.lib.stylix.colors.base0D}";
in in {
{
programs.starship = { programs.starship = {
enable = true; enable = true;
settings = { settings = {
@@ -107,7 +105,7 @@ in
"docker-compose.yaml" "docker-compose.yaml"
"Dockerfile" "Dockerfile"
]; ];
detect_extensions = [ "Dockerfile" ]; detect_extensions = ["Dockerfile"];
}; };
cmd_duration = { cmd_duration = {

View File

@@ -1,7 +1,6 @@
{ host, ... }: {host, ...}: {
{
stylix.targets = { stylix.targets = {
librewolf.profileNames = [ "${host}" ]; librewolf.profileNames = ["${host}"];
waybar.enable = false; waybar.enable = false;
rofi.enable = false; rofi.enable = false;
hyprland.enable = false; hyprland.enable = false;

View File

@@ -1,5 +1,4 @@
{ username, ... }: {username, ...}: {
{
home.file = { home.file = {
".config/swappy/config".text = '' ".config/swappy/config".text = ''
[Default] [Default]

View File

@@ -1,5 +1,4 @@
{ config, ... }: {config, ...}: {
{
services.swaync = { services.swaync = {
enable = true; enable = true;
settings = { settings = {

View File

@@ -1,5 +1,4 @@
{ ... }: _: {
{
programs.tealdeer = { programs.tealdeer = {
enable = true; enable = true;
settings = { settings = {

View File

@@ -1,10 +1,8 @@
{ ... }: _: {
{
dconf.settings = { dconf.settings = {
"org/virt-manager/virt-manager/connections" = { "org/virt-manager/virt-manager/connections" = {
autoconnect = [ "qemu:///system" ]; autoconnect = ["qemu:///system"];
uris = [ "qemu:///system" ]; uris = ["qemu:///system"];
}; };
}; };
} }

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
programs.vscode = { programs.vscode = {
@@ -7,8 +6,7 @@
package = pkgs.vscodium; package = pkgs.vscodium;
profiles = { profiles = {
default = { default = {
extensions = extensions = with pkgs.vscode-extensions;
with pkgs.vscode-extensions;
[ [
batisteo.vscode-django batisteo.vscode-django
bradlc.vscode-tailwindcss bradlc.vscode-tailwindcss
@@ -409,26 +407,22 @@
{ {
"key" = "tab"; "key" = "tab";
"command" = "-editor.emmet.action.expandAbbreviation"; "command" = "-editor.emmet.action.expandAbbreviation";
"when" = "when" = "config.emmet.triggerExpansionOnTab && editorTextFocus && !editorReadonly && !editorTabMovesFocus";
"config.emmet.triggerExpansionOnTab && editorTextFocus && !editorReadonly && !editorTabMovesFocus";
} }
{ {
"key" = "tab"; "key" = "tab";
"command" = "-editor.action.inlineSuggest.jump"; "command" = "-editor.action.inlineSuggest.jump";
"when" = "when" = "inlineEditIsVisible && tabShouldJumpToInlineEdit && !editorHoverFocused && !editorTabMovesFocus && !suggestWidgetVisible";
"inlineEditIsVisible && tabShouldJumpToInlineEdit && !editorHoverFocused && !editorTabMovesFocus && !suggestWidgetVisible";
} }
{ {
"key" = "tab"; "key" = "tab";
"command" = "-Alignment Preserving Indent"; "command" = "-Alignment Preserving Indent";
"when" = "when" = "editorTextFocus && !editorReadOnly && !editorTabMovesFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion != 'on'";
"editorTextFocus && !editorReadOnly && !editorTabMovesFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion != 'on'";
} }
{ {
"key" = "tab"; "key" = "tab";
"command" = "-Alignment Preserving Indent"; "command" = "-Alignment Preserving Indent";
"when" = "when" = "editorTextFocus && !editorReadOnly && !editorTabMovesFocus && !hasOtherSuggestions && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'";
"editorTextFocus && !editorReadOnly && !editorTabMovesFocus && !hasOtherSuggestions && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'";
} }
]; ];
}; };

View File

@@ -4,273 +4,274 @@
host, host,
config, config,
... ...
}: }: let
let
betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)"; betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
inherit (import ../../../hosts/${host}/variables.nix) clock24h; inherit (import ../../../hosts/${host}/variables.nix) clock24h;
in in
with lib; with lib; {
{ # Configure & Theme Waybar
# Configure & Theme Waybar programs.waybar = {
programs.waybar = { enable = true;
enable = true; package = pkgs.waybar;
package = pkgs.waybar; settings = [
settings = [ {
{ layer = "top";
layer = "top"; position = "top";
position = "top"; modules-center = ["hyprland/workspaces"];
modules-center = [ "hyprland/workspaces" ]; modules-left = [
modules-left = [ "custom/startmenu"
"custom/startmenu" "hyprland/window"
"hyprland/window" "pulseaudio"
"pulseaudio" "cpu"
"cpu" "memory"
"memory" "idle_inhibitor"
"idle_inhibitor" ];
]; modules-right = [
modules-right = [ "custom/hyprbindings"
"custom/hyprbindings" "custom/notification"
"custom/notification" "custom/exit"
"custom/exit" "battery"
"battery" "tray"
"tray" "clock"
"clock" ];
];
"hyprland/workspaces" = { "hyprland/workspaces" = {
format = "{name}"; format = "{name}";
format-icons = { format-icons = {
default = " "; default = " ";
active = " "; active = " ";
urgent = " "; urgent = " ";
};
on-scroll-up = "hyprctl dispatch workspace e+1";
on-scroll-down = "hyprctl dispatch workspace e-1";
}; };
on-scroll-up = "hyprctl dispatch workspace e+1"; "clock" = {
on-scroll-down = "hyprctl dispatch workspace e-1"; format =
}; if clock24h == true
"clock" = { then '' {:L%H:%M}''
format = if clock24h == true then '' {:L%H:%M}'' else '' {:L%I:%M %p}''; else '' {:L%I:%M %p}'';
tooltip = true; tooltip = true;
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>"; tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
};
"hyprland/window" = {
max-length = 22;
separate-outputs = false;
rewrite = {
"" = " 🙈 No Windows? ";
}; };
}; "hyprland/window" = {
"memory" = { max-length = 22;
interval = 5; separate-outputs = false;
format = " {}%"; rewrite = {
tooltip = true; "" = " 🙈 No Windows? ";
}; };
"cpu" = { };
interval = 5; "memory" = {
format = " {usage:2}%"; interval = 5;
tooltip = true; format = " {}%";
}; tooltip = true;
"disk" = { };
format = " {free}"; "cpu" = {
tooltip = true; interval = 5;
}; format = " {usage:2}%";
"network" = { tooltip = true;
format-icons = [ };
"󰤯" "disk" = {
"󰤟" format = " {free}";
"󰤢" tooltip = true;
"󰤥" };
"󰤨" "network" = {
]; format-icons = [
format-ethernet = " {bandwidthDownOctets}"; "󰤯"
format-wifi = "{icon} {signalStrength}%"; "󰤟"
format-disconnected = "󰤮"; "󰤢"
tooltip = false; "󰤥"
}; "󰤨"
"tray" = {
spacing = 12;
};
"pulseaudio" = {
format = "{icon} {volume}% {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {format_source}";
format-muted = " {format_source}";
format-source = " {volume}%";
format-source-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [
""
""
""
]; ];
format-ethernet = " {bandwidthDownOctets}";
format-wifi = "{icon} {signalStrength}%";
format-disconnected = "󰤮";
tooltip = false;
}; };
on-click = "sleep 0.1 && pavucontrol"; "tray" = {
}; spacing = 12;
"custom/exit" = {
tooltip = false;
format = "";
on-click = "sleep 0.1 && wlogout";
};
"custom/startmenu" = {
tooltip = false;
format = "";
# exec = "rofi -show drun";
on-click = "sleep 0.1 && rofi-launcher";
};
"custom/hyprbindings" = {
tooltip = false;
format = "󱕴";
on-click = "sleep 0.1 && list-keybinds";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
}; };
tooltip = "true"; "pulseaudio" = {
}; format = "{icon} {volume}% {format_source}";
"custom/notification" = { format-bluetooth = "{volume}% {icon} {format_source}";
tooltip = false; format-bluetooth-muted = " {icon} {format_source}";
format = "{icon} {}"; format-muted = " {format_source}";
format-icons = { format-source = " {volume}%";
notification = "<span foreground='red'><sup></sup></span>"; format-source-muted = "";
none = ""; format-icons = {
dnd-notification = "<span foreground='red'><sup></sup></span>"; headphone = "";
dnd-none = ""; hands-free = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>"; headset = "";
inhibited-none = ""; phone = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>"; portable = "";
dnd-inhibited-none = ""; car = "";
default = [
""
""
""
];
};
on-click = "sleep 0.1 && pavucontrol";
}; };
return-type = "json"; "custom/exit" = {
exec-if = "which swaync-client"; tooltip = false;
exec = "swaync-client -swb"; format = "";
on-click = "sleep 0.1 && task-waybar"; on-click = "sleep 0.1 && wlogout";
escape = true; };
}; "custom/startmenu" = {
"battery" = { tooltip = false;
states = { format = "";
warning = 30; # exec = "rofi -show drun";
critical = 15; on-click = "sleep 0.1 && rofi-launcher";
};
"custom/hyprbindings" = {
tooltip = false;
format = "󱕴";
on-click = "sleep 0.1 && list-keybinds";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
};
tooltip = "true";
};
"custom/notification" = {
tooltip = false;
format = "{icon} {}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = "";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = "";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "sleep 0.1 && task-waybar";
escape = true;
};
"battery" = {
states = {
warning = 30;
critical = 15;
};
format = "{icon} {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = "󱘖 {capacity}%";
format-icons = [
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
on-click = "";
tooltip = false;
}; };
format = "{icon} {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = "󱘖 {capacity}%";
format-icons = [
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
on-click = "";
tooltip = false;
};
}
];
style = concatStrings [
''
* {
font-family: JetBrainsMono Nerd Font Mono;
font-size: 16px;
border-radius: 0px;
border: none;
min-height: 0px;
} }
window#waybar { ];
background: rgba(0,0,0,0); style = concatStrings [
} ''
#workspaces { * {
color: #${config.lib.stylix.colors.base00}; font-family: JetBrainsMono Nerd Font Mono;
background: #${config.lib.stylix.colors.base01}; font-size: 16px;
margin: 4px 4px; border-radius: 0px;
padding: 5px 5px; border: none;
border-radius: 16px; min-height: 0px;
} }
#workspaces button { window#waybar {
font-weight: bold; background: rgba(0,0,0,0);
padding: 0px 5px; }
margin: 0px 3px; #workspaces {
border-radius: 16px; color: #${config.lib.stylix.colors.base00};
color: #${config.lib.stylix.colors.base00}; background: #${config.lib.stylix.colors.base01};
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); margin: 4px 4px;
opacity: 0.5; padding: 5px 5px;
transition: ${betterTransition}; border-radius: 16px;
} }
#workspaces button.active { #workspaces button {
font-weight: bold; font-weight: bold;
padding: 0px 5px; padding: 0px 5px;
margin: 0px 3px; margin: 0px 3px;
border-radius: 16px; border-radius: 16px;
color: #${config.lib.stylix.colors.base00}; color: #${config.lib.stylix.colors.base00};
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
transition: ${betterTransition}; opacity: 0.5;
opacity: 1.0; transition: ${betterTransition};
min-width: 40px; }
} #workspaces button.active {
#workspaces button:hover { font-weight: bold;
font-weight: bold; padding: 0px 5px;
border-radius: 16px; margin: 0px 3px;
color: #${config.lib.stylix.colors.base00}; border-radius: 16px;
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); color: #${config.lib.stylix.colors.base00};
opacity: 0.8; background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
transition: ${betterTransition}; transition: ${betterTransition};
} opacity: 1.0;
tooltip { min-width: 40px;
background: #${config.lib.stylix.colors.base00}; }
border: 1px solid #${config.lib.stylix.colors.base08}; #workspaces button:hover {
border-radius: 12px; font-weight: bold;
} border-radius: 16px;
tooltip label { color: #${config.lib.stylix.colors.base00};
color: #${config.lib.stylix.colors.base08}; background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
} opacity: 0.8;
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor { transition: ${betterTransition};
font-weight: bold; }
margin: 4px 0px; tooltip {
margin-left: 7px; background: #${config.lib.stylix.colors.base00};
padding: 0px 18px; border: 1px solid #${config.lib.stylix.colors.base08};
background: #${config.lib.stylix.colors.base04}; border-radius: 12px;
color: #${config.lib.stylix.colors.base00}; }
border-radius: 24px 10px 24px 10px; tooltip label {
} color: #${config.lib.stylix.colors.base08};
#custom-startmenu { }
color: #${config.lib.stylix.colors.base0B}; #window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
background: #${config.lib.stylix.colors.base02}; font-weight: bold;
font-size: 28px; margin: 4px 0px;
margin: 0px; margin-left: 7px;
padding: 0px 30px 0px 15px; padding: 0px 18px;
border-radius: 0px 0px 40px 0px; background: #${config.lib.stylix.colors.base04};
} color: #${config.lib.stylix.colors.base00};
#custom-hyprbindings, #network, #battery, border-radius: 24px 10px 24px 10px;
#custom-notification, #tray, #custom-exit { }
font-weight: bold; #custom-startmenu {
background: #${config.lib.stylix.colors.base0F}; color: #${config.lib.stylix.colors.base0B};
color: #${config.lib.stylix.colors.base00}; background: #${config.lib.stylix.colors.base02};
margin: 4px 0px; font-size: 28px;
margin-right: 7px; margin: 0px;
border-radius: 10px 24px 10px 24px; padding: 0px 30px 0px 15px;
padding: 0px 18px; border-radius: 0px 0px 40px 0px;
} }
#clock { #custom-hyprbindings, #network, #battery,
font-weight: bold; #custom-notification, #tray, #custom-exit {
color: #0D0E15; font-weight: bold;
background: linear-gradient(90deg, #${config.lib.stylix.colors.base0E}, #${config.lib.stylix.colors.base0C}); background: #${config.lib.stylix.colors.base0F};
margin: 0px; color: #${config.lib.stylix.colors.base00};
padding: 0px 15px 0px 30px; margin: 4px 0px;
border-radius: 0px 0px 0px 40px; margin-right: 7px;
} border-radius: 10px 24px 10px 24px;
'' padding: 0px 18px;
]; }
}; #clock {
} font-weight: bold;
color: #0D0E15;
background: linear-gradient(90deg, #${config.lib.stylix.colors.base0E}, #${config.lib.stylix.colors.base0C});
margin: 0px;
padding: 0px 15px 0px 30px;
border-radius: 0px 0px 0px 40px;
}
''
];
};
}

View File

@@ -2,8 +2,7 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: let
let
terminal = "kitty"; terminal = "kitty";
base00 = "0F1419"; base00 = "0F1419";
base01 = "131721"; base01 = "131721";
@@ -20,368 +19,367 @@ let
base0E = "D2A6FF"; base0E = "D2A6FF";
base0F = "E6B673"; base0F = "E6B673";
in in
with lib; with lib; {
{ # Configure & Theme Waybar
# Configure & Theme Waybar programs.waybar = {
programs.waybar = { enable = true;
enable = true; package = pkgs.waybar;
package = pkgs.waybar; settings = [
settings = [ {
{ layer = "top";
layer = "top"; position = "top";
position = "top";
modules-left = [ modules-left = [
"custom/startmenu" "custom/startmenu"
"tray" "tray"
"hyprland/window" "hyprland/window"
];
modules-center = [ "hyprland/workspaces" ];
modules-right = [
"idle_inhibitor"
"custom/notification"
"pulseaudio"
"battery"
"clock"
"custom/exit"
];
"hyprland/workspaces" = {
format = "{name}";
format-icons = {
default = " ";
active = " ";
urgent = " ";
};
on-scroll-up = "hyprctl dispatch workspace e+1";
on-scroll-down = "hyprctl dispatch workspace e-1";
};
"clock" = {
format = '' {:%H:%M}'';
# ''{: %I:%M %p}'';
tooltip = true;
tooltip-format = "<big>{:%A, %d.%B %Y }</big><tt><small>{calendar}</small></tt>";
};
"hyprland/window" = {
max-length = 60;
separate-outputs = false;
};
"memory" = {
interval = 5;
format = " {}%";
tooltip = true;
on-click = "${terminal} -e btop";
};
"cpu" = {
interval = 5;
format = " {usage:2}%";
tooltip = true;
on-click = "${terminal} -e btop";
};
"disk" = {
format = " {free}";
tooltip = true;
# Not working with garandos window open then closes
#on-click = "${terminal} -e sh -c df -h ; read";
};
"network" = {
format-icons = [
"󰤯"
"󰤟"
"󰤢"
"󰤥"
"󰤨"
]; ];
format-ethernet = " {bandwidthDownBits}"; modules-center = ["hyprland/workspaces"];
format-wifi = " {bandwidthDownBits}"; modules-right = [
format-disconnected = "󰤮"; "idle_inhibitor"
tooltip = false; "custom/notification"
on-click = "${terminal} -e btop"; "pulseaudio"
}; "battery"
"tray" = { "clock"
spacing = 12; "custom/exit"
}; ];
"pulseaudio" = {
format = "{icon} {volume}% {format_source}"; "hyprland/workspaces" = {
format-bluetooth = "{volume}% {icon} {format_source}"; format = "{name}";
format-bluetooth-muted = " {icon} {format_source}"; format-icons = {
format-muted = " {format_source}"; default = " ";
format-source = " {volume}%"; active = " ";
format-source-muted = ""; urgent = " ";
format-icons = { };
headphone = ""; on-scroll-up = "hyprctl dispatch workspace e+1";
hands-free = ""; on-scroll-down = "hyprctl dispatch workspace e-1";
headset = ""; };
phone = ""; "clock" = {
portable = ""; format = '' {:%H:%M}'';
car = ""; # ''{: %I:%M %p}'';
default = [ tooltip = true;
"" tooltip-format = "<big>{:%A, %d.%B %Y }</big><tt><small>{calendar}</small></tt>";
"" };
"" "hyprland/window" = {
max-length = 60;
separate-outputs = false;
};
"memory" = {
interval = 5;
format = " {}%";
tooltip = true;
on-click = "${terminal} -e btop";
};
"cpu" = {
interval = 5;
format = " {usage:2}%";
tooltip = true;
on-click = "${terminal} -e btop";
};
"disk" = {
format = " {free}";
tooltip = true;
# Not working with garandos window open then closes
#on-click = "${terminal} -e sh -c df -h ; read";
};
"network" = {
format-icons = [
"󰤯"
"󰤟"
"󰤢"
"󰤥"
"󰤨"
]; ];
format-ethernet = " {bandwidthDownBits}";
format-wifi = " {bandwidthDownBits}";
format-disconnected = "󰤮";
tooltip = false;
on-click = "${terminal} -e btop";
}; };
on-click = "pavucontrol"; "tray" = {
}; spacing = 12;
"custom/exit" = {
tooltip = false;
format = "";
on-click = "sleep 0.1 && wlogout";
};
"custom/startmenu" = {
tooltip = false;
format = " ";
# exec = "rofi -show drun";
on-click = "rofi -show drun";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = " ";
deactivated = " ";
}; };
tooltip = "true"; "pulseaudio" = {
}; format = "{icon} {volume}% {format_source}";
"custom/notification" = { format-bluetooth = "{volume}% {icon} {format_source}";
tooltip = false; format-bluetooth-muted = " {icon} {format_source}";
format = "{icon} {}"; format-muted = " {format_source}";
format-icons = { format-source = " {volume}%";
notification = "<span foreground='red'><sup></sup></span>"; format-source-muted = "";
none = ""; format-icons = {
dnd-notification = "<span foreground='red'><sup></sup></span>"; headphone = "";
dnd-none = ""; hands-free = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>"; headset = "";
inhibited-none = ""; phone = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>"; portable = "";
dnd-inhibited-none = ""; car = "";
default = [
""
""
""
];
};
on-click = "pavucontrol";
}; };
return-type = "json"; "custom/exit" = {
exec-if = "which swaync-client"; tooltip = false;
exec = "swaync-client -swb"; format = "";
on-click = "swaync-client -t"; on-click = "sleep 0.1 && wlogout";
escape = true; };
}; "custom/startmenu" = {
"battery" = { tooltip = false;
states = { format = " ";
warning = 30; # exec = "rofi -show drun";
critical = 15; on-click = "rofi -show drun";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = " ";
deactivated = " ";
};
tooltip = "true";
};
"custom/notification" = {
tooltip = false;
format = "{icon} {}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = "";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = "";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "swaync-client -t";
escape = true;
};
"battery" = {
states = {
warning = 30;
critical = 15;
};
format = "{icon} {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = "󱘖 {capacity}%";
format-icons = [
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
on-click = "";
tooltip = false;
}; };
format = "{icon} {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = "󱘖 {capacity}%";
format-icons = [
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
on-click = "";
tooltip = false;
};
}
];
style = concatStrings [
''
* {
font-size: 16px;
font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif;
font-weight: bold;
} }
window#waybar { ];
/* style = concatStrings [
''
* {
font-size: 16px;
font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif;
font-weight: bold;
}
window#waybar {
/*
background-color: rgba(26,27,38,0);
border-bottom: 1px solid rgba(26,27,38,0);
border-radius: 0px;
color: #${base0F};
*/
background-color: rgba(26,27,38,0); background-color: rgba(26,27,38,0);
border-bottom: 1px solid rgba(26,27,38,0); border-bottom: 1px solid rgba(26,27,38,0);
border-radius: 0px; border-radius: 0px;
color: #${base0F}; color: #${base0F};
*/ }
#workspaces {
background-color: rgba(26,27,38,0); /*
border-bottom: 1px solid rgba(26,27,38,0); Eternal
border-radius: 0px; background: linear-gradient(180deg, #${base00}, #${base01});
color: #${base0F}; margin: 5px 5px 5px 0px;
} padding: 0px 10px;
#workspaces { border-radius: 0px 15px 15px 0px;
/* border: 0px;
Eternal font-style: normal;
background: linear-gradient(180deg, #${base00}, #${base01}); color: #${base00};
margin: 5px 5px 5px 0px; */
padding: 0px 10px; background: linear-gradient(45deg, #${base01}, #${base01});
border-radius: 0px 15px 15px 0px; margin: 5px;
padding: 0px 1px;
border-radius: 15px;
border: 0px; border: 0px;
font-style: normal; font-style: normal;
color: #${base00}; color: #${base00};
*/ }
background: linear-gradient(45deg, #${base01}, #${base01}); #workspaces button {
margin: 5px; padding: 0px 5px;
padding: 0px 1px; margin: 4px 3px;
border-radius: 15px; border-radius: 15px;
border: 0px; border: 0px;
font-style: normal; color: #${base00};
color: #${base00}; background: linear-gradient(45deg, #${base0D}, #${base0E});
} opacity: 0.5;
#workspaces button { transition: all 0.3s ease-in-out;
padding: 0px 5px; }
margin: 4px 3px; #workspaces button.active {
border-radius: 15px; padding: 0px 5px;
border: 0px; margin: 4px 3px;
color: #${base00}; border-radius: 15px;
background: linear-gradient(45deg, #${base0D}, #${base0E}); border: 0px;
opacity: 0.5; color: #${base00};
transition: all 0.3s ease-in-out; background: linear-gradient(45deg, #${base0D}, #${base0E});
} opacity: 1.0;
#workspaces button.active { min-width: 40px;
padding: 0px 5px; transition: all 0.3s ease-in-out;
margin: 4px 3px; }
border-radius: 15px; #workspaces button:hover {
border: 0px; border-radius: 15px;
color: #${base00}; color: #${base00};
background: linear-gradient(45deg, #${base0D}, #${base0E}); background: linear-gradient(45deg, #${base0D}, #${base0E});
opacity: 1.0; opacity: 0.8;
min-width: 40px; }
transition: all 0.3s ease-in-out; tooltip {
} background: #${base00};
#workspaces button:hover { border: 1px solid #${base0E};
border-radius: 15px; border-radius: 10px;
color: #${base00}; }
background: linear-gradient(45deg, #${base0D}, #${base0E}); tooltip label {
opacity: 0.8; color: #${base07};
} }
tooltip { #window {
background: #${base00}; /*
border: 1px solid #${base0E}; Eternal
border-radius: 10px; color: #${base05};
} background: #${base00};
tooltip label { border-radius: 15px;
color: #${base07}; margin: 5px;
} padding: 2px 20px;
#window { */
/* margin: 5px;
Eternal padding: 2px 20px;
color: #${base05};
background: #${base01};
border-radius: 15px 15px 15px 15px;
}
#memory {
color: #${base0F};
/*
Eternal
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
*/
background: #${base01};
margin: 5px;
padding: 2px 20px;
border-radius: 15px 15px 15px 15px;
}
#clock {
color: #${base0B};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
}
#idle_inhibitor {
color: #${base0A};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 3px;
padding: 2px 20px;
}
#cpu {
color: #${base07};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
}
#disk {
color: #${base0F};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
}
#battery {
color: #${base08};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
}
#network {
color: #${base09};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
}
#tray {
color: #${base05}; color: #${base05};
background: #${base00}; background: #${base00};
border-radius: 15px; border-radius: 15px 15px 15px 15px;
margin: 5px; margin: 5px;
padding: 2px 15px;
}
#pulseaudio {
color: #${base0D};
/*
Eternal
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
*/
background: #${base01};
margin: 4px;
padding: 2px 20px; padding: 2px 20px;
*/ border-radius: 15px 15px 15px 15px;
margin: 5px; }
padding: 2px 20px; #custom-notification {
color: #${base05}; color: #${base0C};
background: #${base01};
border-radius: 15px 15px 15px 15px;
}
#memory {
color: #${base0F};
/*
Eternal
background: #${base00}; background: #${base00};
border-radius: 15px 15px 15px 15px; border-radius: 15px 15px 15px 15px;
margin: 5px; margin: 5px;
padding: 2px 20px; padding: 2px 20px;
*/ }
background: #${base01}; #custom-startmenu {
margin: 5px; color: #${base0E};
padding: 2px 20px; background: #${base00};
border-radius: 15px 15px 15px 15px; border-radius: 0px 15px 15px 0px;
} margin: 5px 5px 5px 0px;
#clock { padding: 2px 20px;
color: #${base0B}; }
#idle_inhibitor {
color: #${base09};
background: #${base00}; background: #${base00};
border-radius: 15px 15px 15px 15px; border-radius: 15px 15px 15px 15px;
margin: 5px; margin: 5px;
padding: 2px 20px; padding: 2px 20px;
} }
#idle_inhibitor { #custom-exit {
color: #${base0A}; color: #${base0E};
background: #${base00}; background: #${base00};
border-radius: 15px 15px 15px 15px; border-radius: 15px 0px 0px 15px;
margin: 3px; margin: 5px 0px 5px 5px;
padding: 2px 20px; padding: 2px 20px;
} }
#cpu { ''
color: #${base07}; ];
background: #${base00}; };
border-radius: 15px 15px 15px 15px; }
margin: 5px;
padding: 2px 20px;
}
#disk {
color: #${base0F};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
}
#battery {
color: #${base08};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
}
#network {
color: #${base09};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
}
#tray {
color: #${base05};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 15px;
}
#pulseaudio {
color: #${base0D};
/*
Eternal
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
*/
background: #${base01};
margin: 4px;
padding: 2px 20px;
border-radius: 15px 15px 15px 15px;
}
#custom-notification {
color: #${base0C};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
}
#custom-startmenu {
color: #${base0E};
background: #${base00};
border-radius: 0px 15px 15px 0px;
margin: 5px 5px 5px 0px;
padding: 2px 20px;
}
#idle_inhibitor {
color: #${base09};
background: #${base00};
border-radius: 15px 15px 15px 15px;
margin: 5px;
padding: 2px 20px;
}
#custom-exit {
color: #${base0E};
background: #${base00};
border-radius: 15px 0px 0px 15px;
margin: 5px 0px 5px 5px;
padding: 2px 20px;
}
''
];
};
}

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