(desktop) Gen 494: reformatted several files using alejandra
This commit is contained in:
4
flake.lock
generated
4
flake.lock
generated
@@ -870,7 +870,7 @@
|
|||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1,
|
"lastModified": 1,
|
||||||
"narHash": "sha256-wk+pdZUCu13qvhHBrycwrvGnRUaf6dbLchr3yF96C1c=",
|
"narHash": "sha256-+aYqfRtAoaA4wqPfy4j2biNTVj2TtEmmHXDKOzNoU6g=",
|
||||||
"path": "./pkgs/nixvim",
|
"path": "./pkgs/nixvim",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
@@ -1016,7 +1016,7 @@
|
|||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1,
|
"lastModified": 1,
|
||||||
"narHash": "sha256-S3crmqg/CDKf+QTwnZUR6udyjsvqS0P0y56wGuJmOno=",
|
"narHash": "sha256-G8k9Ue2ZggJXD17cDXQubY+b4utp2YLnSpQWe06mR4E=",
|
||||||
"path": "./pkgs/toilet",
|
"path": "./pkgs/toilet",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
|
|||||||
144
flake.nix
144
flake.nix
@@ -1,77 +1,83 @@
|
|||||||
{
|
{
|
||||||
description = "pagedMov's NixOS configuration";
|
description = "pagedMov's NixOS configuration";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
hypr-contrib.url = "github:hyprwm/contrib";
|
hypr-contrib.url = "github:hyprwm/contrib";
|
||||||
hyprpicker.url = "github:hyprwm/hyprpicker";
|
hyprpicker.url = "github:hyprwm/hyprpicker";
|
||||||
hyprland = {
|
hyprland = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://github.com/hyprwm/Hyprland";
|
url = "https://github.com/hyprwm/Hyprland";
|
||||||
submodules = true;
|
submodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
catppuccin-bat = {
|
catppuccin-bat = {
|
||||||
url = "github:catppuccin/bat";
|
url = "github:catppuccin/bat";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
catppuccin-cava = {
|
catppuccin-cava = {
|
||||||
url = "github:catppuccin/cava";
|
url = "github:catppuccin/cava";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
catppuccin-starship = {
|
catppuccin-starship = {
|
||||||
url = "github:catppuccin/starship";
|
url = "github:catppuccin/starship";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
catppuccin-yazi = {
|
catppuccin-yazi = {
|
||||||
url = "github:catppuccin/yazi";
|
url = "github:catppuccin/yazi";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
spicetify-nix = {
|
spicetify-nix = {
|
||||||
url = "github:gerg-l/spicetify-nix";
|
url = "github:gerg-l/spicetify-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
#glasshouse-desktop dots
|
#glasshouse-desktop dots
|
||||||
nvim.url = "path:./pkgs/nixvim";
|
nvim.url = "path:./pkgs/nixvim";
|
||||||
toilet.url = "path:./pkgs/toilet";
|
toilet.url = "path:./pkgs/toilet";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, nur, home-manager, self, nvim, toilet, ... }@inputs:
|
outputs = {
|
||||||
let
|
nixpkgs,
|
||||||
system = "x86_64-linux";
|
nur,
|
||||||
username = "pagedmov";
|
home-manager,
|
||||||
in
|
self,
|
||||||
{
|
nvim,
|
||||||
nixosConfigurations = {
|
toilet,
|
||||||
desktop = nixpkgs.lib.nixosSystem {
|
...
|
||||||
specialArgs = {
|
} @ inputs: let
|
||||||
host = "desktop";
|
system = "x86_64-linux";
|
||||||
inherit self inputs username;
|
username = "pagedmov";
|
||||||
};
|
in {
|
||||||
inherit system;
|
nixosConfigurations = {
|
||||||
modules = [
|
desktop = nixpkgs.lib.nixosSystem {
|
||||||
./hosts/desktop
|
specialArgs = {
|
||||||
nur.nixosModules.nur
|
host = "desktop";
|
||||||
];
|
inherit self inputs username;
|
||||||
};
|
};
|
||||||
|
inherit system;
|
||||||
|
modules = [
|
||||||
|
./hosts/desktop
|
||||||
|
nur.nixosModules.nur
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
laptop = nixpkgs.lib.nixosSystem {
|
laptop = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
host = "laptop";
|
host = "laptop";
|
||||||
inherit self inputs username;
|
inherit self inputs username;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/laptop
|
./hosts/laptop
|
||||||
nur.nixosModules.nur
|
nur.nixosModules.nur
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
|
|
||||||
{ host, inputs, username, nur, pkgs, self, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
host,
|
||||||
./../../modules/sys
|
inputs,
|
||||||
./hardware.nix
|
username,
|
||||||
./settings.nix
|
nur,
|
||||||
./steam.nix
|
pkgs,
|
||||||
];
|
self,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./../../modules/sys
|
||||||
|
./hardware.nix
|
||||||
|
./settings.nix
|
||||||
|
./steam.nix
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,58 +1,62 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, modulesPath, username, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "uas" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "uas" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/a687e4e2-8665-43f1-9d62-3e3f21423579";
|
device = "/dev/disk/by-uuid/a687e4e2-8665-43f1-9d62-3e3f21423579";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/6EAD-2C48";
|
device = "/dev/disk/by-uuid/6EAD-2C48";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home" =
|
fileSystems."/home" = {
|
||||||
{ device = "/dev/nvme0n1p5";
|
device = "/dev/nvme0n1p5";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home/${username}/steamlib" =
|
fileSystems."/home/${username}/steamlib" = {
|
||||||
{ device = "/dev/nvme0n1p1";
|
device = "/dev/nvme0n1p1";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# 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
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.enp14s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp14s0.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware = {
|
hardware = {
|
||||||
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
keyboard.uhk.enable = true;
|
keyboard.uhk.enable = true;
|
||||||
amdgpu.amdvlk = {
|
amdgpu.amdvlk = {
|
||||||
enable = false;
|
enable = false;
|
||||||
support32Bit.enable = true;
|
support32Bit.enable = true;
|
||||||
};
|
};
|
||||||
bluetooth = {
|
bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
powerOnBoot = true;
|
powerOnBoot = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,32 +1,30 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nix = {
|
||||||
|
settings = {
|
||||||
|
auto-optimise-store = true;
|
||||||
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
substituters = ["https://nix-gaming.cachix.org"];
|
||||||
|
};
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 7d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
{
|
environment = {
|
||||||
system.stateVersion = "24.05";
|
variables = {
|
||||||
nixpkgs.config.allowUnfree = true;
|
XCURSOR_SIZE = "24";
|
||||||
nix = {
|
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
||||||
settings = {
|
};
|
||||||
auto-optimise-store = true;
|
shells = with pkgs; [
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
zsh
|
||||||
substituters = [ "https://nix-gaming.cachix.org" ];
|
bash
|
||||||
};
|
];
|
||||||
gc = {
|
};
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 7d";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment = {
|
time.timeZone = "America/New_York";
|
||||||
variables = {
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
XCURSOR_SIZE = "24";
|
|
||||||
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
|
||||||
};
|
|
||||||
shells = with pkgs; [
|
|
||||||
zsh
|
|
||||||
bash
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
time.timeZone = "America/New_York";
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
programs.steam = {
|
||||||
{
|
enable = true;
|
||||||
programs.steam = {
|
remotePlay.openFirewall = true;
|
||||||
enable = true;
|
};
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
boot = {
|
config,
|
||||||
kernelModules = ["acpi_call"];
|
pkgs,
|
||||||
extraModulePackages = with config.boot.kernelPackages;
|
...
|
||||||
[
|
}: {
|
||||||
acpi_call
|
boot = {
|
||||||
cpupower
|
kernelModules = ["acpi_call"];
|
||||||
]
|
extraModulePackages = with config.boot.kernelPackages;
|
||||||
++ [pkgs.cpupower-gui];
|
[
|
||||||
};
|
acpi_call
|
||||||
|
cpupower
|
||||||
|
]
|
||||||
|
++ [pkgs.cpupower-gui];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,18 @@
|
|||||||
{ host, inputs, pkgs, config, self, username, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
host,
|
||||||
./../../modules/sys
|
inputs,
|
||||||
./hardware.nix
|
pkgs,
|
||||||
./boot.nix
|
config,
|
||||||
./services.nix
|
self,
|
||||||
./environment.nix
|
username,
|
||||||
./settings.nix
|
...
|
||||||
];
|
}: {
|
||||||
|
imports = [
|
||||||
|
./../../modules/sys
|
||||||
|
./hardware.nix
|
||||||
|
./boot.nix
|
||||||
|
./services.nix
|
||||||
|
./environment.nix
|
||||||
|
./settings.nix
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,18 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
environment = {
|
||||||
{
|
variables = {
|
||||||
environment = {
|
XCURSOR_SIZE = "24";
|
||||||
variables = {
|
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
||||||
XCURSOR_SIZE = "24";
|
};
|
||||||
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
shells = with pkgs; [
|
||||||
};
|
zsh
|
||||||
shells = with pkgs; [
|
bash
|
||||||
zsh
|
];
|
||||||
bash
|
systemPackages = with pkgs; [
|
||||||
];
|
acpi
|
||||||
systemPackages = with pkgs; [
|
brightnessctl
|
||||||
acpi
|
cpupower-gui
|
||||||
brightnessctl
|
powertop
|
||||||
cpupower-gui
|
];
|
||||||
powertop
|
};
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,30 +1,34 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc"];
|
||||||
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/334f742b-460f-43f8-b819-33086adfa9fb";
|
device = "/dev/disk/by-uuid/334f742b-460f-43f8-b819-33086adfa9fb";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/ECD9-F43B";
|
device = "/dev/disk/by-uuid/ECD9-F43B";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# 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
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|||||||
@@ -1,50 +1,47 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
services = {
|
||||||
|
keyd = {
|
||||||
|
enable = true;
|
||||||
|
keyboards.default = {
|
||||||
|
ids = ["*"];
|
||||||
|
settings.main = {
|
||||||
|
capslock = "esc";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
{
|
power-profiles-daemon.enable = true;
|
||||||
services = {
|
|
||||||
|
|
||||||
keyd = {
|
upower = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keyboards.default = {
|
percentageLow = 20;
|
||||||
ids = [ "*" ];
|
percentageCritical = 5;
|
||||||
settings.main = {
|
percentageAction = 3;
|
||||||
capslock = "esc";
|
criticalPowerAction = "PowerOff";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
power-profiles-daemon.enable = true;
|
tlp.settings = {
|
||||||
|
CPU_ENERGY_PERF_POLICY_ON_AC = "power";
|
||||||
|
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||||
|
|
||||||
upower = {
|
CPU_BOOST_ON_AC = 1;
|
||||||
enable = true;
|
CPU_BOOST_ON_BAT = 1;
|
||||||
percentageLow = 20;
|
|
||||||
percentageCritical = 5;
|
|
||||||
percentageAction = 3;
|
|
||||||
criticalPowerAction = "PowerOff";
|
|
||||||
};
|
|
||||||
|
|
||||||
tlp.settings = {
|
CPU_HWP_DYN_BOOST_ON_AC = 1;
|
||||||
CPU_ENERGY_PERF_POLICY_ON_AC = "power";
|
CPU_HWP_DYN_BOOST_ON_BAT = 1;
|
||||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
|
||||||
|
|
||||||
CPU_BOOST_ON_AC = 1;
|
PLATFORM_PROFILE_ON_AC = "performance";
|
||||||
CPU_BOOST_ON_BAT = 1;
|
PLATFORM_PROFILE_ON_BAT = "performance";
|
||||||
|
|
||||||
CPU_HWP_DYN_BOOST_ON_AC = 1;
|
INTEL_GPU_MIN_FREQ_ON_AC = 500;
|
||||||
CPU_HWP_DYN_BOOST_ON_BAT = 1;
|
INTEL_GPU_MIN_FREQ_ON_BAT = 500;
|
||||||
|
# INTEL_GPU_MAX_FREQ_ON_AC=0;
|
||||||
|
# INTEL_GPU_MAX_FREQ_ON_BAT=0;
|
||||||
|
# INTEL_GPU_BOOST_FREQ_ON_AC=0;
|
||||||
|
# INTEL_GPU_BOOST_FREQ_ON_BAT=0;
|
||||||
|
|
||||||
PLATFORM_PROFILE_ON_AC = "performance";
|
PCIE_ASPM_ON_AC = "default";
|
||||||
PLATFORM_PROFILE_ON_BAT = "performance";
|
PCIE_ASPM_ON_BAT = "powersupersave";
|
||||||
|
};
|
||||||
INTEL_GPU_MIN_FREQ_ON_AC=500;
|
};
|
||||||
INTEL_GPU_MIN_FREQ_ON_BAT=500;
|
|
||||||
# INTEL_GPU_MAX_FREQ_ON_AC=0;
|
|
||||||
# INTEL_GPU_MAX_FREQ_ON_BAT=0;
|
|
||||||
# INTEL_GPU_BOOST_FREQ_ON_AC=0;
|
|
||||||
# INTEL_GPU_BOOST_FREQ_ON_BAT=0;
|
|
||||||
|
|
||||||
PCIE_ASPM_ON_AC = "default";
|
|
||||||
PCIE_ASPM_ON_BAT = "powersupersave";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,21 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nix = {
|
||||||
|
settings = {
|
||||||
|
auto-optimise-store = true;
|
||||||
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
substituters = ["https://nix-gaming.cachix.org"];
|
||||||
|
};
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 7d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
{
|
time.timeZone = "America/New_York";
|
||||||
system.stateVersion = "24.05";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
nix = {
|
|
||||||
settings = {
|
|
||||||
auto-optimise-store = true;
|
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
substituters = [ "https://nix-gaming.cachix.org" ];
|
|
||||||
};
|
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 7d";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
powerManagement.cpuFreqGovernor = "performance";
|
||||||
time.timeZone = "America/New_York";
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = "performance";
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,33 @@
|
|||||||
{ host, nur, self, inputs, username, config, home-manager, ... }:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
host,
|
||||||
[ (import ./programs/btop.nix) ]
|
nur,
|
||||||
++ [ (import ./programs/yazi.nix) ]
|
self,
|
||||||
++ [ (import ./programs/kitty.nix) ]
|
inputs,
|
||||||
++ [ (import ./programs/fuzzel.nix) ]
|
username,
|
||||||
++ [ (import ./programs/eza.nix) ]
|
config,
|
||||||
++ [ (import ./programs/cava.nix) ]
|
home-manager,
|
||||||
++ [ (import ./programs/bat.nix) ]
|
...
|
||||||
++ [ (import ./programs/fzf.nix) ]
|
}: {
|
||||||
++ [ (import ./programs/git.nix) ]
|
imports =
|
||||||
++ [ (import ./programs/password-store.nix) ]
|
[(import ./programs/btop.nix)]
|
||||||
++ [ (import ./programs/autojump.nix) ]
|
++ [(import ./programs/yazi.nix)]
|
||||||
++ [ (import ./environment/gtk.nix) ]
|
++ [(import ./programs/kitty.nix)]
|
||||||
++ [ (import ./environment/spicetify.nix) ]
|
++ [(import ./programs/fuzzel.nix)]
|
||||||
++ [ (import ./environment/starship.nix) ]
|
++ [(import ./programs/eza.nix)]
|
||||||
++ [ (import ./environment/desktop_userpkgs.nix) ]
|
++ [(import ./programs/cava.nix)]
|
||||||
++ [ (import ./environment/zshell.nix) ]
|
++ [(import ./programs/bat.nix)]
|
||||||
++ [ (import ./firefox/firefox.nix) ]
|
++ [(import ./programs/fzf.nix)]
|
||||||
++ [ (import ./hyprland) ]
|
++ [(import ./programs/git.nix)]
|
||||||
++ [ (import ./scripts ) ]
|
++ [(import ./programs/password-store.nix)]
|
||||||
++ [ (import ./swaync/swaync.nix) ]
|
++ [(import ./programs/autojump.nix)]
|
||||||
++ [ (import ./waybar) ];
|
++ [(import ./environment/gtk.nix)]
|
||||||
|
++ [(import ./environment/spicetify.nix)]
|
||||||
|
++ [(import ./environment/starship.nix)]
|
||||||
|
++ [(import ./environment/desktop_userpkgs.nix)]
|
||||||
|
++ [(import ./environment/zshell.nix)]
|
||||||
|
++ [(import ./firefox/firefox.nix)]
|
||||||
|
++ [(import ./hyprland)]
|
||||||
|
++ [(import ./scripts)]
|
||||||
|
++ [(import ./swaync/swaync.nix)]
|
||||||
|
++ [(import ./waybar)];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,37 +1,39 @@
|
|||||||
{ pkgs, inputs, ... }:
|
|
||||||
let
|
|
||||||
nvim = inputs.nvim.packages."x86_64-linux".default;
|
|
||||||
toilet = inputs.toilet.packages."x86_64-linux".default;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
pkgs,
|
||||||
gtk3
|
inputs,
|
||||||
uhk-agent
|
...
|
||||||
sqlite
|
}: let
|
||||||
zathura
|
nvim = inputs.nvim.packages."x86_64-linux".default;
|
||||||
gimp
|
toilet = inputs.toilet.packages."x86_64-linux".default;
|
||||||
imagemagick
|
in {
|
||||||
yt-dlp
|
home.packages = with pkgs; [
|
||||||
vlc
|
gtk3
|
||||||
lolcat
|
uhk-agent
|
||||||
speedtest-cli
|
sqlite
|
||||||
vesktop
|
zathura
|
||||||
qbittorrent
|
gimp
|
||||||
obs-studio
|
imagemagick
|
||||||
neovide
|
yt-dlp
|
||||||
zsh
|
vlc
|
||||||
zsh-syntax-highlighting
|
lolcat
|
||||||
zsh-history-substring-search
|
speedtest-cli
|
||||||
zsh-autosuggestions
|
vesktop
|
||||||
audacity
|
qbittorrent
|
||||||
snes9x-gtk
|
obs-studio
|
||||||
rustup
|
neovide
|
||||||
libreoffice
|
zsh
|
||||||
handbrake
|
zsh-syntax-highlighting
|
||||||
gtrash
|
zsh-history-substring-search
|
||||||
ripgrep
|
zsh-autosuggestions
|
||||||
nvim
|
audacity
|
||||||
toilet
|
snes9x-gtk
|
||||||
python3
|
rustup
|
||||||
];
|
libreoffice
|
||||||
|
handbrake
|
||||||
|
gtrash
|
||||||
|
ripgrep
|
||||||
|
nvim
|
||||||
|
toilet
|
||||||
|
python3
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.nerdfonts
|
pkgs.nerdfonts
|
||||||
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" "Noto" ]; })
|
(pkgs.nerdfonts.override {fonts = ["JetBrainsMono" "Noto"];})
|
||||||
pkgs.twemoji-color-font
|
pkgs.twemoji-color-font
|
||||||
pkgs.noto-fonts-emoji
|
pkgs.noto-fonts-emoji
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,34 +1,36 @@
|
|||||||
{ pkgs, inputs, ... }:
|
|
||||||
let
|
|
||||||
nvim = inputs.nvim.packages."x86_64-linux".default;
|
|
||||||
toilet = inputs.toilet.packages."x86_64-linux".default;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
pkgs,
|
||||||
gtk3
|
inputs,
|
||||||
uhk-agent
|
...
|
||||||
sqlite
|
}: let
|
||||||
starship
|
nvim = inputs.nvim.packages."x86_64-linux".default;
|
||||||
zathura
|
toilet = inputs.toilet.packages."x86_64-linux".default;
|
||||||
imagemagick
|
in {
|
||||||
yt-dlp
|
home.packages = with pkgs; [
|
||||||
vlc
|
gtk3
|
||||||
speedtest-cli
|
uhk-agent
|
||||||
vesktop
|
sqlite
|
||||||
obs-studio
|
starship
|
||||||
neovide
|
zathura
|
||||||
chromium
|
imagemagick
|
||||||
zsh
|
yt-dlp
|
||||||
zsh-syntax-highlighting
|
vlc
|
||||||
zsh-history-substring-search
|
speedtest-cli
|
||||||
zsh-autosuggestions
|
vesktop
|
||||||
rustup
|
obs-studio
|
||||||
libreoffice
|
neovide
|
||||||
handbrake
|
chromium
|
||||||
gtrash
|
zsh
|
||||||
ripgrep
|
zsh-syntax-highlighting
|
||||||
nvim
|
zsh-history-substring-search
|
||||||
toilet
|
zsh-autosuggestions
|
||||||
python3
|
rustup
|
||||||
];
|
libreoffice
|
||||||
|
handbrake
|
||||||
|
gtrash
|
||||||
|
ripgrep
|
||||||
|
nvim
|
||||||
|
toilet
|
||||||
|
python3
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
{ pkgs, lib, inputs, ...}:
|
|
||||||
|
|
||||||
let
|
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||||
|
in {
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
builtins.elem (lib.getName pkg) [
|
builtins.elem (lib.getName pkg) [
|
||||||
"spotify"
|
"spotify"
|
||||||
@@ -13,12 +15,12 @@ in
|
|||||||
|
|
||||||
programs.spicetify = {
|
programs.spicetify = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
adblock
|
adblock
|
||||||
hidePodcasts
|
hidePodcasts
|
||||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||||
];
|
];
|
||||||
theme = spicePkgs.themes.catppuccin;
|
theme = spicePkgs.themes.catppuccin;
|
||||||
colorScheme = "mocha";
|
colorScheme = "mocha";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,61 +1,63 @@
|
|||||||
{ lib, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.starship = {
|
lib,
|
||||||
enable = true;
|
inputs,
|
||||||
enableZshIntegration = false;
|
...
|
||||||
settings = {
|
}: {
|
||||||
add_newline = true;
|
programs.starship = {
|
||||||
right_format = "($custom)";
|
enable = true;
|
||||||
|
enableZshIntegration = false;
|
||||||
|
settings =
|
||||||
|
{
|
||||||
|
add_newline = true;
|
||||||
|
right_format = "($custom)";
|
||||||
|
|
||||||
format = lib.concatStrings [
|
format = lib.concatStrings [
|
||||||
"($username)(bold white)($cmd_duration)($character)"
|
"($username)(bold white)($cmd_duration)($character)"
|
||||||
"($git_branch)($git_status)($rust)($nix-shell)"
|
"($git_branch)($git_status)($rust)($nix-shell)"
|
||||||
"($directory)"
|
"($directory)"
|
||||||
"$line_break[ > ](bold #89b4fa)"
|
"$line_break[ > ](bold #89b4fa)"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
username = {
|
||||||
|
show_always = true;
|
||||||
|
style_user = "bold white";
|
||||||
|
format = "[$user]($style)";
|
||||||
|
};
|
||||||
|
directory = {
|
||||||
|
format = "\n[$path](bold cyan)[/](bold green) ";
|
||||||
|
style = "bold #b4befe";
|
||||||
|
};
|
||||||
|
|
||||||
username = {
|
character = {
|
||||||
show_always = true;
|
success_symbol = "[ -> ](bold green)";
|
||||||
style_user = "bold white";
|
error_symbol = "[ -> ✗](bold red)";
|
||||||
format = "[$user]($style)";
|
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
|
||||||
};
|
};
|
||||||
directory = {
|
|
||||||
format = "\n[$path](bold cyan)[/](bold green) ";
|
|
||||||
style = "bold #b4befe";
|
|
||||||
};
|
|
||||||
|
|
||||||
character = {
|
cmd_duration = {
|
||||||
success_symbol = "[ -> ](bold green)";
|
format = "[ $duration]($style)";
|
||||||
error_symbol = "[ -> ✗](bold red)";
|
disabled = false;
|
||||||
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
|
style = "bg:none fg:#f9e2af";
|
||||||
};
|
show_notifications = false;
|
||||||
|
min_time_to_notify = 60000;
|
||||||
|
};
|
||||||
|
|
||||||
cmd_duration = {
|
git_branch = {
|
||||||
format = "[ $duration]($style)";
|
format = "\non [$symbol$branch](bold purple)";
|
||||||
disabled = false;
|
symbol = " ";
|
||||||
style = "bg:none fg:#f9e2af";
|
truncation_length = 15;
|
||||||
show_notifications = false;
|
style = "bold purple";
|
||||||
min_time_to_notify = 60000;
|
};
|
||||||
};
|
|
||||||
|
|
||||||
git_branch = {
|
custom.shellver = {
|
||||||
format = "\non [$symbol$branch](bold purple)";
|
command = "zsh --version";
|
||||||
symbol = " ";
|
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
|
||||||
truncation_length = 15;
|
symbol = "";
|
||||||
style = "bold purple";
|
style = "bold magenta";
|
||||||
};
|
};
|
||||||
|
|
||||||
custom.shellver = {
|
palette = "catppuccin_mocha";
|
||||||
command = "zsh --version";
|
}
|
||||||
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
|
// builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/themes/mocha.toml");
|
||||||
symbol = "";
|
};
|
||||||
style = "bold magenta";
|
|
||||||
};
|
|
||||||
|
|
||||||
palette = "catppuccin_mocha";
|
|
||||||
} // builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/themes/mocha.toml");
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,138 +1,134 @@
|
|||||||
{ self, ... }:
|
{self, ...}: {
|
||||||
|
programs.zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
{
|
sessionVariables = {
|
||||||
programs.zoxide = {
|
SOUNDS_ENABLED = "1";
|
||||||
enable = true;
|
EDITOR = "/nixbin/nvim";
|
||||||
enableZshIntegration = true;
|
SUDO_EDITOR = "/nixbin/nvim";
|
||||||
};
|
VISUAL = "/nixbin/nvim";
|
||||||
programs.zsh = {
|
LANG = "en_US.UTF-8";
|
||||||
enable = true;
|
BROWSER = "/nixbin/firefox";
|
||||||
|
NVIM = "${self}/nixvim/config/";
|
||||||
|
HYPRCONF = "${self}/hyprland/";
|
||||||
|
SYSCONF = "${self}/glasshouse-desktop/sys";
|
||||||
|
};
|
||||||
|
|
||||||
sessionVariables = {
|
oh-my-zsh = {
|
||||||
SOUNDS_ENABLED = "1";
|
enable = true;
|
||||||
EDITOR = "/nixbin/nvim";
|
plugins = ["git" "fzf"];
|
||||||
SUDO_EDITOR = "/nixbin/nvim";
|
};
|
||||||
VISUAL = "/nixbin/nvim";
|
|
||||||
LANG = "en_US.UTF-8";
|
|
||||||
BROWSER = "/nixbin/firefox";
|
|
||||||
NVIM = "${self}/nixvim/config/";
|
|
||||||
HYPRCONF = "${self}/hyprland/";
|
|
||||||
SYSCONF = "${self}/glasshouse-desktop/sys";
|
|
||||||
};
|
|
||||||
|
|
||||||
oh-my-zsh = {
|
enableCompletion = true;
|
||||||
enable = true;
|
history = {
|
||||||
plugins = [ "git" "fzf" ];
|
path = "$HOME/.zsh_history";
|
||||||
};
|
save = 10000;
|
||||||
|
size = 10000;
|
||||||
|
share = true;
|
||||||
|
};
|
||||||
|
|
||||||
enableCompletion = true;
|
autosuggestion = {
|
||||||
history = {
|
enable = true;
|
||||||
path = "$HOME/.zsh_history";
|
highlight = "fg=#4C566A,underline";
|
||||||
save = 10000;
|
};
|
||||||
size = 10000;
|
|
||||||
share = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
autosuggestion = {
|
shellAliases = {
|
||||||
enable = true;
|
grep = "grep --color=auto";
|
||||||
highlight = "fg=#4C566A,underline";
|
yazi = "y";
|
||||||
};
|
vi = "nvim";
|
||||||
|
mv = "mv -v";
|
||||||
|
cp = "cp -vr";
|
||||||
|
gt = "gtrash";
|
||||||
|
gtp = "gtrash put";
|
||||||
|
grub-update = "sudo grub-mkconfig -o /boot/grub/grub.cfg";
|
||||||
|
sr = "source ~/.zshrc";
|
||||||
|
".." = "cd ..";
|
||||||
|
rm = "echo 'use \"gtp\" instead'";
|
||||||
|
psg = "ps aux | grep -v grep | grep -i -e VSZ -e";
|
||||||
|
mkdir = "mkdir -p";
|
||||||
|
pk = "pkill -9 -f";
|
||||||
|
zrc = "nvim $HOME/dots/zshell.nix";
|
||||||
|
svcu = "systemctl --user";
|
||||||
|
svc = "sudo systemctl";
|
||||||
|
hyprconf = "nvim $HOME/dots/hyprland/config.nix";
|
||||||
|
nixconf = "nvim $HOME/sysflakes/glasshouse-desktop/sys";
|
||||||
|
hmconf = "nvim $HOME/sysflakes/glasshouse-desktop/home";
|
||||||
|
viflake = "nvim flake.nix";
|
||||||
|
nvimcfg = "nvim $HOME/dots/nixvim/config";
|
||||||
|
};
|
||||||
|
initExtra = ''
|
||||||
|
|
||||||
shellAliases = {
|
unalias ls
|
||||||
grep = "grep --color=auto";
|
ls() {
|
||||||
yazi = "y";
|
eza -1 --group-directories-first --icons "$@"
|
||||||
vi = "nvim";
|
scheck && runbg aplay ${self}/media/sound/ls.wav
|
||||||
mv = "mv -v";
|
}
|
||||||
cp = "cp -vr";
|
|
||||||
gt = "gtrash";
|
|
||||||
gtp = "gtrash put";
|
|
||||||
grub-update = "sudo grub-mkconfig -o /boot/grub/grub.cfg";
|
|
||||||
sr = "source ~/.zshrc";
|
|
||||||
".." = "cd ..";
|
|
||||||
rm = "echo 'use \"gtp\" instead'";
|
|
||||||
psg = "ps aux | grep -v grep | grep -i -e VSZ -e" ;
|
|
||||||
mkdir = "mkdir -p";
|
|
||||||
pk = "pkill -9 -f";
|
|
||||||
zrc = "nvim $HOME/dots/zshell.nix";
|
|
||||||
svcu = "systemctl --user";
|
|
||||||
svc = "sudo systemctl";
|
|
||||||
hyprconf = "nvim $HOME/dots/hyprland/config.nix";
|
|
||||||
nixconf = "nvim $HOME/sysflakes/glasshouse-desktop/sys";
|
|
||||||
hmconf = "nvim $HOME/sysflakes/glasshouse-desktop/home";
|
|
||||||
viflake = "nvim flake.nix";
|
|
||||||
nvimcfg = "nvim $HOME/dots/nixvim/config";
|
|
||||||
};
|
|
||||||
initExtra = ''
|
|
||||||
|
|
||||||
unalias ls
|
y() {
|
||||||
ls() {
|
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||||
eza -1 --group-directories-first --icons "$@"
|
yazi "$@" --cwd-file="$tmp"
|
||||||
scheck && runbg aplay ${self}/media/sound/ls.wav
|
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||||
}
|
builtin cd -- "$cwd"
|
||||||
|
fi
|
||||||
|
rm -f -- "$tmp"
|
||||||
|
}
|
||||||
|
|
||||||
y() {
|
cd() {
|
||||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
export SOUNDS_ENABLED=0
|
||||||
yazi "$@" --cwd-file="$tmp"
|
eza -1 --group-directories-first --icons "$@"
|
||||||
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
builtin cd "$@" || exit
|
||||||
builtin cd -- "$cwd"
|
export SOUNDS_ENABLED=1
|
||||||
fi
|
scheck && runbg aplay ${self}/media/sound/cd.wav
|
||||||
rm -f -- "$tmp"
|
}
|
||||||
}
|
if [ ! -e $HOME/.zsh_history ]; then
|
||||||
|
touch $HOME/.zsh_history
|
||||||
|
chmod 600 $HOME/.zsh_history
|
||||||
|
fi
|
||||||
|
setopt APPEND_HISTORY # Append history to the history file (don't overwrite)
|
||||||
|
setopt INC_APPEND_HISTORY # Append to the history file incrementally
|
||||||
|
setopt SHARE_HISTORY # Share history between all zsh sessions
|
||||||
|
|
||||||
cd() {
|
sessionVariables = {
|
||||||
export SOUNDS_ENABLED=0
|
setopt CORRECT
|
||||||
eza -1 --group-directories-first --icons "$@"
|
setopt NO_NOMATCH
|
||||||
builtin cd "$@" || exit
|
setopt LIST_PACKED
|
||||||
export SOUNDS_ENABLED=1
|
setopt ALWAYS_TO_END
|
||||||
scheck && runbg aplay ${self}/media/sound/cd.wav
|
setopt GLOB_COMPLETE
|
||||||
}
|
setopt COMPLETE_ALIASES
|
||||||
if [ ! -e $HOME/.zsh_history ]; then
|
setopt COMPLETE_IN_WORD
|
||||||
touch $HOME/.zsh_history
|
setopt AUTO_CD
|
||||||
chmod 600 $HOME/.zsh_history
|
setopt AUTO_CONTINUE
|
||||||
fi
|
setopt LONG_LIST_JOBS
|
||||||
setopt APPEND_HISTORY # Append history to the history file (don't overwrite)
|
setopt HIST_VERIFY
|
||||||
setopt INC_APPEND_HISTORY # Append to the history file incrementally
|
setopt SHARE_HISTORY
|
||||||
setopt SHARE_HISTORY # Share history between all zsh sessions
|
setopt HIST_IGNORE_SPACE
|
||||||
|
setopt HIST_SAVE_NO_DUPS
|
||||||
|
setopt HIST_IGNORE_ALL_DUPS
|
||||||
|
setopt EXTENDED_GLOB
|
||||||
|
setopt TRANSIENT_RPROMPT
|
||||||
|
setopt INTERACTIVE_COMMENTS
|
||||||
|
|
||||||
sessionVariables = {
|
autoload -U compinit # completion
|
||||||
setopt CORRECT
|
autoload -U terminfo # terminfo keys
|
||||||
setopt NO_NOMATCH
|
zmodload -i zsh/complist # menu completion
|
||||||
setopt LIST_PACKED
|
autoload -U promptinit # prompt
|
||||||
setopt ALWAYS_TO_END
|
|
||||||
setopt GLOB_COMPLETE
|
|
||||||
setopt COMPLETE_ALIASES
|
|
||||||
setopt COMPLETE_IN_WORD
|
|
||||||
setopt AUTO_CD
|
|
||||||
setopt AUTO_CONTINUE
|
|
||||||
setopt LONG_LIST_JOBS
|
|
||||||
setopt HIST_VERIFY
|
|
||||||
setopt SHARE_HISTORY
|
|
||||||
setopt HIST_IGNORE_SPACE
|
|
||||||
setopt HIST_SAVE_NO_DUPS
|
|
||||||
setopt HIST_IGNORE_ALL_DUPS
|
|
||||||
setopt EXTENDED_GLOB
|
|
||||||
setopt TRANSIENT_RPROMPT
|
|
||||||
setopt INTERACTIVE_COMMENTS
|
|
||||||
|
|
||||||
autoload -U compinit # completion
|
autoload -U up-line-or-beginning-search; zle -N up-line-or-beginning-search
|
||||||
autoload -U terminfo # terminfo keys
|
autoload -U down-line-or-beginning-search; zle -N down-line-or-beginning-search
|
||||||
zmodload -i zsh/complist # menu completion
|
|
||||||
autoload -U promptinit # prompt
|
|
||||||
|
|
||||||
autoload -U up-line-or-beginning-search; zle -N up-line-or-beginning-search
|
|
||||||
autoload -U down-line-or-beginning-search; zle -N down-line-or-beginning-search
|
|
||||||
|
|
||||||
bindkey -v
|
|
||||||
type starship_zle-keymap-select >/dev/null || \
|
|
||||||
{
|
|
||||||
eval "$(starship init zsh)"
|
|
||||||
}
|
|
||||||
unalias ls
|
|
||||||
clear
|
|
||||||
splash
|
|
||||||
scheck && runbg aplay ${self}/media/sound/sh-source.wav
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
|
bindkey -v
|
||||||
|
type starship_zle-keymap-select >/dev/null || \
|
||||||
|
{
|
||||||
|
eval "$(starship init zsh)"
|
||||||
|
}
|
||||||
|
unalias ls
|
||||||
|
clear
|
||||||
|
splash
|
||||||
|
scheck && runbg aplay ${self}/media/sound/sh-source.wav
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,92 +1,102 @@
|
|||||||
{ nur, username, self, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.firefox = {
|
nur,
|
||||||
enable = true;
|
username,
|
||||||
policies = {
|
self,
|
||||||
DisableTelemetry = true;
|
...
|
||||||
DisableFirefoxStudies = true;
|
}: {
|
||||||
EnableTrackingProtection = {
|
programs.firefox = {
|
||||||
Value= true;
|
enable = true;
|
||||||
Locked = true;
|
policies = {
|
||||||
Cryptomining = true;
|
DisableTelemetry = true;
|
||||||
Fingerprinting = true;
|
DisableFirefoxStudies = true;
|
||||||
};
|
EnableTrackingProtection = {
|
||||||
DisablePocket = true;
|
Value = true;
|
||||||
DisableFirefoxAccounts = true;
|
Locked = true;
|
||||||
DisableAccounts = true;
|
Cryptomining = true;
|
||||||
DisableFirefoxScreenshots = true;
|
Fingerprinting = true;
|
||||||
OverrideFirstRunPage = "";
|
};
|
||||||
OverridePostUpdatePage = "";
|
DisablePocket = true;
|
||||||
DontCheckDefaultBrowser = true;
|
DisableFirefoxAccounts = true;
|
||||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
DisableAccounts = true;
|
||||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
DisableFirefoxScreenshots = true;
|
||||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
OverrideFirstRunPage = "";
|
||||||
};
|
OverridePostUpdatePage = "";
|
||||||
profiles.${username} = {
|
DontCheckDefaultBrowser = true;
|
||||||
name = "${username}";
|
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||||
bookmarks = [
|
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||||
{ name = "NixOS Options";
|
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||||
url = "https://search.nixos.org/options";
|
};
|
||||||
}
|
profiles.${username} = {
|
||||||
{ name = "Home Manager Options";
|
name = "${username}";
|
||||||
url = "https://home-manager-options.extranix.com/";
|
bookmarks = [
|
||||||
}
|
{
|
||||||
{ name = "Nixvim Docs";
|
name = "NixOS Options";
|
||||||
url = "https://nix-community.github.io/nixvim/";
|
url = "https://search.nixos.org/options";
|
||||||
}
|
}
|
||||||
{ name = "Rust Manual";
|
{
|
||||||
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
name = "Home Manager Options";
|
||||||
}
|
url = "https://home-manager-options.extranix.com/";
|
||||||
{ name = "ChatGPT";
|
}
|
||||||
url = "https://chatgpt.com/";
|
{
|
||||||
}
|
name = "Nixvim Docs";
|
||||||
{ name = "DataAnnotation";
|
url = "https://nix-community.github.io/nixvim/";
|
||||||
url = "https://app.dataannotation.tech/users/sign_in";
|
}
|
||||||
}
|
{
|
||||||
{ name = "Nerd Fonts Cheatsheet";
|
name = "Rust Manual";
|
||||||
url = "https://www.nerdfonts.com/cheat-sheet";
|
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
||||||
}
|
}
|
||||||
];
|
{
|
||||||
extensions = with nur.repos.rycee.firefox-addons; [
|
name = "ChatGPT";
|
||||||
darkreader
|
url = "https://chatgpt.com/";
|
||||||
adnauseam
|
}
|
||||||
cookie-autodelete
|
{
|
||||||
disconnect
|
name = "DataAnnotation";
|
||||||
firefox-color
|
url = "https://app.dataannotation.tech/users/sign_in";
|
||||||
vimium
|
}
|
||||||
firenvim
|
{
|
||||||
privacy-badger
|
name = "Nerd Fonts Cheatsheet";
|
||||||
new-tab-override
|
url = "https://www.nerdfonts.com/cheat-sheet";
|
||||||
tampermonkey
|
}
|
||||||
];
|
];
|
||||||
extraConfig = ''
|
extensions = with nur.repos.rycee.firefox-addons; [
|
||||||
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
darkreader
|
||||||
"browser.active_color" = "#EE0000";
|
adnauseam
|
||||||
"browser.active_color.dark" = "#FF6666";
|
cookie-autodelete
|
||||||
"browser.anchor_color" = "#0000EE";
|
disconnect
|
||||||
"browser.anchor_color.dark" = "#8C8CFF";
|
firefox-color
|
||||||
"browser.display.background_color" = "#FFFFFF";
|
vimium
|
||||||
"browser.display.background_color.dark" = "#1C1B22";
|
firenvim
|
||||||
"browser.display.document_color_use" = "1";
|
privacy-badger
|
||||||
"browser.display.foreground_color" = "#000000";
|
new-tab-override
|
||||||
"browser.display.foreground_color.dark" = "#FBFBFE";
|
tampermonkey
|
||||||
"browser.display.suppress_canvas_background_image_on_forced_colors" = "true";
|
];
|
||||||
"browser.display.use_system_colors" = "false";
|
extraConfig = ''
|
||||||
"browser.newtabpage.activity-stream.newNewtabExperience.colors" = "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A";
|
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||||
"browser.theme.colorway-closet" = "true";
|
"browser.active_color" = "#EE0000";
|
||||||
"browser.theme.colorway-migration" = "true";
|
"browser.active_color.dark" = "#FF6666";
|
||||||
"browser.theme.windows.accent-color-in-tabs.enabled" = "false";
|
"browser.anchor_color" = "#0000EE";
|
||||||
"browser.visited_color" = "#551A8B";
|
"browser.anchor_color.dark" = "#8C8CFF";
|
||||||
"browser.visited_color.dark" = "#FFADFF";
|
"browser.display.background_color" = "#FFFFFF";
|
||||||
"browser.newtabpage.pinned" = [{
|
"browser.display.background_color.dark" = "#1C1B22";
|
||||||
title = "Homepage";
|
"browser.display.document_color_use" = "1";
|
||||||
url = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
"browser.display.foreground_color" = "#000000";
|
||||||
}];
|
"browser.display.foreground_color.dark" = "#FBFBFE";
|
||||||
"devtools.defaultColorUnit" = "authored";
|
"browser.display.suppress_canvas_background_image_on_forced_colors" = "true";
|
||||||
"editor.background_color" = "#FFFFFF";
|
"browser.display.use_system_colors" = "false";
|
||||||
"editor.use_custom_colors" = "false";
|
"browser.newtabpage.activity-stream.newNewtabExperience.colors" = "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A";
|
||||||
'';
|
"browser.theme.colorway-closet" = "true";
|
||||||
};
|
"browser.theme.colorway-migration" = "true";
|
||||||
};
|
"browser.theme.windows.accent-color-in-tabs.enabled" = "false";
|
||||||
|
"browser.visited_color" = "#551A8B";
|
||||||
|
"browser.visited_color.dark" = "#FFADFF";
|
||||||
|
"browser.newtabpage.pinned" = [{
|
||||||
|
title = "Homepage";
|
||||||
|
url = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||||
|
}];
|
||||||
|
"devtools.defaultColorUnit" = "authored";
|
||||||
|
"editor.background_color" = "#FFFFFF";
|
||||||
|
"editor.use_custom_colors" = "false";
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,15 @@
|
|||||||
{ inputs, host, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
host_config = if (host == "desktop") then [ ./desktop.nix ] else [ ./laptop.nix ];
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[ (import ./hyprland.nix) ]
|
host,
|
||||||
++ [ (import ./hyprpaper.nix) ]
|
...
|
||||||
++ host_config;
|
}: let
|
||||||
|
host_config =
|
||||||
|
if (host == "desktop")
|
||||||
|
then [./desktop.nix]
|
||||||
|
else [./laptop.nix];
|
||||||
|
in {
|
||||||
|
imports =
|
||||||
|
[(import ./hyprland.nix)]
|
||||||
|
++ [(import ./hyprpaper.nix)]
|
||||||
|
++ host_config;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,197 +1,194 @@
|
|||||||
{ username, ... }:
|
{username, ...}: {
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
monitor = [
|
||||||
|
"DP-1, 1920x1080@144, 1920x0, 1"
|
||||||
|
"HDMI-A-1, 1920x1080, 0x0, 1"
|
||||||
|
];
|
||||||
|
|
||||||
{
|
exec-once = [
|
||||||
wayland.windowManager.hyprland = {
|
"waybar &"
|
||||||
settings = {
|
"swaync &"
|
||||||
|
"wl-paste --watch cliphist store &"
|
||||||
|
"wl-clip-persist --clipboard both"
|
||||||
|
"systemctl --user import-environment &"
|
||||||
|
"hash dbus-update-activation-environment 2>/dev/null &"
|
||||||
|
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &"
|
||||||
|
"aplay /home/${username}/sound/sys/login.wav &"
|
||||||
|
];
|
||||||
|
|
||||||
monitor = [
|
workspace = [
|
||||||
"DP-1, 1920x1080@144, 1920x0, 1"
|
"1,persistent=true,monitor:HDMI-A-1"
|
||||||
"HDMI-A-1, 1920x1080, 0x0, 1"
|
"2,persistent=true,monitor:HDMI-A-1"
|
||||||
];
|
"3,persistent=true,monitor:HDMI-A-1"
|
||||||
|
"4,persistent=true,monitor:DP-1"
|
||||||
|
"5,persistent=true,monitor:DP-1"
|
||||||
|
"6,persistent=true,monitor:DP-1"
|
||||||
|
];
|
||||||
|
|
||||||
exec-once = [
|
input = {
|
||||||
"waybar &"
|
kb_layout = "us";
|
||||||
"swaync &"
|
follow_mouse = 1;
|
||||||
"wl-paste --watch cliphist store &"
|
accel_profile = "flat";
|
||||||
"wl-clip-persist --clipboard both"
|
force_no_accel = 1;
|
||||||
"systemctl --user import-environment &"
|
sensitivity = 0;
|
||||||
"hash dbus-update-activation-environment 2>/dev/null &"
|
};
|
||||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &"
|
|
||||||
"aplay /home/${username}/sound/sys/login.wav &"
|
|
||||||
];
|
|
||||||
|
|
||||||
workspace = [
|
general = {
|
||||||
"1,persistent=true,monitor:HDMI-A-1"
|
"$mainMod" = "super";
|
||||||
"2,persistent=true,monitor:HDMI-A-1"
|
layout = "dwindle";
|
||||||
"3,persistent=true,monitor:HDMI-A-1"
|
gaps_in = 4;
|
||||||
"4,persistent=true,monitor:DP-1"
|
gaps_out = 8;
|
||||||
"5,persistent=true,monitor:DP-1"
|
border_size = 2;
|
||||||
"6,persistent=true,monitor:DP-1"
|
"col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
|
||||||
];
|
"col.inactive_border" = "0x00000000";
|
||||||
|
border_part_of_window = false;
|
||||||
|
no_border_on_floating = false;
|
||||||
|
};
|
||||||
|
misc = {
|
||||||
|
disable_autoreload = true;
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
always_follow_on_dnd = true;
|
||||||
|
layers_hog_keyboard_focus = true;
|
||||||
|
animate_manual_resizes = false;
|
||||||
|
enable_swallow = true;
|
||||||
|
focus_on_activate = true;
|
||||||
|
};
|
||||||
|
|
||||||
input = {
|
dwindle = {
|
||||||
kb_layout = "us";
|
no_gaps_when_only = false;
|
||||||
follow_mouse = 1;
|
force_split = 0;
|
||||||
accel_profile = "flat";
|
special_scale_factor = 1.0;
|
||||||
force_no_accel = 1;
|
split_width_multiplier = 1.0;
|
||||||
sensitivity = 0;
|
use_active_for_splits = true;
|
||||||
};
|
pseudotile = "yes";
|
||||||
|
preserve_split = "yes";
|
||||||
|
};
|
||||||
|
|
||||||
general = {
|
master = {
|
||||||
"$mainMod" = "super";
|
new_status = "master";
|
||||||
layout = "dwindle";
|
special_scale_factor = 1;
|
||||||
gaps_in = 4;
|
no_gaps_when_only = false;
|
||||||
gaps_out = 8;
|
};
|
||||||
border_size = 2;
|
|
||||||
"col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
|
|
||||||
"col.inactive_border" = "0x00000000";
|
|
||||||
border_part_of_window = false;
|
|
||||||
no_border_on_floating = false;
|
|
||||||
};
|
|
||||||
misc = {
|
|
||||||
disable_autoreload = true;
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
always_follow_on_dnd = true;
|
|
||||||
layers_hog_keyboard_focus = true;
|
|
||||||
animate_manual_resizes = false;
|
|
||||||
enable_swallow = true;
|
|
||||||
focus_on_activate = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
dwindle = {
|
decoration = {
|
||||||
no_gaps_when_only = false;
|
rounding = 7;
|
||||||
force_split = 0;
|
# active_opacity = 0.90;
|
||||||
special_scale_factor = 1.0;
|
# inactive_opacity = 0.90;
|
||||||
split_width_multiplier = 1.0;
|
# fullscreen_opacity = 1.0;
|
||||||
use_active_for_splits = true;
|
|
||||||
pseudotile = "yes";
|
|
||||||
preserve_split = "yes";
|
|
||||||
};
|
|
||||||
|
|
||||||
master = {
|
blur = {
|
||||||
new_status = "master";
|
enabled = true;
|
||||||
special_scale_factor = 1;
|
size = 1;
|
||||||
no_gaps_when_only = false;
|
passes = 1;
|
||||||
};
|
# size = 4;
|
||||||
|
# passes = 2;
|
||||||
|
brightness = 1;
|
||||||
|
contrast = 1.400;
|
||||||
|
ignore_opacity = true;
|
||||||
|
noise = 0;
|
||||||
|
new_optimizations = true;
|
||||||
|
xray = true;
|
||||||
|
};
|
||||||
|
|
||||||
decoration = {
|
drop_shadow = true;
|
||||||
rounding = 7;
|
|
||||||
# active_opacity = 0.90;
|
|
||||||
# inactive_opacity = 0.90;
|
|
||||||
# fullscreen_opacity = 1.0;
|
|
||||||
|
|
||||||
blur = {
|
shadow_ignore_window = true;
|
||||||
enabled = true;
|
shadow_offset = "0 2";
|
||||||
size = 1;
|
shadow_range = 20;
|
||||||
passes = 1;
|
shadow_render_power = 3;
|
||||||
# size = 4;
|
"col.shadow" = "rgba(00000055)";
|
||||||
# passes = 2;
|
};
|
||||||
brightness = 1;
|
|
||||||
contrast = 1.400;
|
|
||||||
ignore_opacity = true;
|
|
||||||
noise = 0;
|
|
||||||
new_optimizations = true;
|
|
||||||
xray = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
drop_shadow = true;
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
|
||||||
shadow_ignore_window = true;
|
bezier = [
|
||||||
shadow_offset = "0 2";
|
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||||
shadow_range = 20;
|
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||||
shadow_render_power = 3;
|
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||||
"col.shadow" = "rgba(00000055)";
|
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||||
};
|
];
|
||||||
|
|
||||||
animations = {
|
animation = [
|
||||||
enabled = true;
|
# Windows
|
||||||
|
"windowsIn, 1, 3, easeOutCubic, popin 30%" # window open
|
||||||
|
"windowsOut, 1, 3, fluent_decel, popin 70%" # window close.
|
||||||
|
"windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing.
|
||||||
|
|
||||||
bezier = [
|
# Fade
|
||||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
|
||||||
];
|
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
|
||||||
|
"border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
|
||||||
|
"borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
|
||||||
|
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
|
||||||
|
];
|
||||||
|
|
||||||
animation = [
|
bind = [
|
||||||
# Windows
|
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
||||||
"windowsIn, 1, 3, easeOutCubic, popin 30%" # window open
|
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
||||||
"windowsOut, 1, 3, fluent_decel, popin 70%" # window close.
|
"super, print, exec, grimblast copy area"
|
||||||
"windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing.
|
"super, t, exec, swaync-client -t -sw"
|
||||||
|
"super, a, exec, firefox"
|
||||||
# Fade
|
"super, q, exec, kitty --title Kitty"
|
||||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
"super, d, exec, switchmon"
|
||||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
"super, c, killactive,"
|
||||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
||||||
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
|
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
||||||
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
|
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
||||||
"border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
|
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
||||||
"borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
|
"super shift, q, exit,"
|
||||||
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
|
"super, m, exec, fuzzel"
|
||||||
];
|
"super, r, exec, neovide"
|
||||||
|
"super, b, togglesplit, # dwindle"
|
||||||
bind = [
|
"super, f, togglefloating"
|
||||||
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
"super, g, fullscreen"
|
||||||
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
"super, home, exec, /home/${username}/scripts/home.sh"
|
||||||
"super, print, exec, grimblast copy area"
|
"super, h, movefocus, l"
|
||||||
"super, t, exec, swaync-client -t -sw"
|
"super, l, movefocus, r"
|
||||||
"super, a, exec, firefox"
|
"super, k, movefocus, u"
|
||||||
"super, q, exec, kitty --title Kitty"
|
"super, j, movefocus, d"
|
||||||
"super, d, exec, switchmon"
|
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
||||||
"super, c, killactive,"
|
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
||||||
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
||||||
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
||||||
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
||||||
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
||||||
"super shift, q, exit,"
|
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
||||||
"super, m, exec, fuzzel"
|
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
||||||
"super, r, exec, neovide"
|
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
||||||
"super, b, togglesplit, # dwindle"
|
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
||||||
"super, f, togglefloating"
|
"super alt, g, togglegroup"
|
||||||
"super, g, fullscreen"
|
"super alt, h, changegroupactive, b"
|
||||||
"super, home, exec, /home/${username}/scripts/home.sh"
|
"super alt, l, changegroupactive, f"
|
||||||
"super, h, movefocus, l"
|
"super shift, h, movewindoworgroup, l"
|
||||||
"super, l, movefocus, r"
|
"super shift, l, movewindoworgroup, r"
|
||||||
"super, k, movefocus, u"
|
"super shift, k, movewindoworgroup, u"
|
||||||
"super, j, movefocus, d"
|
"super shift, j, movewindoworgroup, d"
|
||||||
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
"super shift, 1, movetoworkspace, 1"
|
||||||
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
"super shift, 2, movetoworkspace, 2"
|
||||||
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
"super shift, 3, movetoworkspace, 3"
|
||||||
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
"super shift, 4, movetoworkspace, 4"
|
||||||
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
"super shift, 5, movetoworkspace, 5"
|
||||||
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
"super shift, 6, movetoworkspace, 6"
|
||||||
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
"super shift, 7, movetoworkspace, 7"
|
||||||
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
"super shift, 8, movetoworkspace, 8"
|
||||||
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
"super shift, 9, movetoworkspace, 9"
|
||||||
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
"super shift, 0, movetoworkspace, 10"
|
||||||
"super alt, g, togglegroup"
|
"super, s, togglespecialworkspace, magic"
|
||||||
"super alt, h, changegroupactive, b"
|
"super shift, s, movetoworkspace, special:magic"
|
||||||
"super alt, l, changegroupactive, f"
|
"alt, grave, togglespecialworkspace, console"
|
||||||
"super shift, h, movewindoworgroup, l"
|
"super, mouse_down, workspace, e+1"
|
||||||
"super shift, l, movewindoworgroup, r"
|
"super, mouse_up, workspace, e-1"
|
||||||
"super shift, k, movewindoworgroup, u"
|
];
|
||||||
"super shift, j, movewindoworgroup, d"
|
bindm = [
|
||||||
"super shift, 1, movetoworkspace, 1"
|
"super, mouse:272, movewindow"
|
||||||
"super shift, 2, movetoworkspace, 2"
|
"super, mouse:273, resizewindow"
|
||||||
"super shift, 3, movetoworkspace, 3"
|
];
|
||||||
"super shift, 4, movetoworkspace, 4"
|
};
|
||||||
"super shift, 5, movetoworkspace, 5"
|
};
|
||||||
"super shift, 6, movetoworkspace, 6"
|
};
|
||||||
"super shift, 7, movetoworkspace, 7"
|
|
||||||
"super shift, 8, movetoworkspace, 8"
|
|
||||||
"super shift, 9, movetoworkspace, 9"
|
|
||||||
"super shift, 0, movetoworkspace, 10"
|
|
||||||
"super, s, togglespecialworkspace, magic"
|
|
||||||
"super shift, s, movetoworkspace, special:magic"
|
|
||||||
"alt, grave, togglespecialworkspace, console"
|
|
||||||
"super, mouse_down, workspace, e+1"
|
|
||||||
"super, mouse_up, workspace, e-1"
|
|
||||||
];
|
|
||||||
bindm = [
|
|
||||||
"super, mouse:272, movewindow"
|
|
||||||
"super, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +1,26 @@
|
|||||||
{ inputs, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
inputs,
|
||||||
swaybg
|
pkgs,
|
||||||
inputs.hypr-contrib.packages.${pkgs.system}.grimblast
|
...
|
||||||
hyprpicker
|
}: {
|
||||||
grim
|
home.packages = with pkgs; [
|
||||||
slurp
|
swaybg
|
||||||
wl-clip-persist
|
inputs.hypr-contrib.packages.${pkgs.system}.grimblast
|
||||||
wf-recorder
|
hyprpicker
|
||||||
glib
|
grim
|
||||||
wayland
|
slurp
|
||||||
direnv
|
wl-clip-persist
|
||||||
];
|
wf-recorder
|
||||||
systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
|
glib
|
||||||
wayland.windowManager.hyprland = {
|
wayland
|
||||||
enable = true;
|
direnv
|
||||||
xwayland = {
|
];
|
||||||
enable = true;
|
systemd.user.targets.hyprland-session.Unit.Wants = ["xdg-desktop-autostart.target"];
|
||||||
};
|
wayland.windowManager.hyprland = {
|
||||||
systemd.enable = true;
|
enable = true;
|
||||||
};
|
xwayland = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
systemd.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,25 @@
|
|||||||
{ host, username, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
services.hyprpaper = {
|
host,
|
||||||
enable = true;
|
username,
|
||||||
settings = {
|
...
|
||||||
ipc = "on";
|
}: {
|
||||||
splash = false;
|
services.hyprpaper = {
|
||||||
splash_offset = 2.0;
|
enable = true;
|
||||||
preload = [ "/home/${username}/Pictures/Wallpapers/cat-leaves.png" ];
|
settings = {
|
||||||
|
ipc = "on";
|
||||||
|
splash = false;
|
||||||
|
splash_offset = 2.0;
|
||||||
|
preload = ["/home/${username}/Pictures/Wallpapers/cat-leaves.png"];
|
||||||
|
|
||||||
wallpaper = if (host == "desktop") then [
|
wallpaper =
|
||||||
"DP-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
if (host == "desktop")
|
||||||
"HDMI-A-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
then [
|
||||||
] else [
|
"DP-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
||||||
"eDP-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
"HDMI-A-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
||||||
];
|
]
|
||||||
};
|
else [
|
||||||
};
|
"eDP-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,196 +1,193 @@
|
|||||||
{ username, ... }:
|
{username, ...}: {
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
monitor = [
|
||||||
|
"eDP-1, 1920x1080@144, 1920x0, 1"
|
||||||
|
];
|
||||||
|
|
||||||
{
|
exec-once = [
|
||||||
wayland.windowManager.hyprland = {
|
"waybar &"
|
||||||
settings = {
|
"swaync &"
|
||||||
|
"wl-paste --watch cliphist store &"
|
||||||
|
"wl-clip-persist --clipboard both"
|
||||||
|
"systemctl --user import-environment &"
|
||||||
|
"hash dbus-update-activation-environment 2>/dev/null &"
|
||||||
|
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &"
|
||||||
|
"aplay /home/${username}/sound/sys/login.wav &"
|
||||||
|
];
|
||||||
|
|
||||||
monitor = [
|
workspace = [
|
||||||
"eDP-1, 1920x1080@144, 1920x0, 1"
|
"1,persistent=true,monitor:eDP-1"
|
||||||
];
|
"2,persistent=true,monitor:eDP-1"
|
||||||
|
"3,persistent=true,monitor:eDP-1"
|
||||||
|
"4,persistent=true,monitor:eDP-1"
|
||||||
|
"5,persistent=true,monitor:eDP-1"
|
||||||
|
"6,persistent=true,monitor:eDP-1"
|
||||||
|
];
|
||||||
|
|
||||||
exec-once = [
|
input = {
|
||||||
"waybar &"
|
kb_layout = "us";
|
||||||
"swaync &"
|
follow_mouse = 1;
|
||||||
"wl-paste --watch cliphist store &"
|
accel_profile = "flat";
|
||||||
"wl-clip-persist --clipboard both"
|
force_no_accel = 1;
|
||||||
"systemctl --user import-environment &"
|
sensitivity = 0;
|
||||||
"hash dbus-update-activation-environment 2>/dev/null &"
|
};
|
||||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &"
|
|
||||||
"aplay /home/${username}/sound/sys/login.wav &"
|
|
||||||
];
|
|
||||||
|
|
||||||
workspace = [
|
general = {
|
||||||
"1,persistent=true,monitor:eDP-1"
|
"$mainMod" = "super";
|
||||||
"2,persistent=true,monitor:eDP-1"
|
layout = "dwindle";
|
||||||
"3,persistent=true,monitor:eDP-1"
|
gaps_in = 4;
|
||||||
"4,persistent=true,monitor:eDP-1"
|
gaps_out = 8;
|
||||||
"5,persistent=true,monitor:eDP-1"
|
border_size = 2;
|
||||||
"6,persistent=true,monitor:eDP-1"
|
"col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
|
||||||
];
|
"col.inactive_border" = "0x00000000";
|
||||||
|
border_part_of_window = false;
|
||||||
|
no_border_on_floating = false;
|
||||||
|
};
|
||||||
|
misc = {
|
||||||
|
disable_autoreload = true;
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
always_follow_on_dnd = true;
|
||||||
|
layers_hog_keyboard_focus = true;
|
||||||
|
animate_manual_resizes = false;
|
||||||
|
enable_swallow = true;
|
||||||
|
focus_on_activate = true;
|
||||||
|
};
|
||||||
|
|
||||||
input = {
|
dwindle = {
|
||||||
kb_layout = "us";
|
no_gaps_when_only = false;
|
||||||
follow_mouse = 1;
|
force_split = 0;
|
||||||
accel_profile = "flat";
|
special_scale_factor = 1.0;
|
||||||
force_no_accel = 1;
|
split_width_multiplier = 1.0;
|
||||||
sensitivity = 0;
|
use_active_for_splits = true;
|
||||||
};
|
pseudotile = "yes";
|
||||||
|
preserve_split = "yes";
|
||||||
|
};
|
||||||
|
|
||||||
general = {
|
master = {
|
||||||
"$mainMod" = "super";
|
new_status = "master";
|
||||||
layout = "dwindle";
|
special_scale_factor = 1;
|
||||||
gaps_in = 4;
|
no_gaps_when_only = false;
|
||||||
gaps_out = 8;
|
};
|
||||||
border_size = 2;
|
|
||||||
"col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
|
|
||||||
"col.inactive_border" = "0x00000000";
|
|
||||||
border_part_of_window = false;
|
|
||||||
no_border_on_floating = false;
|
|
||||||
};
|
|
||||||
misc = {
|
|
||||||
disable_autoreload = true;
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
always_follow_on_dnd = true;
|
|
||||||
layers_hog_keyboard_focus = true;
|
|
||||||
animate_manual_resizes = false;
|
|
||||||
enable_swallow = true;
|
|
||||||
focus_on_activate = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
dwindle = {
|
decoration = {
|
||||||
no_gaps_when_only = false;
|
rounding = 7;
|
||||||
force_split = 0;
|
# active_opacity = 0.90;
|
||||||
special_scale_factor = 1.0;
|
# inactive_opacity = 0.90;
|
||||||
split_width_multiplier = 1.0;
|
# fullscreen_opacity = 1.0;
|
||||||
use_active_for_splits = true;
|
|
||||||
pseudotile = "yes";
|
|
||||||
preserve_split = "yes";
|
|
||||||
};
|
|
||||||
|
|
||||||
master = {
|
blur = {
|
||||||
new_status = "master";
|
enabled = true;
|
||||||
special_scale_factor = 1;
|
size = 1;
|
||||||
no_gaps_when_only = false;
|
passes = 1;
|
||||||
};
|
# size = 4;
|
||||||
|
# passes = 2;
|
||||||
|
brightness = 1;
|
||||||
|
contrast = 1.400;
|
||||||
|
ignore_opacity = true;
|
||||||
|
noise = 0;
|
||||||
|
new_optimizations = true;
|
||||||
|
xray = true;
|
||||||
|
};
|
||||||
|
|
||||||
decoration = {
|
drop_shadow = true;
|
||||||
rounding = 7;
|
|
||||||
# active_opacity = 0.90;
|
|
||||||
# inactive_opacity = 0.90;
|
|
||||||
# fullscreen_opacity = 1.0;
|
|
||||||
|
|
||||||
blur = {
|
shadow_ignore_window = true;
|
||||||
enabled = true;
|
shadow_offset = "0 2";
|
||||||
size = 1;
|
shadow_range = 20;
|
||||||
passes = 1;
|
shadow_render_power = 3;
|
||||||
# size = 4;
|
"col.shadow" = "rgba(00000055)";
|
||||||
# passes = 2;
|
};
|
||||||
brightness = 1;
|
|
||||||
contrast = 1.400;
|
|
||||||
ignore_opacity = true;
|
|
||||||
noise = 0;
|
|
||||||
new_optimizations = true;
|
|
||||||
xray = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
drop_shadow = true;
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
|
||||||
shadow_ignore_window = true;
|
bezier = [
|
||||||
shadow_offset = "0 2";
|
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||||
shadow_range = 20;
|
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||||
shadow_render_power = 3;
|
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||||
"col.shadow" = "rgba(00000055)";
|
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||||
};
|
];
|
||||||
|
|
||||||
animations = {
|
animation = [
|
||||||
enabled = true;
|
# Windows
|
||||||
|
"windowsIn, 1, 3, easeOutCubic, popin 30%" # window open
|
||||||
|
"windowsOut, 1, 3, fluent_decel, popin 70%" # window close.
|
||||||
|
"windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing.
|
||||||
|
|
||||||
bezier = [
|
# Fade
|
||||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
|
||||||
];
|
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
|
||||||
|
"border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
|
||||||
|
"borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
|
||||||
|
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
|
||||||
|
];
|
||||||
|
|
||||||
animation = [
|
bind = [
|
||||||
# Windows
|
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
||||||
"windowsIn, 1, 3, easeOutCubic, popin 30%" # window open
|
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
||||||
"windowsOut, 1, 3, fluent_decel, popin 70%" # window close.
|
"super, print, exec, grimblast copy area"
|
||||||
"windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing.
|
"super, t, exec, swaync-client -t -sw"
|
||||||
|
"super, a, exec, firefox"
|
||||||
# Fade
|
"super, q, exec, kitty --title Kitty"
|
||||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
"super, d, exec, switchmon"
|
||||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
"super, c, killactive,"
|
||||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
||||||
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
|
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
||||||
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
|
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
||||||
"border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
|
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
||||||
"borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
|
"super shift, q, exit,"
|
||||||
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
|
"super, m, exec, fuzzel"
|
||||||
];
|
"super, r, exec, neovide"
|
||||||
|
"super, b, togglesplit, # dwindle"
|
||||||
bind = [
|
"super, f, togglefloating"
|
||||||
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
"super, g, fullscreen"
|
||||||
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
"super, home, exec, /home/${username}/scripts/home.sh"
|
||||||
"super, print, exec, grimblast copy area"
|
"super, h, movefocus, l"
|
||||||
"super, t, exec, swaync-client -t -sw"
|
"super, l, movefocus, r"
|
||||||
"super, a, exec, firefox"
|
"super, k, movefocus, u"
|
||||||
"super, q, exec, kitty --title Kitty"
|
"super, j, movefocus, d"
|
||||||
"super, d, exec, switchmon"
|
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
||||||
"super, c, killactive,"
|
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
||||||
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
||||||
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
||||||
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
||||||
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
||||||
"super shift, q, exit,"
|
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
||||||
"super, m, exec, fuzzel"
|
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
||||||
"super, r, exec, neovide"
|
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
||||||
"super, b, togglesplit, # dwindle"
|
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
||||||
"super, f, togglefloating"
|
"super alt, g, togglegroup"
|
||||||
"super, g, fullscreen"
|
"super alt, h, changegroupactive, b"
|
||||||
"super, home, exec, /home/${username}/scripts/home.sh"
|
"super alt, l, changegroupactive, f"
|
||||||
"super, h, movefocus, l"
|
"super shift, h, movewindoworgroup, l"
|
||||||
"super, l, movefocus, r"
|
"super shift, l, movewindoworgroup, r"
|
||||||
"super, k, movefocus, u"
|
"super shift, k, movewindoworgroup, u"
|
||||||
"super, j, movefocus, d"
|
"super shift, j, movewindoworgroup, d"
|
||||||
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
"super shift, 1, movetoworkspace, 1"
|
||||||
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
"super shift, 2, movetoworkspace, 2"
|
||||||
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
"super shift, 3, movetoworkspace, 3"
|
||||||
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
"super shift, 4, movetoworkspace, 4"
|
||||||
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
"super shift, 5, movetoworkspace, 5"
|
||||||
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
"super shift, 6, movetoworkspace, 6"
|
||||||
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
"super shift, 7, movetoworkspace, 7"
|
||||||
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
"super shift, 8, movetoworkspace, 8"
|
||||||
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
"super shift, 9, movetoworkspace, 9"
|
||||||
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
"super shift, 0, movetoworkspace, 10"
|
||||||
"super alt, g, togglegroup"
|
"super, s, togglespecialworkspace, magic"
|
||||||
"super alt, h, changegroupactive, b"
|
"super shift, s, movetoworkspace, special:magic"
|
||||||
"super alt, l, changegroupactive, f"
|
"alt, grave, togglespecialworkspace, console"
|
||||||
"super shift, h, movewindoworgroup, l"
|
"super, mouse_down, workspace, e+1"
|
||||||
"super shift, l, movewindoworgroup, r"
|
"super, mouse_up, workspace, e-1"
|
||||||
"super shift, k, movewindoworgroup, u"
|
];
|
||||||
"super shift, j, movewindoworgroup, d"
|
bindm = [
|
||||||
"super shift, 1, movetoworkspace, 1"
|
"super, mouse:272, movewindow"
|
||||||
"super shift, 2, movetoworkspace, 2"
|
"super, mouse:273, resizewindow"
|
||||||
"super shift, 3, movetoworkspace, 3"
|
];
|
||||||
"super shift, 4, movetoworkspace, 4"
|
};
|
||||||
"super shift, 5, movetoworkspace, 5"
|
};
|
||||||
"super shift, 6, movetoworkspace, 6"
|
};
|
||||||
"super shift, 7, movetoworkspace, 7"
|
|
||||||
"super shift, 8, movetoworkspace, 8"
|
|
||||||
"super shift, 9, movetoworkspace, 9"
|
|
||||||
"super shift, 0, movetoworkspace, 10"
|
|
||||||
"super, s, togglespecialworkspace, magic"
|
|
||||||
"super shift, s, movetoworkspace, special:magic"
|
|
||||||
"alt, grave, togglespecialworkspace, console"
|
|
||||||
"super, mouse_down, workspace, e+1"
|
|
||||||
"super, mouse_up, workspace, e-1"
|
|
||||||
];
|
|
||||||
bindm = [
|
|
||||||
"super, mouse:272, movewindow"
|
|
||||||
"super, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
programs.autojump = {
|
||||||
{
|
enable = true;
|
||||||
programs.autojump = {
|
enableZshIntegration = true;
|
||||||
enable = true;
|
};
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{ inputs, ... }:
|
{inputs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.btop = {
|
programs.btop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
@@ -8,14 +6,14 @@
|
|||||||
color_theme = "tokyo-night";
|
color_theme = "tokyo-night";
|
||||||
theme_background = false;
|
theme_background = false;
|
||||||
update_ms = 500;
|
update_ms = 500;
|
||||||
vim_keys = true;
|
vim_keys = true;
|
||||||
proc_tree = true;
|
proc_tree = true;
|
||||||
temp_scale = "fahrenheit";
|
temp_scale = "fahrenheit";
|
||||||
disks_filter = "exclude=/boot";
|
disks_filter = "exclude=/boot";
|
||||||
show_swap = false;
|
show_swap = false;
|
||||||
swap_disk = false;
|
swap_disk = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = (with pkgs; [ nvtopPackages.intel ]);
|
home.packages = with pkgs; [nvtopPackages.intel];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
{ inputs, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.cava = {
|
programs.cava = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://github.com/catppuccin/cava
|
# https://github.com/catppuccin/cava
|
||||||
home.file.".config/cava/config".text = ''
|
home.file.".config/cava/config".text =
|
||||||
# custom cava config
|
''
|
||||||
'' + builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava";
|
# custom cava config
|
||||||
|
''
|
||||||
|
+ builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
programs.eza = {
|
||||||
{
|
enable = true;
|
||||||
programs.eza = {
|
enableZshIntegration = false;
|
||||||
enable = true;
|
extraOptions = ["-1" "-h" "--group-directories-first"];
|
||||||
enableZshIntegration = false;
|
icons = "auto";
|
||||||
extraOptions = [ "-1" "-h" "--group-directories-first" ];
|
git = true;
|
||||||
icons = "auto";
|
};
|
||||||
git = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,109 +1,122 @@
|
|||||||
{ nur, username }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.firefox = {
|
nur,
|
||||||
enable = true;
|
username,
|
||||||
policies = {
|
}: {
|
||||||
DisableTelemetry = true;
|
programs.firefox = {
|
||||||
DisableFirefoxStudies = true;
|
enable = true;
|
||||||
EnableTrackingProtection = {
|
policies = {
|
||||||
Value= true;
|
DisableTelemetry = true;
|
||||||
Locked = true;
|
DisableFirefoxStudies = true;
|
||||||
Cryptomining = true;
|
EnableTrackingProtection = {
|
||||||
Fingerprinting = true;
|
Value = true;
|
||||||
};
|
Locked = true;
|
||||||
DisablePocket = true;
|
Cryptomining = true;
|
||||||
DisableFirefoxAccounts = true;
|
Fingerprinting = true;
|
||||||
DisableAccounts = true;
|
};
|
||||||
DisableFirefoxScreenshots = true;
|
DisablePocket = true;
|
||||||
OverrideFirstRunPage = "";
|
DisableFirefoxAccounts = true;
|
||||||
OverridePostUpdatePage = "";
|
DisableAccounts = true;
|
||||||
DontCheckDefaultBrowser = true;
|
DisableFirefoxScreenshots = true;
|
||||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
OverrideFirstRunPage = "";
|
||||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
OverridePostUpdatePage = "";
|
||||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
DontCheckDefaultBrowser = true;
|
||||||
};
|
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||||
profiles.${username} = {
|
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||||
name = "${username}";
|
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||||
bookmarks = [
|
};
|
||||||
{ name = "Nix sites";
|
profiles.${username} = {
|
||||||
toolbar = true;
|
name = "${username}";
|
||||||
bookmarks = [
|
bookmarks = [
|
||||||
{ name = "NixOS Options";
|
{
|
||||||
url = "https://search.nixos.org/options";
|
name = "Nix sites";
|
||||||
}
|
toolbar = true;
|
||||||
{ name = "Home Manager Options";
|
bookmarks = [
|
||||||
url = "https://home-manager-options.extranix.com/";
|
{
|
||||||
}
|
name = "NixOS Options";
|
||||||
{ name = "Nixvim Docs";
|
url = "https://search.nixos.org/options";
|
||||||
url = "https://nix-community.github.io/nixvim/";
|
}
|
||||||
}
|
{
|
||||||
{ name = "Noogle";
|
name = "Home Manager Options";
|
||||||
url = "https://noogle.dev/";
|
url = "https://home-manager-options.extranix.com/";
|
||||||
}
|
}
|
||||||
{ name = "NixOS Wiki";
|
{
|
||||||
url = "https://nixos.wiki/";
|
name = "Nixvim Docs";
|
||||||
}
|
url = "https://nix-community.github.io/nixvim/";
|
||||||
{ name = "NixOS Manual";
|
}
|
||||||
url = "https://nixos.org/manual/nixos/stable";
|
{
|
||||||
}
|
name = "Noogle";
|
||||||
{ name = "Nixpkgs Reference";
|
url = "https://noogle.dev/";
|
||||||
url = "https://nixos.org/manual/nixpkgs/stable";
|
}
|
||||||
}
|
{
|
||||||
];
|
name = "NixOS Wiki";
|
||||||
}
|
url = "https://nixos.wiki/";
|
||||||
{ name = "Rust Manual";
|
}
|
||||||
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
{
|
||||||
}
|
name = "NixOS Manual";
|
||||||
{ name = "ChatGPT";
|
url = "https://nixos.org/manual/nixos/stable";
|
||||||
url = "https://chatgpt.com/";
|
}
|
||||||
}
|
{
|
||||||
{ name = "DataAnnotation";
|
name = "Nixpkgs Reference";
|
||||||
url = "https://app.dataannotation.tech/users/sign_in";
|
url = "https://nixos.org/manual/nixpkgs/stable";
|
||||||
}
|
}
|
||||||
{ name = "Nerd Fonts Cheatsheet";
|
];
|
||||||
url = "https://www.nerdfonts.com/cheat-sheet";
|
}
|
||||||
}
|
{
|
||||||
];
|
name = "Rust Manual";
|
||||||
extensions = with nur.repos.rycee.firefox-addons; [
|
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
||||||
darkreader
|
}
|
||||||
adnauseam
|
{
|
||||||
cookie-autodelete
|
name = "ChatGPT";
|
||||||
disconnect
|
url = "https://chatgpt.com/";
|
||||||
firefox-color
|
}
|
||||||
vimium
|
{
|
||||||
firenvim
|
name = "DataAnnotation";
|
||||||
privacy-badger
|
url = "https://app.dataannotation.tech/users/sign_in";
|
||||||
new-tab-override
|
}
|
||||||
tampermonkey
|
{
|
||||||
];
|
name = "Nerd Fonts Cheatsheet";
|
||||||
extraConfig = ''
|
url = "https://www.nerdfonts.com/cheat-sheet";
|
||||||
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
}
|
||||||
"browser.active_color" = "#EE0000";
|
];
|
||||||
"browser.active_color.dark" = "#FF6666";
|
extensions = with nur.repos.rycee.firefox-addons; [
|
||||||
"browser.anchor_color" = "#0000EE";
|
darkreader
|
||||||
"browser.anchor_color.dark" = "#8C8CFF";
|
adnauseam
|
||||||
"browser.display.background_color" = "#FFFFFF";
|
cookie-autodelete
|
||||||
"browser.display.background_color.dark" = "#1C1B22";
|
disconnect
|
||||||
"browser.display.document_color_use" = "1";
|
firefox-color
|
||||||
"browser.display.foreground_color" = "#000000";
|
vimium
|
||||||
"browser.display.foreground_color.dark" = "#FBFBFE";
|
firenvim
|
||||||
"browser.display.suppress_canvas_background_image_on_forced_colors" = "true";
|
privacy-badger
|
||||||
"browser.display.use_system_colors" = "false";
|
new-tab-override
|
||||||
"browser.newtabpage.activity-stream.newNewtabExperience.colors" = "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A";
|
tampermonkey
|
||||||
"browser.theme.colorway-closet" = "true";
|
];
|
||||||
"browser.theme.colorway-migration" = "true";
|
extraConfig = ''
|
||||||
"browser.theme.windows.accent-color-in-tabs.enabled" = "false";
|
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||||
"browser.visited_color" = "#551A8B";
|
"browser.active_color" = "#EE0000";
|
||||||
"browser.visited_color.dark" = "#FFADFF";
|
"browser.active_color.dark" = "#FF6666";
|
||||||
"browser.newtabpage.pinned" = [{
|
"browser.anchor_color" = "#0000EE";
|
||||||
title = "Homepage";
|
"browser.anchor_color.dark" = "#8C8CFF";
|
||||||
url = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
"browser.display.background_color" = "#FFFFFF";
|
||||||
}];
|
"browser.display.background_color.dark" = "#1C1B22";
|
||||||
"devtools.defaultColorUnit" = "authored";
|
"browser.display.document_color_use" = "1";
|
||||||
"editor.background_color" = "#FFFFFF";
|
"browser.display.foreground_color" = "#000000";
|
||||||
"editor.use_custom_colors" = "false";
|
"browser.display.foreground_color.dark" = "#FBFBFE";
|
||||||
'';
|
"browser.display.suppress_canvas_background_image_on_forced_colors" = "true";
|
||||||
};
|
"browser.display.use_system_colors" = "false";
|
||||||
};
|
"browser.newtabpage.activity-stream.newNewtabExperience.colors" = "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A";
|
||||||
|
"browser.theme.colorway-closet" = "true";
|
||||||
|
"browser.theme.colorway-migration" = "true";
|
||||||
|
"browser.theme.windows.accent-color-in-tabs.enabled" = "false";
|
||||||
|
"browser.visited_color" = "#551A8B";
|
||||||
|
"browser.visited_color.dark" = "#FFADFF";
|
||||||
|
"browser.newtabpage.pinned" = [{
|
||||||
|
title = "Homepage";
|
||||||
|
url = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||||
|
}];
|
||||||
|
"devtools.defaultColorUnit" = "authored";
|
||||||
|
"editor.background_color" = "#FFFFFF";
|
||||||
|
"editor.use_custom_colors" = "false";
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.fuzzel = {
|
programs.fuzzel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@@ -9,7 +7,7 @@
|
|||||||
line-height = 25;
|
line-height = 25;
|
||||||
fields = "name,generic,comment,categories,filename,keywords";
|
fields = "name,generic,comment,categories,filename,keywords";
|
||||||
terminal = "kitty";
|
terminal = "kitty";
|
||||||
prompt = "' ➜ '" ;
|
prompt = "' ➜ '";
|
||||||
icon-theme = "Papirus-Dark";
|
icon-theme = "Papirus-Dark";
|
||||||
layer = "top";
|
layer = "top";
|
||||||
lines = 10;
|
lines = 10;
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
programs.fzf = {
|
||||||
{
|
enable = true;
|
||||||
programs.fzf = {
|
enableZshIntegration = true;
|
||||||
enable = true;
|
};
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
programs.git = {
|
||||||
{
|
enable = true;
|
||||||
programs.git = {
|
userEmail = "pagedmov@gmail.com";
|
||||||
enable = true;
|
userName = "pagedmov";
|
||||||
userEmail = "pagedmov@gmail.com";
|
};
|
||||||
userName = "pagedmov";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
@@ -17,7 +15,7 @@
|
|||||||
window_padding_width = 10;
|
window_padding_width = 10;
|
||||||
scrollback_lines = 10000;
|
scrollback_lines = 10000;
|
||||||
enable_audio_bell = false;
|
enable_audio_bell = false;
|
||||||
allow_remote_control = true;
|
allow_remote_control = true;
|
||||||
mouse_hide_wait = 60;
|
mouse_hide_wait = 60;
|
||||||
|
|
||||||
## Tabs
|
## Tabs
|
||||||
|
|||||||
@@ -1,13 +1,10 @@
|
|||||||
{ username, ... }:
|
{username, ...}: let
|
||||||
|
home = "/home/${username}";
|
||||||
let
|
in {
|
||||||
home = "/home/${username}";
|
programs.password-store = {
|
||||||
in
|
enable = true;
|
||||||
{
|
settings = {
|
||||||
programs.password-store = {
|
PASSWORD_STORE_DIR = "${home}/.password-store";
|
||||||
enable = true;
|
};
|
||||||
settings = {
|
};
|
||||||
PASSWORD_STORE_DIR = "${home}/.password-store";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,15 +1,16 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "compress" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if (( $# == 1 )) then
|
||||||
pkgs.writeShellScriptBin "compress" (''
|
# echo -ne "Archive name: "
|
||||||
#!/usr/bin/env bash
|
# read name
|
||||||
|
# tar -cvzf "$name.tar.gz" $1
|
||||||
if (( $# == 1 )) then
|
tar -cvzf "$1.tar.gz" $1
|
||||||
# echo -ne "Archive name: "
|
else
|
||||||
# read name
|
echo "Wrong number of arguments..."
|
||||||
# tar -cvzf "$name.tar.gz" $1
|
fi
|
||||||
tar -cvzf "$1.tar.gz" $1
|
''
|
||||||
else
|
|
||||||
echo "Wrong number of arguments..."
|
|
||||||
fi
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "crs" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
cargo test && \
|
||||||
pkgs.writeShellScriptBin "crs" (''
|
cargo run
|
||||||
#!/run/current-system/sw/bin/bash
|
''
|
||||||
|
|
||||||
cargo test && \
|
|
||||||
cargo run
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "extract" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
for i in "$@" ; do
|
||||||
pkgs.writeShellScriptBin "extract" (''
|
tar -xvzf $i
|
||||||
#!/usr/bin/env bash
|
break
|
||||||
|
done
|
||||||
for i in "$@" ; do
|
''
|
||||||
tar -xvzf $i
|
|
||||||
break
|
|
||||||
done
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "invoke" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
nix run nixpkgs#$"@"
|
||||||
pkgs.writeShellScriptBin "invoke" (''
|
''
|
||||||
#!/run/current-system/sw/bin/bash
|
|
||||||
|
|
||||||
nix run nixpkgs#$"@"
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "keybinds" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
config_file=~/.config/hypr/hyprland.conf
|
||||||
pkgs.writeShellScriptBin "keybinds" (''
|
keybinds=$(grep -oP '(?<=bind=).*' $config_file)
|
||||||
#!/usr/bin/env bash
|
keybinds=$(echo "$keybinds" | sed 's/,\([^,]*\)$/ = \1/' | sed 's/, exec//g' | sed 's/^,//g')
|
||||||
|
rofi -dmenu -theme-str 'window {width: 50%;}' <<< "$keybinds"
|
||||||
config_file=~/.config/hypr/hyprland.conf
|
''
|
||||||
keybinds=$(grep -oP '(?<=bind=).*' $config_file)
|
|
||||||
keybinds=$(echo "$keybinds" | sed 's/,\([^,]*\)$/ = \1/' | sed 's/, exec//g' | sed 's/^,//g')
|
|
||||||
rofi -dmenu -theme-str 'window {width: 50%;}' <<< "$keybinds"
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "mcd" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "mcd" (''
|
mkdir -p "$1"
|
||||||
#!/run/current-system/sw/bin/bash
|
cd "$1" || exit
|
||||||
|
''
|
||||||
|
|
||||||
mkdir -p "$1"
|
|
||||||
cd "$1" || exit
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,21 +1,22 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "runbg" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
[ $# -eq 0 ] && { # $# is number of args
|
||||||
pkgs.writeShellScriptBin "runbg" (''
|
echo "$(basename $0): missing command" >&2
|
||||||
#!/usr/bin/env bash
|
exit 1
|
||||||
|
}
|
||||||
[ $# -eq 0 ] && { # $# is number of args
|
prog="$(which "$1")" # see below
|
||||||
echo "$(basename $0): missing command" >&2
|
[ -z "$prog" ] && {
|
||||||
exit 1
|
echo "$(basename $0): unknown command: $1" >&2
|
||||||
}
|
exit 1
|
||||||
prog="$(which "$1")" # see below
|
}
|
||||||
[ -z "$prog" ] && {
|
shift # remove $1, now $prog, from args
|
||||||
echo "$(basename $0): unknown command: $1" >&2
|
tty -s && exec </dev/null # if stdin is a terminal, redirect from null
|
||||||
exit 1
|
tty -s <&1 && exec >/dev/null # if stdout is a terminal, redirect to null
|
||||||
}
|
tty -s <&2 && exec 2>&1 # stderr to stdout (which might not be null)
|
||||||
shift # remove $1, now $prog, from args
|
"$prog" "$@" & # $@ is all args
|
||||||
tty -s && exec </dev/null # if stdin is a terminal, redirect from null
|
''
|
||||||
tty -s <&1 && exec >/dev/null # if stdout is a terminal, redirect to null
|
|
||||||
tty -s <&2 && exec 2>&1 # stderr to stdout (which might not be null)
|
|
||||||
"$prog" "$@" & # $@ is all args
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "scheck" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
[ "$SOUNDS_ENABLED" -eq 1 ]
|
||||||
pkgs.writeShellScriptBin "scheck" (''
|
''
|
||||||
#!/run/current-system/sw/bin/bash
|
|
||||||
|
|
||||||
[ "$SOUNDS_ENABLED" -eq 1 ]
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
pkgs.writeShellScriptBin "splash" (''
|
}:
|
||||||
#!/bin/bash
|
pkgs.writeShellScriptBin "splash" ''
|
||||||
|
#!/bin/bash
|
||||||
echo "NixOS kernel ver. $(uname -a | awk '{print $3}') x86_64 GNU/Linux"
|
|
||||||
date +"%A %B %-d %Y"
|
|
||||||
echo -e "\033[38;2;0;180;205m$(toilet -t -f Slant.flf glasshouse)\033[0m"
|
|
||||||
echo
|
|
||||||
'')
|
|
||||||
|
|
||||||
|
echo "NixOS kernel ver. $(uname -a | awk '{print $3}') x86_64 GNU/Linux"
|
||||||
|
date +"%A %B %-d %Y"
|
||||||
|
echo -e "\033[38;2;0;180;205m$(toilet -t -f Slant.flf glasshouse)\033[0m"
|
||||||
|
echo
|
||||||
|
''
|
||||||
|
|||||||
@@ -1,62 +1,144 @@
|
|||||||
{ host, self, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
compress = (import ./commands/compress.nix { self = self; pkgs = pkgs;});
|
|
||||||
passhelper = (import ./wm-controls/passhelper.nix { self = self; pkgs = pkgs;});
|
|
||||||
crs = (import ./commands/crs.nix { self = self; pkgs = pkgs;});
|
|
||||||
extract = (import ./commands/extract.nix { self = self; pkgs = pkgs;});
|
|
||||||
invoke = (import ./commands/invoke.nix { self = self; pkgs = pkgs;});
|
|
||||||
splash = (import ./commands/splash.nix { self = self; pkgs = pkgs;});
|
|
||||||
scheck = (import ./commands/s_check.nix { self = self; pkgs = pkgs;});
|
|
||||||
runbg = (import ./commands/runbg.nix { self = self; pkgs = pkgs;});
|
|
||||||
mcd = (import ./commands/mcd.nix { self = self; pkgs = pkgs;});
|
|
||||||
garbage-collect = (import ./nix/garbage-collect.nix { self = self; pkgs = pkgs;});
|
|
||||||
homep = (import ./nix/homep.nix { self = self; pkgs = pkgs;});
|
|
||||||
homer = (import ./nix/homer.nix { self = self; pkgs = pkgs;});
|
|
||||||
nsp = (import ./nix/nsp.nix { self = self; pkgs = pkgs;});
|
|
||||||
nixr = (import ./nix/nixr.nix { self = self; pkgs = pkgs;});
|
|
||||||
nixp = (import ./nix/nixp.nix { self = self; pkgs = pkgs;});
|
|
||||||
hyprland = (import ./wm-controls/hyprland.nix { pkgs=pkgs; });
|
|
||||||
lofi = (import ./wm-controls/lofi.nix { self = self; pkgs = pkgs;});
|
|
||||||
music = (import ./wm-controls/music.nix { self = self; pkgs = pkgs;});
|
|
||||||
shutdown-script = (import ./wm-controls/shutdown-script.nix { self = self; pkgs = pkgs;});
|
|
||||||
switchmon = (import ./wm-controls/switchmon.nix { self = self; pkgs = pkgs;});
|
|
||||||
toggle_blur = (import ./wm-controls/toggle_blur.nix { self = self; pkgs = pkgs;});
|
|
||||||
toggle_float = (import ./wm-controls/toggle_float.nix { self = self; pkgs = pkgs;});
|
|
||||||
toggle_oppacity = (import ./wm-controls/toggle_oppacity.nix { self = self; pkgs = pkgs;});
|
|
||||||
toggle_waybar = (import ./wm-controls/toggle_waybar.nix { self = self; pkgs = pkgs;});
|
|
||||||
rebuild = (import ./nix/rebuild.nix { host = host; self = self; pkgs = pkgs;});
|
|
||||||
nixcommit = (import ./nix/nixcommit.nix { host = host; self = self; pkgs = pkgs;});
|
|
||||||
nixpush = (import ./nix/nixpush.nix { self = self; pkgs = pkgs;});
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
home.packages = [
|
host,
|
||||||
compress
|
self,
|
||||||
passhelper
|
pkgs,
|
||||||
crs
|
...
|
||||||
extract
|
}: let
|
||||||
garbage-collect
|
compress = import ./commands/compress.nix {
|
||||||
homep
|
self = self;
|
||||||
homer
|
pkgs = pkgs;
|
||||||
hyprland
|
};
|
||||||
invoke
|
passhelper = import ./wm-controls/passhelper.nix {
|
||||||
lofi
|
self = self;
|
||||||
mcd
|
pkgs = pkgs;
|
||||||
music
|
};
|
||||||
nixcommit
|
crs = import ./commands/crs.nix {
|
||||||
nixp
|
self = self;
|
||||||
nixpush
|
pkgs = pkgs;
|
||||||
nixr
|
};
|
||||||
rebuild
|
extract = import ./commands/extract.nix {
|
||||||
nsp
|
self = self;
|
||||||
runbg
|
pkgs = pkgs;
|
||||||
scheck
|
};
|
||||||
shutdown-script
|
invoke = import ./commands/invoke.nix {
|
||||||
splash
|
self = self;
|
||||||
switchmon
|
pkgs = pkgs;
|
||||||
toggle_blur
|
};
|
||||||
toggle_float
|
splash = import ./commands/splash.nix {
|
||||||
toggle_oppacity
|
self = self;
|
||||||
toggle_waybar
|
pkgs = pkgs;
|
||||||
];
|
};
|
||||||
|
scheck = import ./commands/s_check.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
runbg = import ./commands/runbg.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
mcd = import ./commands/mcd.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
garbage-collect = import ./nix/garbage-collect.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
homep = import ./nix/homep.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
homer = import ./nix/homer.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
nsp = import ./nix/nsp.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
nixr = import ./nix/nixr.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
nixp = import ./nix/nixp.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
hyprland = import ./wm-controls/hyprland.nix {pkgs = pkgs;};
|
||||||
|
lofi = import ./wm-controls/lofi.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
music = import ./wm-controls/music.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
shutdown-script = import ./wm-controls/shutdown-script.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
switchmon = import ./wm-controls/switchmon.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
toggle_blur = import ./wm-controls/toggle_blur.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
toggle_float = import ./wm-controls/toggle_float.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
toggle_oppacity = import ./wm-controls/toggle_oppacity.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
toggle_waybar = import ./wm-controls/toggle_waybar.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
rebuild = import ./nix/rebuild.nix {
|
||||||
|
host = host;
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
nixcommit = import ./nix/nixcommit.nix {
|
||||||
|
host = host;
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
nixpush = import ./nix/nixpush.nix {
|
||||||
|
self = self;
|
||||||
|
pkgs = pkgs;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
home.packages = [
|
||||||
|
compress
|
||||||
|
passhelper
|
||||||
|
crs
|
||||||
|
extract
|
||||||
|
garbage-collect
|
||||||
|
homep
|
||||||
|
homer
|
||||||
|
hyprland
|
||||||
|
invoke
|
||||||
|
lofi
|
||||||
|
mcd
|
||||||
|
music
|
||||||
|
nixcommit
|
||||||
|
nixp
|
||||||
|
nixpush
|
||||||
|
nixr
|
||||||
|
rebuild
|
||||||
|
nsp
|
||||||
|
runbg
|
||||||
|
scheck
|
||||||
|
shutdown-script
|
||||||
|
splash
|
||||||
|
switchmon
|
||||||
|
toggle_blur
|
||||||
|
toggle_float
|
||||||
|
toggle_oppacity
|
||||||
|
toggle_waybar
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +1,32 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "garbage-collect" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "garbage-collect" (''
|
echo "This will delete all unused paths in the nix store and delete any files in the gtrash folder."
|
||||||
#!/run/current-system/sw/bin/bash
|
echo -e "\033[1;4;38;2;243;139;168mThis process is irreversible.\033[0m Are you sure?"
|
||||||
|
select yn in "Yes" "No"; do
|
||||||
|
case $yn in
|
||||||
|
Yes ) echo "Sweeping system...";scheck && runbg aplay "$HOME/media/sound/sys/collectgarbage.wav";break;;
|
||||||
|
No ) echo "Canceling garbage collection."; return;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
output=$(nix-collect-garbage | tee /dev/tty)
|
||||||
|
|
||||||
|
nix_freed=$(echo "$output" | grep -oP '\d+(\.\d+)? MiB freed' | cut -d' ' -f1)
|
||||||
|
|
||||||
echo "This will delete all unused paths in the nix store and delete any files in the gtrash folder."
|
if [ "$(ls -A ~/.local/share/Trash/files/ 2>/dev/null)" ]; then
|
||||||
echo -e "\033[1;4;38;2;243;139;168mThis process is irreversible.\033[0m Are you sure?"
|
rm_freed=$(du ~/.local/share/Trash/files 2> /dev/null | awk '{print $1}')
|
||||||
select yn in "Yes" "No"; do
|
rm_freed=$(echo "scale=2; $rm_freed / 1000" | bc)
|
||||||
case $yn in
|
/run/current-system/sw/bin/rm -rfv ~/.local/share/Trash/files
|
||||||
Yes ) echo "Sweeping system...";scheck && runbg aplay "$HOME/media/sound/sys/collectgarbage.wav";break;;
|
mkdir ~/.local/share/Trash/files
|
||||||
No ) echo "Canceling garbage collection."; return;;
|
else
|
||||||
esac
|
rm_freed="0"
|
||||||
done
|
fi
|
||||||
output=$(nix-collect-garbage | tee /dev/tty)
|
total_freed=$(echo "$nix_freed + $rm_freed" | bc)
|
||||||
|
echo -e "System cleaning complete, freed \033[1;4;38;2;166;227;161m$total_freed MiB\033[0m in total"
|
||||||
nix_freed=$(echo "$output" | grep -oP '\d+(\.\d+)? MiB freed' | cut -d' ' -f1)
|
scheck && runbg aplay "$HOME/media/sound/sys/rm.wav"
|
||||||
|
''
|
||||||
if [ "$(ls -A ~/.local/share/Trash/files/ 2>/dev/null)" ]; then
|
|
||||||
rm_freed=$(du ~/.local/share/Trash/files 2> /dev/null | awk '{print $1}')
|
|
||||||
rm_freed=$(echo "scale=2; $rm_freed / 1000" | bc)
|
|
||||||
/run/current-system/sw/bin/rm -rfv ~/.local/share/Trash/files
|
|
||||||
mkdir ~/.local/share/Trash/files
|
|
||||||
else
|
|
||||||
rm_freed="0"
|
|
||||||
fi
|
|
||||||
total_freed=$(echo "$nix_freed + $rm_freed" | bc)
|
|
||||||
echo -e "System cleaning complete, freed \033[1;4;38;2;166;227;161m$total_freed MiB\033[0m in total"
|
|
||||||
scheck && runbg aplay "$HOME/media/sound/sys/rm.wav"
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,35 +1,36 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "homep" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
# Ensure the package manifest is generated or updated
|
||||||
|
if [ ! -f "/tmp/nixpkgs_manifest.txt" ]; then
|
||||||
|
echo "Generating Nixpkgs manifest..."
|
||||||
|
nix-env -qaP 2>/dev/null | awk '{print $1}' | sed 's/nixos\.//' > /tmp/nixpkgs_manifest.txt
|
||||||
|
fi
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "homep" (''
|
# Select packages using fzf with multi-select enabled
|
||||||
#!/run/current-system/sw/bin/bash
|
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
||||||
|
|
||||||
# Ensure the package manifest is generated or updated
|
# Check if any packages were selected
|
||||||
if [ ! -f "/tmp/nixpkgs_manifest.txt" ]; then
|
if [ -n "$selected_packages" ]; then
|
||||||
echo "Generating Nixpkgs manifest..."
|
echo "$selected_packages" | while read -r package; do
|
||||||
nix-env -qaP 2>/dev/null | awk '{print $1}' | sed 's/nixos\.//' > /tmp/nixpkgs_manifest.txt
|
# Append each selected package to the Nix config file
|
||||||
fi
|
sed -i "/^\t]/i \ \t\t$package" "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix"
|
||||||
|
echo "Added $package to the Home Manager configuration."
|
||||||
|
done
|
||||||
|
|
||||||
# Select packages using fzf with multi-select enabled
|
echo "Packages added successfully. Rebuild system config?"
|
||||||
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
select yn in "Yes" "No"; do
|
||||||
|
case $yn in
|
||||||
|
"Yes" ) nixswitch;break;;
|
||||||
|
"No" ) exit;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Check if any packages were selected
|
else
|
||||||
if [ -n "$selected_packages" ]; then
|
echo "No packages selected."
|
||||||
echo "$selected_packages" | while read -r package; do
|
fi
|
||||||
# Append each selected package to the Nix config file
|
''
|
||||||
sed -i "/^\t]/i \ \t\t$package" "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix"
|
|
||||||
echo "Added $package to the Home Manager configuration."
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Packages added successfully. Rebuild system config?"
|
|
||||||
select yn in "Yes" "No"; do
|
|
||||||
case $yn in
|
|
||||||
"Yes" ) nixswitch;break;;
|
|
||||||
"No" ) exit;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "No packages selected."
|
|
||||||
fi
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "homer" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
selected_packages=$(sed -n '/\[/,/\]/p' "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix" | sed '1d;$d' | fzf -m)
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "homer" (''
|
if [ -n "$selected_packages" ]; then
|
||||||
#!/run/current-system/sw/bin/bash
|
echo "$selected_packages" | while read -r package; do
|
||||||
|
sed -i "/\b$package\b/d" "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix"
|
||||||
|
echo "Removed $package from the Home Manager configuration."
|
||||||
|
done
|
||||||
|
|
||||||
selected_packages=$(sed -n '/\[/,/\]/p' "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix" | sed '1d;$d' | fzf -m)
|
echo "Removed packages. Rebuild system config?"
|
||||||
|
select yn in "Yes" "No"; do
|
||||||
|
case $yn in
|
||||||
|
"Yes" ) nixswitch;break;;
|
||||||
|
"No" ) exit;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
if [ -n "$selected_packages" ]; then
|
else
|
||||||
echo "$selected_packages" | while read -r package; do
|
echo "No packages removed."
|
||||||
sed -i "/\b$package\b/d" "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix"
|
fi
|
||||||
echo "Removed $package from the Home Manager configuration."
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Removed packages. Rebuild system config?"
|
|
||||||
select yn in "Yes" "No"; do
|
|
||||||
case $yn in
|
|
||||||
"Yes" ) nixswitch;break;;
|
|
||||||
"No" ) exit;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "No packages removed."
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'')
|
''
|
||||||
|
|||||||
@@ -1,46 +1,49 @@
|
|||||||
{ self, pkgs, host}:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
host,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "nixcommit" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||||
|
builtin cd "$HOME/sysflakes" || exit
|
||||||
|
nix flake update
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "nixcommit" (''
|
if [ -n "$2" ]; then
|
||||||
#!/run/current-system/sw/bin/bash
|
echo "too many arguments"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
diffcheck=$(git status | grep "working tree clean")
|
||||||
builtin cd "$HOME/sysflakes" || exit
|
if [ -n "$diffcheck" ]; then
|
||||||
nix flake update
|
scheck && runbg aplay ${self}/media/sound/warning.wav
|
||||||
|
echo "Nothing to commit"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "$2" ]; then
|
alejandra . &> /dev/null
|
||||||
echo "too many arguments"
|
git add .
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
diffcheck=$(git status | grep "working tree clean")
|
# Automatic fixup commit to the most recent commit (HEAD~1)
|
||||||
if [ -n "$diffcheck" ]; then
|
if [ -z "$1" ]; then
|
||||||
scheck && runbg aplay ${self}/media/sound/warning.wav
|
commits=$(git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline)
|
||||||
echo "Nothing to commit"
|
if [ -n "$commits" ]; then
|
||||||
exit
|
git commit --fixup HEAD
|
||||||
fi
|
echo "No commit message given"
|
||||||
|
echo "Squashing into most recent commit"
|
||||||
|
git rebase --autosquash master
|
||||||
|
else
|
||||||
|
echo "No prior local commits to squash into, please provide a commit message"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Generate the system generation number
|
||||||
|
gen=$(readlink /nix/var/nix/profiles/system | sed 's/.*system-\([0-9]*\)-link/\1/')
|
||||||
|
gen=$((gen + 1))
|
||||||
|
git commit -m "(${host}) Gen $gen: $1"
|
||||||
|
fi
|
||||||
|
|
||||||
git add .
|
scheck && runbg aplay ${self}/media/sound/gitcommit.wav
|
||||||
|
builtin cd - || exit
|
||||||
# Automatic fixup commit to the most recent commit (HEAD~1)
|
''
|
||||||
if [ -z "$1" ]; then
|
|
||||||
commits=$(git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline)
|
|
||||||
if [ -n "$commits" ]; then
|
|
||||||
git commit --fixup HEAD
|
|
||||||
echo "No commit message given"
|
|
||||||
echo "Squashing into most recent commit"
|
|
||||||
git rebase --autosquash master
|
|
||||||
else
|
|
||||||
echo "No prior local commits to squash into, please provide a commit message"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# Generate the system generation number
|
|
||||||
gen=$(readlink /nix/var/nix/profiles/system | sed 's/.*system-\([0-9]*\)-link/\1/')
|
|
||||||
gen=$((gen + 1))
|
|
||||||
git commit -m "(${host}) Gen $gen: $1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
scheck && runbg aplay ${self}/media/sound/gitcommit.wav
|
|
||||||
builtin cd - || exit
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,35 +1,36 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "nixp" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
# Ensure the package manifest is generated or updated
|
||||||
|
if [ ! -f "/tmp/nixpkgs_manifest.txt" ]; then
|
||||||
|
echo "Generating Nixpkgs manifest..."
|
||||||
|
nix-env -qaP 2>/dev/null | awk '{print $1}' | sed 's/nixos\.//' > /tmp/nixpkgs_manifest.txt
|
||||||
|
fi
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "nixp" (''
|
# Select packages using fzf with multi-select enabled
|
||||||
#!/run/current-system/sw/bin/bash
|
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
||||||
|
|
||||||
# Ensure the package manifest is generated or updated
|
# Check if any packages were selected
|
||||||
if [ ! -f "/tmp/nixpkgs_manifest.txt" ]; then
|
if [ -n "$selected_packages" ]; then
|
||||||
echo "Generating Nixpkgs manifest..."
|
echo "$selected_packages" | while read -r package; do
|
||||||
nix-env -qaP 2>/dev/null | awk '{print $1}' | sed 's/nixos\.//' > /tmp/nixpkgs_manifest.txt
|
# Append each selected package to the Nix config file
|
||||||
fi
|
sed -i "/^\t]/i \ \t\t$package" "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix"
|
||||||
|
echo "Added $package to the Nix configuration."
|
||||||
|
done
|
||||||
|
|
||||||
# Select packages using fzf with multi-select enabled
|
echo "Packages added successfully. Rebuild system config?"
|
||||||
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
select yn in "Yes" "No"; do
|
||||||
|
case $yn in
|
||||||
|
"Yes" ) nixswitch;break;;
|
||||||
|
"No" ) exit;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Check if any packages were selected
|
else
|
||||||
if [ -n "$selected_packages" ]; then
|
echo "No packages selected."
|
||||||
echo "$selected_packages" | while read -r package; do
|
fi
|
||||||
# Append each selected package to the Nix config file
|
''
|
||||||
sed -i "/^\t]/i \ \t\t$package" "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix"
|
|
||||||
echo "Added $package to the Nix configuration."
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Packages added successfully. Rebuild system config?"
|
|
||||||
select yn in "Yes" "No"; do
|
|
||||||
case $yn in
|
|
||||||
"Yes" ) nixswitch;break;;
|
|
||||||
"No" ) exit;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "No packages selected."
|
|
||||||
fi
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,24 +1,25 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "nixpush" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||||
|
set -e
|
||||||
|
pushd "$HOME/sysflakes"
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "nixpush" (''
|
commits=$(git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline)
|
||||||
#!/run/current-system/sw/bin/bash
|
if [ -z "$commits" ]; then
|
||||||
|
scheck && runbg aplay ${self}/media/sound/warning.wav
|
||||||
|
echo "Nothing to push"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
echo "Pushing the following commits upstream on branch '$(git branch | rg "\*" | awk '{print $2}')'"
|
||||||
set -e
|
echo "$commits"
|
||||||
pushd "$HOME/sysflakes"
|
|
||||||
|
|
||||||
commits=$(git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline)
|
git push
|
||||||
if [ -z "$commits" ]; then
|
scheck && runbg aplay ${self}/media/sound/gitpush.wav
|
||||||
scheck && runbg aplay ${self}/media/sound/warning.wav
|
popd
|
||||||
echo "Nothing to push"
|
''
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Pushing the following commits upstream on branch '$(git branch | rg "\*" | awk '{print $2}')'"
|
|
||||||
echo "$commits"
|
|
||||||
|
|
||||||
git push
|
|
||||||
scheck && runbg aplay ${self}/media/sound/gitpush.wav
|
|
||||||
popd
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "nixr" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
selected_packages=$(sed -n '/\[/,/\]/p' "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix" | sed '1d;$d' | fzf -m)
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "nixr" (''
|
if [ -n "$selected_packages" ]; then
|
||||||
#!/run/current-system/sw/bin/bash
|
echo "$selected_packages" | while read -r package; do
|
||||||
|
sed -i "/\b$package\b/d" "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix"
|
||||||
|
echo "Removed $package from the Nix configuration."
|
||||||
|
done
|
||||||
|
|
||||||
selected_packages=$(sed -n '/\[/,/\]/p' "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix" | sed '1d;$d' | fzf -m)
|
echo "Removed packages. Rebuild system config?"
|
||||||
|
select yn in "Yes" "No"; do
|
||||||
|
case $yn in
|
||||||
|
"Yes" ) nixswitch;break;;
|
||||||
|
"No" ) exit;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
if [ -n "$selected_packages" ]; then
|
else
|
||||||
echo "$selected_packages" | while read -r package; do
|
echo "No packages removed."
|
||||||
sed -i "/\b$package\b/d" "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix"
|
fi
|
||||||
echo "Removed $package from the Nix configuration."
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Removed packages. Rebuild system config?"
|
|
||||||
select yn in "Yes" "No"; do
|
|
||||||
case $yn in
|
|
||||||
"Yes" ) nixswitch;break;;
|
|
||||||
"No" ) exit;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "No packages removed."
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'')
|
''
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "nsp" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
nix-shell -p "$@" --run zsh
|
||||||
pkgs.writeShellScriptBin "nsp" (''
|
''
|
||||||
#!/run/current-system/sw/bin/bash
|
|
||||||
|
|
||||||
nix-shell -p "$@" --run zsh
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,20 +1,21 @@
|
|||||||
{ host, self, pkgs }:
|
{
|
||||||
|
host,
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "rebuild" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
|
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||||
|
set -e
|
||||||
|
pushd "$HOME/sysflakes"
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "rebuild" (''
|
nix flake update
|
||||||
#!/run/current-system/sw/bin/bash
|
sudo nixos-rebuild switch --flake "$HOME/sysflakes#${host}"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
scheck && runbg aplay ${self}/media/sound/update.wav
|
||||||
set -e
|
else
|
||||||
pushd "$HOME/sysflakes"
|
scheck && runbg aplay ${self}/media/sound/error.wav
|
||||||
|
fi
|
||||||
nix flake update
|
popd
|
||||||
git diff
|
''
|
||||||
sudo nixos-rebuild switch --flake "$HOME/sysflakes#${host}"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
scheck && runbg aplay ${self}/media/sound/update.wav
|
|
||||||
else
|
|
||||||
scheck && runbg aplay ${self}/media/sound/error.wav
|
|
||||||
fi
|
|
||||||
popd
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}:
|
||||||
|
pkgs.writeShellScriptBin "hyprland" ''
|
||||||
pkgs.writeShellScriptBin "hyprland" (''
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
export XDG_CONFIG_HOME="$HOME/.config"
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
export XDG_DATA_HOME="$HOME/.local/share"
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
export XDG_CACHE_HOME="$HOME/.cache"
|
|
||||||
|
|
||||||
exec Hyprland
|
|
||||||
'')
|
|
||||||
|
|
||||||
|
exec Hyprland
|
||||||
|
''
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "lofi" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if (ps aux | grep mpv | grep -v grep > /dev/null) then
|
||||||
pkgs.writeShellScriptBin "lofi" (''
|
pkill mpv
|
||||||
#!/usr/bin/env bash
|
else
|
||||||
|
runbg mpv --no-video https://www.youtube.com/live/jfKfPfyJRdk?si=OF0HKrYFFj33BzMo
|
||||||
if (ps aux | grep mpv | grep -v grep > /dev/null) then
|
fi
|
||||||
pkill mpv
|
''
|
||||||
else
|
|
||||||
runbg mpv --no-video https://www.youtube.com/live/jfKfPfyJRdk?si=OF0HKrYFFj33BzMo
|
|
||||||
fi
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "music" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if (ps aux | grep audacious | grep -v grep > /dev/null) then
|
||||||
pkgs.writeShellScriptBin "music" (''
|
pkill audacious
|
||||||
#!/usr/bin/env bash
|
else
|
||||||
|
hyprctl dispatch exec "[workspace 5 silent] audacious -t ~/Music/playlist"
|
||||||
if (ps aux | grep audacious | grep -v grep > /dev/null) then
|
sleep 0.5
|
||||||
pkill audacious
|
audtool playlist-repeat-status |grep "on" || audtool playlist-repeat-toggle
|
||||||
else
|
audtool playlist-shuffle-status|grep "on" || audtool playlist-shuffle-toggle
|
||||||
hyprctl dispatch exec "[workspace 5 silent] audacious -t ~/Music/playlist"
|
fi
|
||||||
sleep 0.5
|
''
|
||||||
audtool playlist-repeat-status |grep "on" || audtool playlist-repeat-toggle
|
|
||||||
audtool playlist-shuffle-status|grep "on" || audtool playlist-shuffle-toggle
|
|
||||||
fi
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,20 +1,23 @@
|
|||||||
{ self, pkgs, ... }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "passhelper" ''
|
||||||
|
#!/run/current-system/sw/bin/bash
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "passhelper" (''
|
# prevent multiple instances, conditional check happens in the hyprland bind
|
||||||
#!/run/current-system/sw/bin/bash
|
touch /tmp/passhelperfile
|
||||||
|
trap "[ -f /tmp/passhelperfile ] && /run/current-system/sw/bin/rm /tmp/passhelperfile" EXIT SIGHUP SIGINT
|
||||||
|
|
||||||
# prevent multiple instances, conditional check happens in the hyprland bind
|
# get passwords from password store, remove .password store/ prefix and .gpg suffix, exlude .gpg-id file, open results in fzf
|
||||||
touch /tmp/passhelperfile
|
pass_string=$(find $HOME/.password-store -type f | sed 's|.*/.password-store/||; s|\.gpg$||' | sed 's|^\([^/]*\)|\x1b[32m\1\x1b[0m|' | rg -v "\.git|.gpg-id" | sort -r | fzf --border --border-label="$(whoami)'s keyring" --ansi --layout=reverse)
|
||||||
trap "[ -f /tmp/passhelperfile ] && /run/current-system/sw/bin/rm /tmp/passhelperfile" EXIT SIGHUP SIGINT
|
|
||||||
|
|
||||||
# get passwords from password store, remove .password store/ prefix and .gpg suffix, exlude .gpg-id file, open results in fzf
|
[ $? = 0 ] || { [ -f /tmp/passhelperfile ] && /run/current-system/sw/bin/rm /tmp/passhelperfile; exit 1; }
|
||||||
pass_string=$(find $HOME/.password-store -type f | sed 's|.*/.password-store/||; s|\.gpg$||' | sed 's|^\([^/]*\)|\x1b[32m\1\x1b[0m|' | rg -v "\.git|.gpg-id" | sort -r | fzf --border --border-label="$(whoami)'s keyring" --ansi --layout=reverse)
|
|
||||||
|
|
||||||
[ $? = 0 ] || { [ -f /tmp/passhelperfile ] && /run/current-system/sw/bin/rm /tmp/passhelperfile; exit 1; }
|
# pass it through fmt for soft word wrapping
|
||||||
|
pass -c "$pass_string" | fmt -w 45
|
||||||
# pass it through fmt for soft word wrapping
|
/run/current-system/sw/bin/rm /tmp/passhelperfile
|
||||||
pass -c "$pass_string" | fmt -w 45
|
sleep 0.5
|
||||||
/run/current-system/sw/bin/rm /tmp/passhelperfile
|
exit 0
|
||||||
sleep 0.5
|
''
|
||||||
exit 0
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "power-menu" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
rofi -show p -modi p:'rofi-power-menu' -theme-str 'window {width: 10em; height: 15em;} listview {lines: 5;}'
|
||||||
pkgs.writeShellScriptBin "power-menu" (''
|
''
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
rofi -show p -modi p:'rofi-power-menu' -theme-str 'window {width: 10em; height: 15em;} listview {lines: 5;}'
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,20 +1,21 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "shutdown-script" ''
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
respond="$(echo " Shutdown\n Restart\n Cancel" | rofi -dmenu)"
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "shutdown-script" (''
|
if [ $respond = ' Shutdown' ]
|
||||||
#!/usr/bin/env zsh
|
then
|
||||||
|
echo "shutdown"
|
||||||
respond="$(echo " Shutdown\n Restart\n Cancel" | rofi -dmenu)"
|
shutdown now
|
||||||
|
elif [ $respond = ' Restart' ]
|
||||||
if [ $respond = ' Shutdown' ]
|
then
|
||||||
then
|
echo "restart"
|
||||||
echo "shutdown"
|
reboot
|
||||||
shutdown now
|
else
|
||||||
elif [ $respond = ' Restart' ]
|
notify-send "cancel shutdown"
|
||||||
then
|
fi
|
||||||
echo "restart"
|
''
|
||||||
reboot
|
|
||||||
else
|
|
||||||
notify-send "cancel shutdown"
|
|
||||||
fi
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "switchmon" ''
|
||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
hyprctl dispatch focusmonitor $(echo "$(hyprctl -j monitors)" | jq -r '.[] | select(.focused == false) | .name')
|
||||||
pkgs.writeShellScriptBin "switchmon" (''
|
''
|
||||||
#!/bin/zsh
|
|
||||||
|
|
||||||
hyprctl dispatch focusmonitor $(echo "$(hyprctl -j monitors)" | jq -r '.[] | select(.focused == false) | .name')
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "toggle_blur" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if hyprctl getoption decoration:blur:enabled | grep "int: 1" >/dev/null ; then
|
||||||
pkgs.writeShellScriptBin "toggle_blur" (''
|
hyprctl keyword decoration:blur:enabled false >/dev/null
|
||||||
#!/usr/bin/env bash
|
else
|
||||||
|
hyprctl keyword decoration:blur:enabled true >/dev/null
|
||||||
if hyprctl getoption decoration:blur:enabled | grep "int: 1" >/dev/null ; then
|
fi
|
||||||
hyprctl keyword decoration:blur:enabled false >/dev/null
|
''
|
||||||
else
|
|
||||||
hyprctl keyword decoration:blur:enabled true >/dev/null
|
|
||||||
fi
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "toggle_float" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
hyprctl dispatch togglefloating
|
||||||
pkgs.writeShellScriptBin "toggle_float" (''
|
hyprctl dispatch resizeactive exact 950 600
|
||||||
#!/usr/bin/env bash
|
hyprctl dispatch centerwindow
|
||||||
|
''
|
||||||
hyprctl dispatch togglefloating
|
|
||||||
hyprctl dispatch resizeactive exact 950 600
|
|
||||||
hyprctl dispatch centerwindow
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "toggle_oppacity" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if hyprctl getoption decoration:active_opacity | grep "float: 1" >/dev/null ; then
|
||||||
pkgs.writeShellScriptBin "toggle_oppacity" (''
|
hyprctl keyword decoration:active_opacity 0.90 >/dev/null
|
||||||
#!/usr/bin/env bash
|
hyprctl keyword decoration:inactive_opacity 0.90 >/dev/null
|
||||||
|
else
|
||||||
if hyprctl getoption decoration:active_opacity | grep "float: 1" >/dev/null ; then
|
hyprctl keyword decoration:active_opacity 1 >/dev/null
|
||||||
hyprctl keyword decoration:active_opacity 0.90 >/dev/null
|
hyprctl keyword decoration:inactive_opacity 1 >/dev/null
|
||||||
hyprctl keyword decoration:inactive_opacity 0.90 >/dev/null
|
fi
|
||||||
else
|
''
|
||||||
hyprctl keyword decoration:active_opacity 1 >/dev/null
|
|
||||||
hyprctl keyword decoration:inactive_opacity 1 >/dev/null
|
|
||||||
fi
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
{ self, pkgs }:
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
pkgs.writeShellScriptBin "toggle_waybar" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
SERVICE=".waybar-wrapped"
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "toggle_waybar" (''
|
if pgrep -x "$SERVICE" >/dev/null
|
||||||
#!/usr/bin/env bash
|
then
|
||||||
|
pkill -9 waybar
|
||||||
SERVICE=".waybar-wrapped"
|
else
|
||||||
|
runbg waybar
|
||||||
if pgrep -x "$SERVICE" >/dev/null
|
fi
|
||||||
then
|
''
|
||||||
pkill -9 waybar
|
|
||||||
else
|
|
||||||
runbg waybar
|
|
||||||
fi
|
|
||||||
'')
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
home.packages = with pkgs; [swaynotificationcenter];
|
||||||
{
|
|
||||||
home.packages = (with pkgs; [ swaynotificationcenter ]);
|
|
||||||
xdg.configFile."swaync/style.css".source = ./style.css;
|
xdg.configFile."swaync/style.css".source = ./style.css;
|
||||||
xdg.configFile."swaync/config.json".source = ./config.json;
|
xdg.configFile."swaync/config.json".source = ./config.json;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
imports =
|
||||||
{
|
[(import ./waybar.nix)]
|
||||||
imports = [ (import ./waybar.nix) ]
|
++ [(import ./settings.nix)]
|
||||||
++ [ (import ./settings.nix) ]
|
++ [(import ./style.nix)];
|
||||||
++ [ (import ./style.nix) ];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,149 +1,147 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.waybar.settings.mainBar = {
|
programs.waybar.settings.mainBar = {
|
||||||
position= "top";
|
position = "top";
|
||||||
layer= "top";
|
layer = "top";
|
||||||
height= 5;
|
height = 5;
|
||||||
margin-top= 0;
|
margin-top = 0;
|
||||||
margin-bottom= 0;
|
margin-bottom = 0;
|
||||||
margin-left= 0;
|
margin-left = 0;
|
||||||
margin-right= 0;
|
margin-right = 0;
|
||||||
modules-left= [
|
modules-left = [
|
||||||
"custom/launcher"
|
"custom/launcher"
|
||||||
"custom/separator"
|
"custom/separator"
|
||||||
"hyprland/workspaces"
|
"hyprland/workspaces"
|
||||||
];
|
];
|
||||||
modules-center= [
|
modules-center = [
|
||||||
"clock"
|
"clock"
|
||||||
];
|
];
|
||||||
modules-right= [
|
modules-right = [
|
||||||
"tray"
|
"tray"
|
||||||
"custom/separator"
|
"custom/separator"
|
||||||
"cpu"
|
"cpu"
|
||||||
"memory"
|
"memory"
|
||||||
"disk"
|
"disk"
|
||||||
"custom/separator"
|
"custom/separator"
|
||||||
"pulseaudio"
|
"pulseaudio"
|
||||||
"battery"
|
"battery"
|
||||||
"network"
|
"network"
|
||||||
"custom/separator"
|
"custom/separator"
|
||||||
"custom/notification"
|
"custom/notification"
|
||||||
];
|
];
|
||||||
clock= {
|
clock = {
|
||||||
calendar = {
|
calendar = {
|
||||||
format = { today = "<span color='#b4befe'><b><u>{}</u></b></span>"; };
|
format = {today = "<span color='#b4befe'><b><u>{}</u></b></span>";};
|
||||||
};
|
};
|
||||||
format = " {:%H:%M}";
|
format = " {:%H:%M}";
|
||||||
tooltip= "true";
|
tooltip = "true";
|
||||||
tooltip-format= "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||||
format-alt= " {:%d/%m}";
|
format-alt = " {:%d/%m}";
|
||||||
};
|
};
|
||||||
"hyprland/workspaces"= {
|
"hyprland/workspaces" = {
|
||||||
active-only= false;
|
active-only = false;
|
||||||
disable-scroll= true;
|
disable-scroll = true;
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
on-click= "activate";
|
on-click = "activate";
|
||||||
format-icons= {
|
format-icons = {
|
||||||
"1"= "一";
|
"1" = "一";
|
||||||
"2"= "二";
|
"2" = "二";
|
||||||
"3"= "三";
|
"3" = "三";
|
||||||
"4"= "四";
|
"4" = "四";
|
||||||
"5"= "五";
|
"5" = "五";
|
||||||
"6"= "六";
|
"6" = "六";
|
||||||
urgent= "";
|
urgent = "";
|
||||||
default = "";
|
default = "";
|
||||||
sort-by-number= true;
|
sort-by-number = true;
|
||||||
};
|
};
|
||||||
persistent-workspaces = {
|
persistent-workspaces = {
|
||||||
"1"= [];
|
"1" = [];
|
||||||
"2"= [];
|
"2" = [];
|
||||||
"3"= [];
|
"3" = [];
|
||||||
"4"= [];
|
"4" = [];
|
||||||
"5"= [];
|
"5" = [];
|
||||||
"6"= [];
|
"6" = [];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
memory= {
|
memory = {
|
||||||
format= " {}%";
|
format = " {}%";
|
||||||
format-alt= " {used} GiB"; #
|
format-alt = " {used} GiB"; #
|
||||||
interval= 2;
|
interval = 2;
|
||||||
};
|
};
|
||||||
cpu= {
|
cpu = {
|
||||||
format= " {usage}%";
|
format = " {usage}%";
|
||||||
format-alt= " {avg_frequency} GHz";
|
format-alt = " {avg_frequency} GHz";
|
||||||
interval= 2;
|
interval = 2;
|
||||||
};
|
};
|
||||||
disk = {
|
disk = {
|
||||||
# path = "/";
|
# path = "/";
|
||||||
format = " {percentage_used}%";
|
format = " {percentage_used}%";
|
||||||
interval= 60;
|
interval = 60;
|
||||||
};
|
};
|
||||||
network = {
|
network = {
|
||||||
format-wifi = " {signalStrength}%";
|
format-wifi = " {signalStrength}%";
|
||||||
format-ethernet = " ";
|
format-ethernet = " ";
|
||||||
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
||||||
format-linked = "{ifname} (No IP)";
|
format-linked = "{ifname} (No IP)";
|
||||||
format-disconnected = " ";
|
format-disconnected = " ";
|
||||||
};
|
};
|
||||||
tray= {
|
tray = {
|
||||||
icon-size= 20;
|
icon-size = 20;
|
||||||
spacing= 8;
|
spacing = 8;
|
||||||
};
|
};
|
||||||
pulseaudio= {
|
pulseaudio = {
|
||||||
format= "{icon} {volume}%";
|
format = "{icon} {volume}%";
|
||||||
format-muted= " {volume}%";
|
format-muted = " {volume}%";
|
||||||
format-icons= {
|
format-icons = {
|
||||||
default= [" "];
|
default = [" "];
|
||||||
};
|
};
|
||||||
scroll-step= 5;
|
scroll-step = 5;
|
||||||
on-click= "pamixer -t";
|
on-click = "pamixer -t";
|
||||||
on-click-right= "pavucontrol";
|
on-click-right = "pavucontrol";
|
||||||
};
|
};
|
||||||
battery = {
|
battery = {
|
||||||
format = "{icon} {capacity}%";
|
format = "{icon} {capacity}%";
|
||||||
format-icons = [" " " " " " " " " "];
|
format-icons = [" " " " " " " " " "];
|
||||||
format-charging = " {capacity}%";
|
format-charging = " {capacity}%";
|
||||||
format-full = " {capacity}%";
|
format-full = " {capacity}%";
|
||||||
format-warning = " {capacity}%";
|
format-warning = " {capacity}%";
|
||||||
interval = 5;
|
interval = 5;
|
||||||
states = {
|
states = {
|
||||||
warning = 20;
|
warning = 20;
|
||||||
};
|
};
|
||||||
format-time = "{H}h{M}m";
|
format-time = "{H}h{M}m";
|
||||||
tooltip = true;
|
tooltip = true;
|
||||||
tooltip-format = "{time}";
|
tooltip-format = "{time}";
|
||||||
};
|
};
|
||||||
"custom/launcher"= {
|
"custom/launcher" = {
|
||||||
format= "";
|
format = "";
|
||||||
on-click= "fuzzel";
|
on-click = "fuzzel";
|
||||||
on-click-right= "wallpaper-picker";
|
on-click-right = "wallpaper-picker";
|
||||||
tooltip= "false";
|
tooltip = "false";
|
||||||
};
|
};
|
||||||
"custom/notification" = {
|
"custom/notification" = {
|
||||||
tooltip = false;
|
tooltip = false;
|
||||||
format = "{icon} ";
|
format = "{icon} ";
|
||||||
format-icons = {
|
format-icons = {
|
||||||
notification = "<span foreground='red'><sup></sup></span> ";
|
notification = "<span foreground='red'><sup></sup></span> ";
|
||||||
none = " ";
|
none = " ";
|
||||||
dnd-notification = "<span foreground='red'><sup></sup></span> ";
|
dnd-notification = "<span foreground='red'><sup></sup></span> ";
|
||||||
dnd-none = " ";
|
dnd-none = " ";
|
||||||
inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||||
inhibited-none = " ";
|
inhibited-none = " ";
|
||||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||||
dnd-inhibited-none = " ";
|
dnd-inhibited-none = " ";
|
||||||
};
|
};
|
||||||
return-type = "json";
|
return-type = "json";
|
||||||
exec-if = "which swaync-client";
|
exec-if = "which swaync-client";
|
||||||
exec = "swaync-client -swb";
|
exec = "swaync-client -swb";
|
||||||
on-click = "swaync-client -t -sw";
|
on-click = "swaync-client -t -sw";
|
||||||
on-click-right = "swaync-client -d -sw";
|
on-click-right = "swaync-client -d -sw";
|
||||||
escape = true;
|
escape = true;
|
||||||
|
};
|
||||||
|
"custom/separator" = {
|
||||||
|
exec = "echo ' | '";
|
||||||
|
interval = 600;
|
||||||
|
tooltip = false;
|
||||||
};
|
};
|
||||||
"custom/separator" = {
|
|
||||||
exec = "echo ' | '";
|
|
||||||
interval = 600;
|
|
||||||
tooltip = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{ ... }:
|
{...}: let
|
||||||
|
custom = {
|
||||||
let custom = {
|
|
||||||
font = "JetBrainsMono Nerd Font";
|
font = "JetBrainsMono Nerd Font";
|
||||||
font_size = "22px";
|
font_size = "22px";
|
||||||
font_weight = "bold";
|
font_weight = "bold";
|
||||||
@@ -8,93 +7,92 @@ let custom = {
|
|||||||
secondary_accent = "#89b4fa";
|
secondary_accent = "#89b4fa";
|
||||||
tertiary_accent = "#f5f5f5";
|
tertiary_accent = "#f5f5f5";
|
||||||
background = "#11111B";
|
background = "#11111B";
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
programs.waybar.style = ''
|
programs.waybar.style = ''
|
||||||
|
|
||||||
* {
|
* {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
min-height: 0px;
|
min-height: 0px;
|
||||||
font-family: ${custom.font};
|
font-family: ${custom.font};
|
||||||
font-weight: ${custom.font_weight};
|
font-weight: ${custom.font_weight};
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background: ${custom.background};
|
background: ${custom.background};
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces {
|
#workspaces {
|
||||||
font-size: ${custom.font_size};
|
font-size: ${custom.font_size};
|
||||||
|
|
||||||
}
|
}
|
||||||
#workspaces button {
|
#workspaces button {
|
||||||
color: ${custom.text_color};
|
color: ${custom.text_color};
|
||||||
padding-left: 6px;
|
padding-left: 6px;
|
||||||
padding-right: 6px;
|
padding-right: 6px;
|
||||||
}
|
}
|
||||||
#workspaces button.empty {
|
#workspaces button.empty {
|
||||||
color: #6c7086;
|
color: #6c7086;
|
||||||
}
|
}
|
||||||
#workspaces button.active {
|
#workspaces button.active {
|
||||||
color: #b4befe;
|
color: #b4befe;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock, #battery, #custom-notification {
|
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock, #battery, #custom-notification {
|
||||||
font-size: ${custom.font_size};
|
font-size: ${custom.font_size};
|
||||||
color: ${custom.text_color};
|
color: ${custom.text_color};
|
||||||
}
|
}
|
||||||
|
|
||||||
#cpu {
|
#cpu {
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
padding-right: 9px;
|
padding-right: 9px;
|
||||||
}
|
}
|
||||||
#memory {
|
#memory {
|
||||||
padding-left: 9px;
|
padding-left: 9px;
|
||||||
padding-right: 9px;
|
padding-right: 9px;
|
||||||
}
|
}
|
||||||
#disk {
|
#disk {
|
||||||
padding-left: 9px;
|
padding-left: 9px;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray {
|
#tray {
|
||||||
margin-left: 7px;
|
margin-left: 7px;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio {
|
#pulseaudio {
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
padding-right: 9px;
|
padding-right: 9px;
|
||||||
}
|
}
|
||||||
#battery {
|
#battery {
|
||||||
padding-left: 9px;
|
padding-left: 9px;
|
||||||
padding-right: 9px;
|
padding-right: 9px;
|
||||||
}
|
}
|
||||||
#network {
|
#network {
|
||||||
padding-left: 9px;
|
padding-left: 9px;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
custom-notification {
|
custom-notification {
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
padding-right: 20px;
|
padding-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#clock {
|
#clock {
|
||||||
padding-left: 9px;
|
padding-left: 9px;
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-launcher {
|
#custom-launcher {
|
||||||
font-size: ${custom.font_size};
|
font-size: ${custom.font_size};
|
||||||
color: #b4befe;
|
color: #b4befe;
|
||||||
font-weight: ${custom.font_weight};
|
font-weight: ${custom.font_weight};
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
programs.waybar.package = pkgs.waybar.overrideAttrs (oa: {
|
programs.waybar.package = pkgs.waybar.overrideAttrs (oa: {
|
||||||
mesonFlags = (oa.mesonFlags or [ ]) ++ [ "-Dexperimental=true" ];
|
mesonFlags = (oa.mesonFlags or []) ++ ["-Dexperimental=true"];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,19 @@
|
|||||||
{ inputs, nixpkgs, config, self, username, host, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[ (import ./hardware/bootloader.nix) ]
|
nixpkgs,
|
||||||
++ [ (import ./hardware/network.nix) ]
|
config,
|
||||||
++ [ (import ./software/fonts.nix) ]
|
self,
|
||||||
++ [ (import ./software/sddm.nix) ]
|
username,
|
||||||
++ [ (import ./software/packages.nix) ]
|
host,
|
||||||
++ [ (import ./software/programs.nix) ]
|
...
|
||||||
++ [ (import ./software/services.nix) ]
|
}: {
|
||||||
++ [ (import ./software/users.nix) ];
|
imports =
|
||||||
|
[(import ./hardware/bootloader.nix)]
|
||||||
|
++ [(import ./hardware/network.nix)]
|
||||||
|
++ [(import ./software/fonts.nix)]
|
||||||
|
++ [(import ./software/sddm.nix)]
|
||||||
|
++ [(import ./software/packages.nix)]
|
||||||
|
++ [(import ./software/programs.nix)]
|
||||||
|
++ [(import ./software/services.nix)]
|
||||||
|
++ [(import ./software/users.nix)];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
boot = {
|
||||||
{
|
loader.systemd-boot.enable = true;
|
||||||
boot = {
|
loader.efi.canTouchEfiVariables = true;
|
||||||
loader.systemd-boot.enable = true;
|
loader.systemd-boot.configurationLimit = 10;
|
||||||
loader.efi.canTouchEfiVariables = true;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
loader.systemd-boot.configurationLimit = 10;
|
};
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
{ host, ... }:
|
{host, ...}: {
|
||||||
|
networking = {
|
||||||
{
|
networkmanager.enable = true;
|
||||||
networking = {
|
hostName =
|
||||||
networkmanager.enable = true;
|
if (host == "desktop")
|
||||||
hostName = if (host == "desktop") then
|
then "argon"
|
||||||
"argon" else "mercury";
|
else "mercury";
|
||||||
hosts = {
|
hosts = {
|
||||||
"192.168.1.163" = [ "glasshaus" ];
|
"192.168.1.163" = ["glasshaus"];
|
||||||
"192.168.1.111" = [ "argon" ];
|
"192.168.1.111" = ["argon"];
|
||||||
"192.168.1.223" = [ "mercury" ];
|
"192.168.1.223" = ["mercury"];
|
||||||
};
|
};
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [ 30000 ];
|
allowedTCPPorts = [30000];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
{
|
times-newer-roman
|
||||||
fonts.packages = with pkgs; [
|
nerdfonts
|
||||||
times-newer-roman
|
jetbrains-mono
|
||||||
nerdfonts
|
];
|
||||||
jetbrains-mono
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,71 +1,74 @@
|
|||||||
{ pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
pkgs,
|
||||||
alsa-lib
|
inputs,
|
||||||
alsa-utils
|
...
|
||||||
bc
|
}: {
|
||||||
cava
|
environment.systemPackages = with pkgs; [
|
||||||
clang
|
alejandra
|
||||||
clang-tools
|
alsa-lib
|
||||||
cmake
|
alsa-utils
|
||||||
fail2ban
|
bc
|
||||||
feh
|
cava
|
||||||
ffmpeg-full
|
clang
|
||||||
fuse
|
clang-tools
|
||||||
git
|
cmake
|
||||||
gnumake
|
fail2ban
|
||||||
gst_all_1.gstreamer
|
feh
|
||||||
htop
|
ffmpeg-full
|
||||||
hyprland
|
fuse
|
||||||
hyprland-workspaces
|
git
|
||||||
hyprpaper
|
gnumake
|
||||||
hyprpicker
|
gst_all_1.gstreamer
|
||||||
imagemagick
|
htop
|
||||||
inetutils
|
hyprland
|
||||||
kitty
|
hyprland-workspaces
|
||||||
libclang
|
hyprpaper
|
||||||
libcxx
|
hyprpicker
|
||||||
lolcat
|
imagemagick
|
||||||
lsof
|
inetutils
|
||||||
lua-language-server
|
kitty
|
||||||
luarocks
|
libclang
|
||||||
mesa
|
libcxx
|
||||||
mpd
|
lolcat
|
||||||
mullvad
|
lsof
|
||||||
neofetch
|
lua-language-server
|
||||||
nix-index
|
luarocks
|
||||||
nix-prefetch-scripts
|
mesa
|
||||||
nixos-option
|
mpd
|
||||||
nix-search-cli
|
mullvad
|
||||||
openssl
|
neofetch
|
||||||
p7zip
|
nix-index
|
||||||
jq
|
nix-prefetch-scripts
|
||||||
pamixer
|
nixos-option
|
||||||
parted
|
nix-search-cli
|
||||||
pavucontrol
|
openssl
|
||||||
pkg-config
|
p7zip
|
||||||
playerctl
|
jq
|
||||||
protonmail-bridge
|
pamixer
|
||||||
protontricks
|
parted
|
||||||
pyright
|
pavucontrol
|
||||||
quintom-cursor-theme
|
pkg-config
|
||||||
socat
|
playerctl
|
||||||
sox
|
protonmail-bridge
|
||||||
stress
|
protontricks
|
||||||
tor
|
pyright
|
||||||
tree
|
quintom-cursor-theme
|
||||||
unrar
|
socat
|
||||||
unzip
|
sox
|
||||||
usbutils
|
stress
|
||||||
vim
|
tor
|
||||||
vscode-langservers-extracted
|
tree
|
||||||
vulkan-loader
|
unrar
|
||||||
wget
|
unzip
|
||||||
wine
|
usbutils
|
||||||
wl-clipboard
|
vim
|
||||||
xpad
|
vscode-langservers-extracted
|
||||||
libnotify
|
vulkan-loader
|
||||||
file
|
wget
|
||||||
];
|
wine
|
||||||
|
wl-clipboard
|
||||||
|
xpad
|
||||||
|
libnotify
|
||||||
|
file
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,17 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
programs = {
|
||||||
{
|
hyprland.enable = true;
|
||||||
programs = {
|
zsh.enable = true;
|
||||||
hyprland.enable = true;
|
nix-ld = {
|
||||||
zsh.enable = true;
|
enable = true;
|
||||||
nix-ld = {
|
libraries = with pkgs; [
|
||||||
enable = true;
|
stdenv.cc.cc
|
||||||
libraries = with pkgs; [
|
ffmpeg-full
|
||||||
stdenv.cc.cc
|
];
|
||||||
ffmpeg-full
|
};
|
||||||
];
|
gnupg.agent = {
|
||||||
};
|
enable = true;
|
||||||
gnupg.agent = {
|
enableSSHSupport = true;
|
||||||
enable = true;
|
};
|
||||||
enableSSHSupport = true;
|
};
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,23 @@
|
|||||||
{ pkgs, self, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = [(
|
pkgs,
|
||||||
pkgs.catppuccin-sddm.override {
|
self,
|
||||||
flavor="mocha";
|
config,
|
||||||
font="JetBrains Mono";
|
...
|
||||||
fontSize="9";
|
}: {
|
||||||
background="${self}/media/wallpapers/catppuccin/nixos-catppuccin.png";
|
environment.systemPackages = [
|
||||||
}
|
(
|
||||||
)];
|
pkgs.catppuccin-sddm.override {
|
||||||
services.displayManager.sddm = {
|
flavor = "mocha";
|
||||||
enable = true;
|
font = "JetBrains Mono";
|
||||||
wayland.enable = true;
|
fontSize = "9";
|
||||||
theme = "catppuccin-mocha";
|
background = "${self}/media/wallpapers/catppuccin/nixos-catppuccin.png";
|
||||||
package = pkgs.kdePackages.sddm;
|
}
|
||||||
};
|
)
|
||||||
|
];
|
||||||
|
services.displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
|
theme = "catppuccin-mocha";
|
||||||
|
package = pkgs.kdePackages.sddm;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,16 @@
|
|||||||
{ pkgs, ...}:
|
{pkgs, ...}: {
|
||||||
|
services = {
|
||||||
{
|
pipewire = {
|
||||||
services = {
|
enable = true;
|
||||||
pipewire = {
|
pulse.enable = true;
|
||||||
enable = true;
|
wireplumber.enable = true;
|
||||||
pulse.enable = true;
|
alsa.enable = true;
|
||||||
wireplumber.enable = true;
|
alsa.support32Bit = true;
|
||||||
alsa.enable = true;
|
};
|
||||||
alsa.support32Bit = true;
|
udev.enable = true;
|
||||||
};
|
dbus.enable = true;
|
||||||
udev.enable = true;
|
mullvad-vpn.enable = true;
|
||||||
dbus.enable = true;
|
blueman.enable = true;
|
||||||
mullvad-vpn.enable = true;
|
openssh.enable = true;
|
||||||
blueman.enable = true;
|
};
|
||||||
openssh.enable = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,37 +1,42 @@
|
|||||||
{ config, inputs, pkgs, username, self, host, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
nur = config.nur;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
config,
|
||||||
home-manager = {
|
inputs,
|
||||||
useUserPackages = true;
|
pkgs,
|
||||||
useGlobalPkgs = true;
|
username,
|
||||||
backupFileExtension = "backup";
|
self,
|
||||||
extraSpecialArgs = { inherit self inputs host username nur; };
|
host,
|
||||||
users.${username} = {
|
...
|
||||||
programs.home-manager.enable = true;
|
}: let
|
||||||
imports = [ ./../../home ];
|
nur = config.nur;
|
||||||
home = {
|
in {
|
||||||
username = "${username}";
|
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||||
homeDirectory = "/home/${username}";
|
home-manager = {
|
||||||
stateVersion = "24.05";
|
useUserPackages = true;
|
||||||
pointerCursor = {
|
useGlobalPkgs = true;
|
||||||
name = "Quintom_Ink";
|
backupFileExtension = "backup";
|
||||||
size = 36;
|
extraSpecialArgs = {inherit self inputs host username nur;};
|
||||||
package = pkgs.quintom-cursor-theme;
|
users.${username} = {
|
||||||
};
|
programs.home-manager.enable = true;
|
||||||
};
|
imports = [./../../home];
|
||||||
};
|
home = {
|
||||||
};
|
username = "${username}";
|
||||||
users.users.${username} = {
|
homeDirectory = "/home/${username}";
|
||||||
isNormalUser = true;
|
stateVersion = "24.05";
|
||||||
shell = pkgs.zsh;
|
pointerCursor = {
|
||||||
extraGroups = [ "wheel" ];
|
name = "Quintom_Ink";
|
||||||
};
|
size = 36;
|
||||||
security.sudo.extraConfig = ''
|
package = pkgs.quintom-cursor-theme;
|
||||||
${username} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nixos-rebuild
|
};
|
||||||
'';
|
};
|
||||||
nix.settings.allowed-users = [ "${username}" ];
|
};
|
||||||
|
};
|
||||||
|
users.users.${username} = {
|
||||||
|
isNormalUser = true;
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
extraGroups = ["wheel"];
|
||||||
|
};
|
||||||
|
security.sudo.extraConfig = ''
|
||||||
|
${username} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nixos-rebuild
|
||||||
|
'';
|
||||||
|
nix.settings.allowed-users = ["${username}"];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
{
|
{
|
||||||
autoCmd = [
|
autoCmd = [
|
||||||
{
|
{
|
||||||
command = "FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh";
|
command = "FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh";
|
||||||
event = [ "VimEnter" ];
|
event = ["VimEnter"];
|
||||||
pattern = [ "*" ];
|
pattern = ["*"];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
command = "silent! mkview";
|
command = "silent! mkview";
|
||||||
event = [ "BufWinLeave" ];
|
event = ["BufWinLeave"];
|
||||||
pattern = [ "*" ];
|
pattern = ["*"];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
command = "silent! !aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &";
|
command = "silent! !aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &";
|
||||||
event = [ "BufWinLeave" ];
|
event = ["BufWinLeave"];
|
||||||
pattern = [ "*" ];
|
pattern = ["*"];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
command = "silent! loadview";
|
command = "silent! loadview";
|
||||||
event = [ "BufWinEnter" ];
|
event = ["BufWinEnter"];
|
||||||
pattern = [ "*" ];
|
pattern = ["*"];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,18 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./plugins/alpha.nix
|
./plugins/alpha.nix
|
||||||
./plugins/vim-matchup.nix
|
./plugins/vim-matchup.nix
|
||||||
./plugins/coq.nix
|
./plugins/coq.nix
|
||||||
./plugins/barbar.nix
|
./plugins/barbar.nix
|
||||||
./plugins/cmp.nix
|
./plugins/cmp.nix
|
||||||
./plugins/lsp.nix
|
./plugins/lsp.nix
|
||||||
./plugins/lualine.nix
|
./plugins/lualine.nix
|
||||||
./plugins/plugins.nix
|
./plugins/plugins.nix
|
||||||
./plugins/nvim-tree.nix
|
./plugins/nvim-tree.nix
|
||||||
./plugins/telescope.nix
|
./plugins/telescope.nix
|
||||||
./plugins/extra_plugins.nix
|
./plugins/extra_plugins.nix
|
||||||
./options.nix
|
./options.nix
|
||||||
./keymaps.nix
|
./keymaps.nix
|
||||||
./autocmd.nix
|
./autocmd.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,29 @@
|
|||||||
{
|
{
|
||||||
keymaps = [
|
keymaps = [
|
||||||
{
|
{
|
||||||
action = "<C-W>W";
|
action = "<C-W>W";
|
||||||
key = "<S-Tab>";
|
key = "<S-Tab>";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = "<C-w>w";
|
action = "<C-w>w";
|
||||||
key = "<Tab>";
|
key = "<Tab>";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = "<cmd>FloatermToggle shadeterm<CR>";
|
action = "<cmd>FloatermToggle shadeterm<CR>";
|
||||||
key = "<F2>";
|
key = "<F2>";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = "<cmd>NvimTreeToggle<CR>";
|
action = "<cmd>NvimTreeToggle<CR>";
|
||||||
key = "<F3>";
|
key = "<F3>";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = "<cmd>FloatermToggle shadeterm<CR>";
|
action = "<cmd>FloatermToggle shadeterm<CR>";
|
||||||
key = "<F2>";
|
key = "<F2>";
|
||||||
mode = "t";
|
mode = "t";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,41 +1,41 @@
|
|||||||
{
|
{
|
||||||
colorschemes = {
|
colorschemes = {
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.flavour = "mocha";
|
settings.flavour = "mocha";
|
||||||
};
|
};
|
||||||
kanagawa = {
|
kanagawa = {
|
||||||
enable = false;
|
enable = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
diagnostics.signs = false;
|
diagnostics.signs = false;
|
||||||
extraConfigLua = ''
|
extraConfigLua = ''
|
||||||
if vim.g.started_by_firenvim == true then
|
if vim.g.started_by_firenvim == true then
|
||||||
vim.o.laststatus = 0
|
vim.o.laststatus = 0
|
||||||
end
|
end
|
||||||
if vim.g.neovide then
|
if vim.g.neovide then
|
||||||
vim.g.neovide_refresh_rate = 144
|
vim.g.neovide_refresh_rate = 144
|
||||||
vim.g.neovide_cursor_vfx_mode = "sonicboom"
|
vim.g.neovide_cursor_vfx_mode = "sonicboom"
|
||||||
vim.g.neovide_cursor_animate_in_insert_mode = false
|
vim.g.neovide_cursor_animate_in_insert_mode = false
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.opt.number = true
|
vim.opt.number = true
|
||||||
vim.opt.relativenumber = true
|
vim.opt.relativenumber = true
|
||||||
vim.opt.hlsearch = true
|
vim.opt.hlsearch = true
|
||||||
vim.opt.incsearch = true
|
vim.opt.incsearch = true
|
||||||
vim.opt.shiftwidth = 4
|
vim.opt.shiftwidth = 4
|
||||||
vim.opt.tabstop = 4
|
vim.opt.tabstop = 4
|
||||||
vim.opt.termguicolors = true
|
vim.opt.termguicolors = true
|
||||||
vim.opt.ruler = true
|
vim.opt.ruler = true
|
||||||
vim.opt.scrolloff = 6
|
vim.opt.scrolloff = 6
|
||||||
vim.opt.undofile = true
|
vim.opt.undofile = true
|
||||||
vim.opt.foldmethod = "manual"
|
vim.opt.foldmethod = "manual"
|
||||||
vim.opt.wrap = true
|
vim.opt.wrap = true
|
||||||
vim.opt.linebreak = true
|
vim.opt.linebreak = true
|
||||||
vim.opt.textwidth = 135
|
vim.opt.textwidth = 135
|
||||||
vim.opt.breakat = " \t!@*-+;:,./?"
|
vim.opt.breakat = " \t!@*-+;:,./?"
|
||||||
|
|
||||||
vim.g.mapleader = "!"
|
vim.g.mapleader = "!"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
plugins.alpha = {
|
plugins.alpha = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "dashboard";
|
theme = "dashboard";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
plugins.barbar = {
|
plugins.barbar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
auto_hide = 1;
|
auto_hide = 1;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
plugins.cmp = {
|
plugins.cmp = {
|
||||||
autoEnableSources = true;
|
autoEnableSources = true;
|
||||||
settings.sources = [
|
settings.sources = [
|
||||||
{ name = "nvim_lsp"; }
|
{name = "nvim_lsp";}
|
||||||
{ name = "path"; }
|
{name = "path";}
|
||||||
{ name = "buffer"; }
|
{name = "buffer";}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
plugins.coq-nvim = {
|
plugins.coq-nvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
auto_start = true;
|
auto_start = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,51 +1,50 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
extraPlugins = [
|
||||||
{
|
(pkgs.vimUtils.buildVimPlugin {
|
||||||
extraPlugins = [
|
# vimwiki
|
||||||
(pkgs.vimUtils.buildVimPlugin { # vimwiki
|
name = "vimwiki";
|
||||||
name = "vimwiki";
|
src = pkgs.fetchFromGitHub {
|
||||||
src = pkgs.fetchFromGitHub {
|
owner = "vimwiki";
|
||||||
owner = "vimwiki";
|
repo = "vimwiki";
|
||||||
repo = "vimwiki";
|
rev = "705ad1e0dded0e3b7ff5fac78547ab67c9d39bdf";
|
||||||
rev = "705ad1e0dded0e3b7ff5fac78547ab67c9d39bdf";
|
hash = "sha256-Upx29rIPwW/e7Lkmf0PNOpIACnAXIzlkfa6V1p2nYHM=";
|
||||||
hash = "sha256-Upx29rIPwW/e7Lkmf0PNOpIACnAXIzlkfa6V1p2nYHM=";
|
};
|
||||||
};
|
})
|
||||||
})
|
(pkgs.vimUtils.buildVimPlugin {
|
||||||
(pkgs.vimUtils.buildVimPlugin {
|
name = "vim-markdown";
|
||||||
name = "vim-markdown";
|
src = pkgs.fetchFromGitHub {
|
||||||
src = pkgs.fetchFromGitHub {
|
owner = "preservim";
|
||||||
owner = "preservim";
|
repo = "vim-markdown";
|
||||||
repo = "vim-markdown";
|
rev = "8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51";
|
||||||
rev = "8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51";
|
hash = "sha256-ZCCSjZ5Xok4rnIwfa4VUEaz6d3oW9066l0EkoqiTppM=";
|
||||||
hash = "sha256-ZCCSjZ5Xok4rnIwfa4VUEaz6d3oW9066l0EkoqiTppM=";
|
};
|
||||||
};
|
})
|
||||||
})
|
(pkgs.vimUtils.buildVimPlugin {
|
||||||
(pkgs.vimUtils.buildVimPlugin {
|
name = "vim-sneak";
|
||||||
name = "vim-sneak";
|
src = pkgs.fetchFromGitHub {
|
||||||
src = pkgs.fetchFromGitHub {
|
owner = "justinmk";
|
||||||
owner = "justinmk";
|
repo = "vim-sneak";
|
||||||
repo = "vim-sneak";
|
rev = "c13d0497139b8796ff9c44ddb9bc0dc9770ad2dd";
|
||||||
rev = "c13d0497139b8796ff9c44ddb9bc0dc9770ad2dd";
|
hash = "sha256-ndWhnV0fgCcqCGwVyM07GfmUB3CitBZbOWvZtsB1tBk=";
|
||||||
hash = "sha256-ndWhnV0fgCcqCGwVyM07GfmUB3CitBZbOWvZtsB1tBk=";
|
};
|
||||||
};
|
})
|
||||||
})
|
(pkgs.vimUtils.buildVimPlugin {
|
||||||
(pkgs.vimUtils.buildVimPlugin {
|
name = "vim-slash";
|
||||||
name = "vim-slash";
|
src = pkgs.fetchFromGitHub {
|
||||||
src = pkgs.fetchFromGitHub {
|
owner = "junegunn";
|
||||||
owner = "junegunn";
|
repo = "vim-slash";
|
||||||
repo = "vim-slash";
|
rev = "31aee09b7ea8893a18fa34f65e63e364fc998444";
|
||||||
rev = "31aee09b7ea8893a18fa34f65e63e364fc998444";
|
hash = "sha256-hC590lmKBssLCSKPF9O2cnt6TCJkklzbbhDNhf1ozUU=";
|
||||||
hash = "sha256-hC590lmKBssLCSKPF9O2cnt6TCJkklzbbhDNhf1ozUU=";
|
};
|
||||||
};
|
})
|
||||||
})
|
(pkgs.vimUtils.buildVimPlugin {
|
||||||
(pkgs.vimUtils.buildVimPlugin {
|
name = "automkdir.nvim";
|
||||||
name = "automkdir.nvim";
|
src = pkgs.fetchFromGitHub {
|
||||||
src = pkgs.fetchFromGitHub {
|
owner = "mateuszwieloch";
|
||||||
owner = "mateuszwieloch";
|
repo = "automkdir.nvim";
|
||||||
repo = "automkdir.nvim";
|
rev = "beeb2dd76f1c3ac776d901c43217a774f1f045de";
|
||||||
rev = "beeb2dd76f1c3ac776d901c43217a774f1f045de";
|
hash = "sha256-lKSCZ80b/+OV56858FDK7x/zhcuU/AWuCDe+8NdhziU=";
|
||||||
hash = "sha256-lKSCZ80b/+OV56858FDK7x/zhcuU/AWuCDe+8NdhziU=";
|
};
|
||||||
};
|
})
|
||||||
})
|
];
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
plugins.lsp = {
|
plugins.lsp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
servers = {
|
servers = {
|
||||||
bashls.enable = true;
|
bashls.enable = true;
|
||||||
ccls.enable = true;
|
ccls.enable = true;
|
||||||
clangd.enable = true;
|
clangd.enable = true;
|
||||||
cmake.enable = true;
|
cmake.enable = true;
|
||||||
html.enable = true;
|
html.enable = true;
|
||||||
jsonls.enable = true;
|
jsonls.enable = true;
|
||||||
lua-ls.enable = true;
|
lua-ls.enable = true;
|
||||||
marksman.enable = true;
|
marksman.enable = true;
|
||||||
nil-ls.enable = true;
|
nil-ls.enable = true;
|
||||||
pyright.enable = true;
|
pyright.enable = true;
|
||||||
sqls.enable = true;
|
sqls.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,36 +1,42 @@
|
|||||||
{
|
{
|
||||||
plugins.lualine = {
|
plugins.lualine = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
options = {
|
options = {
|
||||||
icons_enabled = true;
|
icons_enabled = true;
|
||||||
theme = "auto";
|
theme = "auto";
|
||||||
component_separators = {left = ""; right = "";};
|
component_separators = {
|
||||||
section_separators = {left = ""; right = "";};
|
left = "";
|
||||||
always_divide_middle = true;
|
right = "";
|
||||||
globalstatus = false;
|
};
|
||||||
refresh = {
|
section_separators = {
|
||||||
statusline = 1000;
|
left = "";
|
||||||
tabline = 1000;
|
right = "";
|
||||||
winbar = 1000;
|
};
|
||||||
};
|
always_divide_middle = true;
|
||||||
};
|
globalstatus = false;
|
||||||
sections = {
|
refresh = {
|
||||||
lualine_a = ["mode"];
|
statusline = 1000;
|
||||||
lualine_b = ["buffers"];
|
tabline = 1000;
|
||||||
lualine_c = [""];
|
winbar = 1000;
|
||||||
lualine_x = ["searchcount" "fileformat" "filetype"];
|
};
|
||||||
lualine_y = ["branch" "diff" "diagnostics"];
|
};
|
||||||
lualine_z = ["location"];
|
sections = {
|
||||||
};
|
lualine_a = ["mode"];
|
||||||
inactive_sections = {
|
lualine_b = ["buffers"];
|
||||||
lualine_a = [];
|
lualine_c = [""];
|
||||||
lualine_b = [];
|
lualine_x = ["searchcount" "fileformat" "filetype"];
|
||||||
lualine_c = ["filename"];
|
lualine_y = ["branch" "diff" "diagnostics"];
|
||||||
lualine_x = ["location"];
|
lualine_z = ["location"];
|
||||||
lualine_y = [];
|
};
|
||||||
lualine_z = [];
|
inactive_sections = {
|
||||||
};
|
lualine_a = [];
|
||||||
};
|
lualine_b = [];
|
||||||
};
|
lualine_c = ["filename"];
|
||||||
|
lualine_x = ["location"];
|
||||||
|
lualine_y = [];
|
||||||
|
lualine_z = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,84 +1,86 @@
|
|||||||
{
|
{
|
||||||
plugins.nvim-tree = {
|
plugins.nvim-tree = {
|
||||||
enable = true;
|
enable = true;
|
||||||
hijackUnnamedBufferWhenOpening = false;
|
hijackUnnamedBufferWhenOpening = false;
|
||||||
openOnSetup = false;
|
openOnSetup = false;
|
||||||
onAttach = { __raw = ''
|
onAttach = {
|
||||||
function(bufnr)
|
__raw = ''
|
||||||
local api = require('nvim-tree.api')
|
function(bufnr)
|
||||||
|
local api = require('nvim-tree.api')
|
||||||
|
|
||||||
local function opts(desc)
|
local function opts(desc)
|
||||||
return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
||||||
end
|
end
|
||||||
|
|
||||||
-- BEGIN_DEFAULT_ON_ATTACH
|
-- BEGIN_DEFAULT_ON_ATTACH
|
||||||
vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node, opts('CD'))
|
vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node, opts('CD'))
|
||||||
vim.keymap.set('n', '<C-e>', api.node.open.replace_tree_buffer, opts('Open: In Place'))
|
vim.keymap.set('n', '<C-e>', api.node.open.replace_tree_buffer, opts('Open: In Place'))
|
||||||
vim.keymap.set('n', '<C-k>', api.node.show_info_popup, opts('Info'))
|
vim.keymap.set('n', '<C-k>', api.node.show_info_popup, opts('Info'))
|
||||||
vim.keymap.set('n', '<C-r>', api.fs.rename_sub, opts('Rename: Omit Filename'))
|
vim.keymap.set('n', '<C-r>', api.fs.rename_sub, opts('Rename: Omit Filename'))
|
||||||
vim.keymap.set('n', '<C-t>', api.node.open.tab, opts('Open: New Tab'))
|
vim.keymap.set('n', '<C-t>', api.node.open.tab, opts('Open: New Tab'))
|
||||||
vim.keymap.set('n', '<C-v>', api.node.open.vertical, opts('Open: Vertical Split'))
|
vim.keymap.set('n', '<C-v>', api.node.open.vertical, opts('Open: Vertical Split'))
|
||||||
vim.keymap.set('n', '<C-x>', api.node.open.horizontal, opts('Open: Horizontal Split'))
|
vim.keymap.set('n', '<C-x>', api.node.open.horizontal, opts('Open: Horizontal Split'))
|
||||||
vim.keymap.set('n', '<BS>', api.node.navigate.parent_close, opts('Close Directory'))
|
vim.keymap.set('n', '<BS>', api.node.navigate.parent_close, opts('Close Directory'))
|
||||||
vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
|
vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
|
||||||
vim.keymap.set('n', 'b', api.node.open.preview, opts('Open Preview'))
|
vim.keymap.set('n', 'b', api.node.open.preview, opts('Open Preview'))
|
||||||
vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling'))
|
vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling'))
|
||||||
vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling'))
|
vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling'))
|
||||||
vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command'))
|
vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command'))
|
||||||
vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up'))
|
vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up'))
|
||||||
vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory'))
|
vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory'))
|
||||||
vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked'))
|
vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked'))
|
||||||
vim.keymap.set('n', 'bt', api.marks.bulk.trash, opts('Trash Bookmarked'))
|
vim.keymap.set('n', 'bt', api.marks.bulk.trash, opts('Trash Bookmarked'))
|
||||||
vim.keymap.set('n', 'bmv', api.marks.bulk.move, opts('Move Bookmarked'))
|
vim.keymap.set('n', 'bmv', api.marks.bulk.move, opts('Move Bookmarked'))
|
||||||
vim.keymap.set('n', 'B', api.tree.toggle_no_buffer_filter, opts('Toggle Filter: No Buffer'))
|
vim.keymap.set('n', 'B', api.tree.toggle_no_buffer_filter, opts('Toggle Filter: No Buffer'))
|
||||||
vim.keymap.set('n', 'c', api.fs.copy.node, opts('Copy'))
|
vim.keymap.set('n', 'c', api.fs.copy.node, opts('Copy'))
|
||||||
vim.keymap.set('n', 'C', api.tree.toggle_git_clean_filter, opts('Toggle Filter: Git Clean'))
|
vim.keymap.set('n', 'C', api.tree.toggle_git_clean_filter, opts('Toggle Filter: Git Clean'))
|
||||||
vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git'))
|
vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git'))
|
||||||
vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git'))
|
vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git'))
|
||||||
vim.keymap.set('n', 'd', api.fs.remove, opts('Delete'))
|
vim.keymap.set('n', 'd', api.fs.remove, opts('Delete'))
|
||||||
vim.keymap.set('n', 'D', api.fs.trash, opts('Trash'))
|
vim.keymap.set('n', 'D', api.fs.trash, opts('Trash'))
|
||||||
vim.keymap.set('n', 'E', api.tree.expand_all, opts('Expand All'))
|
vim.keymap.set('n', 'E', api.tree.expand_all, opts('Expand All'))
|
||||||
vim.keymap.set('n', 'e', api.fs.rename_basename, opts('Rename: Basename'))
|
vim.keymap.set('n', 'e', api.fs.rename_basename, opts('Rename: Basename'))
|
||||||
vim.keymap.set('n', ']e', api.node.navigate.diagnostics.next, opts('Next Diagnostic'))
|
vim.keymap.set('n', ']e', api.node.navigate.diagnostics.next, opts('Next Diagnostic'))
|
||||||
vim.keymap.set('n', '[e', api.node.navigate.diagnostics.prev, opts('Prev Diagnostic'))
|
vim.keymap.set('n', '[e', api.node.navigate.diagnostics.prev, opts('Prev Diagnostic'))
|
||||||
vim.keymap.set('n', 'F', api.live_filter.clear, opts('Live Filter: Clear'))
|
vim.keymap.set('n', 'F', api.live_filter.clear, opts('Live Filter: Clear'))
|
||||||
vim.keymap.set('n', 'f', api.live_filter.start, opts('Live Filter: Start'))
|
vim.keymap.set('n', 'f', api.live_filter.start, opts('Live Filter: Start'))
|
||||||
vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
|
vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
|
||||||
vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
|
vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
|
||||||
vim.keymap.set('n', 'ge', api.fs.copy.basename, opts('Copy Basename'))
|
vim.keymap.set('n', 'ge', api.fs.copy.basename, opts('Copy Basename'))
|
||||||
vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Filter: Dotfiles'))
|
vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Filter: Dotfiles'))
|
||||||
vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Filter: Git Ignore'))
|
vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Filter: Git Ignore'))
|
||||||
vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
|
vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
|
||||||
vim.keymap.set('n', 'K', api.node.navigate.sibling.first, opts('First Sibling'))
|
vim.keymap.set('n', 'K', api.node.navigate.sibling.first, opts('First Sibling'))
|
||||||
vim.keymap.set('n', 'L', api.node.open.toggle_group_empty, opts('Toggle Group Empty'))
|
vim.keymap.set('n', 'L', api.node.open.toggle_group_empty, opts('Toggle Group Empty'))
|
||||||
vim.keymap.set('n', 'M', api.tree.toggle_no_bookmark_filter, opts('Toggle Filter: No Bookmark'))
|
vim.keymap.set('n', 'M', api.tree.toggle_no_bookmark_filter, opts('Toggle Filter: No Bookmark'))
|
||||||
vim.keymap.set('n', 'm', api.marks.toggle, opts('Toggle Bookmark'))
|
vim.keymap.set('n', 'm', api.marks.toggle, opts('Toggle Bookmark'))
|
||||||
vim.keymap.set('n', 'o', api.node.open.edit, opts('Open'))
|
vim.keymap.set('n', 'o', api.node.open.edit, opts('Open'))
|
||||||
vim.keymap.set('n', 'O', api.node.open.no_window_picker, opts('Open: No Window Picker'))
|
vim.keymap.set('n', 'O', api.node.open.no_window_picker, opts('Open: No Window Picker'))
|
||||||
vim.keymap.set('n', 'p', api.fs.paste, opts('Paste'))
|
vim.keymap.set('n', 'p', api.fs.paste, opts('Paste'))
|
||||||
vim.keymap.set('n', 'P', api.node.navigate.parent, opts('Parent Directory'))
|
vim.keymap.set('n', 'P', api.node.navigate.parent, opts('Parent Directory'))
|
||||||
vim.keymap.set('n', 'q', api.tree.close, opts('Close'))
|
vim.keymap.set('n', 'q', api.tree.close, opts('Close'))
|
||||||
vim.keymap.set('n', 'r', api.fs.rename, opts('Rename'))
|
vim.keymap.set('n', 'r', api.fs.rename, opts('Rename'))
|
||||||
vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
|
vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
|
||||||
vim.keymap.set('n', 's', api.node.run.system, opts('Run System'))
|
vim.keymap.set('n', 's', api.node.run.system, opts('Run System'))
|
||||||
vim.keymap.set('n', 'S', api.tree.search_node, opts('Search'))
|
vim.keymap.set('n', 'S', api.tree.search_node, opts('Search'))
|
||||||
vim.keymap.set('n', 'u', api.fs.rename_full, opts('Rename: Full Path'))
|
vim.keymap.set('n', 'u', api.fs.rename_full, opts('Rename: Full Path'))
|
||||||
vim.keymap.set('n', 'U', api.tree.toggle_custom_filter, opts('Toggle Filter: Hidden'))
|
vim.keymap.set('n', 'U', api.tree.toggle_custom_filter, opts('Toggle Filter: Hidden'))
|
||||||
vim.keymap.set('n', 'W', api.tree.collapse_all, opts('Collapse'))
|
vim.keymap.set('n', 'W', api.tree.collapse_all, opts('Collapse'))
|
||||||
vim.keymap.set('n', 'x', api.fs.cut, opts('Cut'))
|
vim.keymap.set('n', 'x', api.fs.cut, opts('Cut'))
|
||||||
vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name'))
|
vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name'))
|
||||||
vim.keymap.set('n', 'Y', api.fs.copy.relative_path, opts('Copy Relative Path'))
|
vim.keymap.set('n', 'Y', api.fs.copy.relative_path, opts('Copy Relative Path'))
|
||||||
vim.keymap.set('n', '<2-LeftMouse>', api.node.open.edit, opts('Open'))
|
vim.keymap.set('n', '<2-LeftMouse>', api.node.open.edit, opts('Open'))
|
||||||
vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD'))
|
vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD'))
|
||||||
-- END_DEFAULT_ON_ATTACH
|
-- END_DEFAULT_ON_ATTACH
|
||||||
end
|
end
|
||||||
''; };
|
'';
|
||||||
view = {
|
};
|
||||||
side = "right";
|
view = {
|
||||||
centralizeSelection = true;
|
side = "right";
|
||||||
number = true;
|
centralizeSelection = true;
|
||||||
relativenumber = true;
|
number = true;
|
||||||
width = 40;
|
relativenumber = true;
|
||||||
};
|
width = 40;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
{
|
{
|
||||||
plugins = {
|
plugins = {
|
||||||
nvim-surround.enable = true;
|
nvim-surround.enable = true;
|
||||||
indent-blankline.enable = true;
|
indent-blankline.enable = true;
|
||||||
treesitter.enable = true;
|
treesitter.enable = true;
|
||||||
lastplace.enable = true;
|
lastplace.enable = true;
|
||||||
markdown-preview.enable = true;
|
markdown-preview.enable = true;
|
||||||
gitsigns.enable = true;
|
gitsigns.enable = true;
|
||||||
web-devicons.enable = true;
|
web-devicons.enable = true;
|
||||||
endwise.enable = true;
|
endwise.enable = true;
|
||||||
marks.enable = true;
|
marks.enable = true;
|
||||||
trouble.enable = true;
|
trouble.enable = true;
|
||||||
floaterm.enable = true;
|
floaterm.enable = true;
|
||||||
fugitive.enable = true;
|
fugitive.enable = true;
|
||||||
rustaceanvim.enable = true;
|
rustaceanvim.enable = true;
|
||||||
firenvim.enable = true;
|
firenvim.enable = true;
|
||||||
dap = {
|
dap = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extensions.dap-ui.enable = true;
|
extensions.dap-ui.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
plugins.telescope = {
|
plugins.telescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
pickers = {
|
pickers = {
|
||||||
find_files = {
|
find_files = {
|
||||||
hidden = true;
|
hidden = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
{
|
{
|
||||||
plugins.vim-matchup = {
|
plugins.vim-matchup = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSurround = true;
|
enableSurround = true;
|
||||||
textObj.enable = true;
|
textObj.enable = true;
|
||||||
motion = {
|
motion = {
|
||||||
enable = true;
|
enable = true;
|
||||||
cursorEnd = true;
|
cursorEnd = true;
|
||||||
};
|
};
|
||||||
matchParen = {
|
matchParen = {
|
||||||
hiSurroundAlways = true;
|
hiSurroundAlways = true;
|
||||||
offscreen = {
|
offscreen = {
|
||||||
method = "popup";
|
method = "popup";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
treesitterIntegration = {
|
treesitterIntegration = {
|
||||||
enable = true;
|
enable = true;
|
||||||
includeMatchWords = true;
|
includeMatchWords = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,13 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = {
|
||||||
{
|
nixvim,
|
||||||
nixvim,
|
flake-parts,
|
||||||
flake-parts,
|
pre-commit-hooks,
|
||||||
pre-commit-hooks,
|
...
|
||||||
...
|
} @ inputs:
|
||||||
}@inputs:
|
flake-parts.lib.mkFlake {inherit inputs;} {
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
|
||||||
systems = [
|
systems = [
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
@@ -29,44 +28,41 @@
|
|||||||
"x86_64-darwin"
|
"x86_64-darwin"
|
||||||
];
|
];
|
||||||
|
|
||||||
perSystem =
|
perSystem = {
|
||||||
{
|
system,
|
||||||
system,
|
pkgs,
|
||||||
pkgs,
|
self',
|
||||||
self',
|
...
|
||||||
...
|
}: let
|
||||||
}:
|
nixvim' = nixvim.legacyPackages.${system};
|
||||||
let
|
nvim = nixvim'.makeNixvimWithModule {
|
||||||
nixvim' = nixvim.legacyPackages.${system};
|
inherit pkgs;
|
||||||
nvim = nixvim'.makeNixvimWithModule {
|
module = ./config;
|
||||||
inherit pkgs;
|
};
|
||||||
module = ./config;
|
in {
|
||||||
};
|
checks = {
|
||||||
in
|
pre-commit-check = pre-commit-hooks.lib.${system}.run {
|
||||||
{
|
src = ./.;
|
||||||
checks = {
|
hooks = {
|
||||||
pre-commit-check = pre-commit-hooks.lib.${system}.run {
|
statix.enable = true;
|
||||||
src = ./.;
|
nixfmt-rfc-style.enable = true;
|
||||||
hooks = {
|
deadnix = {
|
||||||
statix.enable = true;
|
enable = true;
|
||||||
nixfmt-rfc-style.enable = true;
|
settings = {
|
||||||
deadnix = {
|
edit = true;
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
edit = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
formatter = pkgs.nixfmt-rfc-style;
|
|
||||||
|
|
||||||
packages.default = nvim;
|
|
||||||
|
|
||||||
devShells = {
|
|
||||||
default = with pkgs; mkShell { inherit (self'.checks.pre-commit-check) shellHook; };
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
formatter = pkgs.nixfmt-rfc-style;
|
||||||
|
|
||||||
|
packages.default = nvim;
|
||||||
|
|
||||||
|
devShells = {
|
||||||
|
default = with pkgs; mkShell {inherit (self'.checks.pre-commit-check) shellHook;};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,8 +5,11 @@
|
|||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ... }@inputs:
|
outputs = {
|
||||||
let
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
...
|
||||||
|
} @ inputs: let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
|
||||||
@@ -14,13 +17,13 @@
|
|||||||
extraFonts = pkgs.fetchFromGitHub {
|
extraFonts = pkgs.fetchFromGitHub {
|
||||||
owner = "xero";
|
owner = "xero";
|
||||||
repo = "figlet-fonts";
|
repo = "figlet-fonts";
|
||||||
rev = "master"; # Or specify a particular commit/tag
|
rev = "master"; # Or specify a particular commit/tag
|
||||||
sha256 = "sha256-dAs7N66D2Fpy4/UB5Za1r2qb1iSAJR6TMmau1asxgtY="; # Replace with actual hash
|
sha256 = "sha256-dAs7N66D2Fpy4/UB5Za1r2qb1iSAJR6TMmau1asxgtY="; # Replace with actual hash
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
packages.${system} = {
|
packages.${system} = {
|
||||||
default = pkgs.toilet.overrideAttrs (oldAttrs: rec {
|
default = pkgs.toilet.overrideAttrs (oldAttrs: rec {
|
||||||
buildInputs = oldAttrs.buildInputs or [] ++ [ extraFonts ];
|
buildInputs = oldAttrs.buildInputs or [] ++ [extraFonts];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
make install PREFIX=$out
|
make install PREFIX=$out
|
||||||
|
|||||||
Reference in New Issue
Block a user