(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": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-wk+pdZUCu13qvhHBrycwrvGnRUaf6dbLchr3yF96C1c=",
|
||||
"narHash": "sha256-+aYqfRtAoaA4wqPfy4j2biNTVj2TtEmmHXDKOzNoU6g=",
|
||||
"path": "./pkgs/nixvim",
|
||||
"type": "path"
|
||||
},
|
||||
@@ -1016,7 +1016,7 @@
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-S3crmqg/CDKf+QTwnZUR6udyjsvqS0P0y56wGuJmOno=",
|
||||
"narHash": "sha256-G8k9Ue2ZggJXD17cDXQubY+b4utp2YLnSpQWe06mR4E=",
|
||||
"path": "./pkgs/toilet",
|
||||
"type": "path"
|
||||
},
|
||||
|
||||
144
flake.nix
144
flake.nix
@@ -1,77 +1,83 @@
|
||||
{
|
||||
description = "pagedMov's NixOS configuration";
|
||||
description = "pagedMov's NixOS configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hypr-contrib.url = "github:hyprwm/contrib";
|
||||
hyprpicker.url = "github:hyprwm/hyprpicker";
|
||||
hyprland = {
|
||||
type = "git";
|
||||
url = "https://github.com/hyprwm/Hyprland";
|
||||
submodules = true;
|
||||
};
|
||||
hypr-contrib.url = "github:hyprwm/contrib";
|
||||
hyprpicker.url = "github:hyprwm/hyprpicker";
|
||||
hyprland = {
|
||||
type = "git";
|
||||
url = "https://github.com/hyprwm/Hyprland";
|
||||
submodules = true;
|
||||
};
|
||||
|
||||
catppuccin-bat = {
|
||||
url = "github:catppuccin/bat";
|
||||
flake = false;
|
||||
};
|
||||
catppuccin-cava = {
|
||||
url = "github:catppuccin/cava";
|
||||
flake = false;
|
||||
};
|
||||
catppuccin-starship = {
|
||||
url = "github:catppuccin/starship";
|
||||
flake = false;
|
||||
};
|
||||
catppuccin-yazi = {
|
||||
url = "github:catppuccin/yazi";
|
||||
flake = false;
|
||||
};
|
||||
spicetify-nix = {
|
||||
url = "github:gerg-l/spicetify-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
catppuccin-bat = {
|
||||
url = "github:catppuccin/bat";
|
||||
flake = false;
|
||||
};
|
||||
catppuccin-cava = {
|
||||
url = "github:catppuccin/cava";
|
||||
flake = false;
|
||||
};
|
||||
catppuccin-starship = {
|
||||
url = "github:catppuccin/starship";
|
||||
flake = false;
|
||||
};
|
||||
catppuccin-yazi = {
|
||||
url = "github:catppuccin/yazi";
|
||||
flake = false;
|
||||
};
|
||||
spicetify-nix = {
|
||||
url = "github:gerg-l/spicetify-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
#glasshouse-desktop dots
|
||||
nvim.url = "path:./pkgs/nixvim";
|
||||
toilet.url = "path:./pkgs/toilet";
|
||||
};
|
||||
#glasshouse-desktop dots
|
||||
nvim.url = "path:./pkgs/nixvim";
|
||||
toilet.url = "path:./pkgs/toilet";
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, nur, home-manager, self, nvim, toilet, ... }@inputs:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
username = "pagedmov";
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
desktop = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
host = "desktop";
|
||||
inherit self inputs username;
|
||||
};
|
||||
inherit system;
|
||||
modules = [
|
||||
./hosts/desktop
|
||||
nur.nixosModules.nur
|
||||
];
|
||||
};
|
||||
outputs = {
|
||||
nixpkgs,
|
||||
nur,
|
||||
home-manager,
|
||||
self,
|
||||
nvim,
|
||||
toilet,
|
||||
...
|
||||
} @ inputs: let
|
||||
system = "x86_64-linux";
|
||||
username = "pagedmov";
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
desktop = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
host = "desktop";
|
||||
inherit self inputs username;
|
||||
};
|
||||
inherit system;
|
||||
modules = [
|
||||
./hosts/desktop
|
||||
nur.nixosModules.nur
|
||||
];
|
||||
};
|
||||
|
||||
laptop = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
host = "laptop";
|
||||
inherit self inputs username;
|
||||
};
|
||||
modules = [
|
||||
./hosts/laptop
|
||||
nur.nixosModules.nur
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
laptop = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
host = "laptop";
|
||||
inherit self inputs username;
|
||||
};
|
||||
modules = [
|
||||
./hosts/laptop
|
||||
nur.nixosModules.nur
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
|
||||
{ host, inputs, username, nur, pkgs, self, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./../../modules/sys
|
||||
./hardware.nix
|
||||
./settings.nix
|
||||
./steam.nix
|
||||
];
|
||||
host,
|
||||
inputs,
|
||||
username,
|
||||
nur,
|
||||
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’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# 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.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "uas" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/a687e4e2-8665-43f1-9d62-3e3f21423579";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/a687e4e2-8665-43f1-9d62-3e3f21423579";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/6EAD-2C48";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/6EAD-2C48";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/nvme0n1p5";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/nvme0n1p5";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/home/${username}/steamlib" =
|
||||
{ device = "/dev/nvme0n1p1";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/home/${username}/steamlib" = {
|
||||
device = "/dev/nvme0n1p1";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
swapDevices = [];
|
||||
|
||||
# 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
|
||||
# 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`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp14s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
|
||||
# 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
|
||||
# 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`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp14s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware = {
|
||||
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
keyboard.uhk.enable = true;
|
||||
amdgpu.amdvlk = {
|
||||
enable = false;
|
||||
support32Bit.enable = true;
|
||||
};
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
};
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware = {
|
||||
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
keyboard.uhk.enable = true;
|
||||
amdgpu.amdvlk = {
|
||||
enable = false;
|
||||
support32Bit.enable = true;
|
||||
};
|
||||
bluetooth = {
|
||||
enable = 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";
|
||||
};
|
||||
};
|
||||
|
||||
{
|
||||
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 = {
|
||||
variables = {
|
||||
XCURSOR_SIZE = "24";
|
||||
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
||||
};
|
||||
shells = with pkgs; [
|
||||
zsh
|
||||
bash
|
||||
];
|
||||
};
|
||||
|
||||
environment = {
|
||||
variables = {
|
||||
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";
|
||||
time.timeZone = "America/New_York";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
};
|
||||
{...}: {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot = {
|
||||
kernelModules = ["acpi_call"];
|
||||
extraModulePackages = with config.boot.kernelPackages;
|
||||
[
|
||||
acpi_call
|
||||
cpupower
|
||||
]
|
||||
++ [pkgs.cpupower-gui];
|
||||
};
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
boot = {
|
||||
kernelModules = ["acpi_call"];
|
||||
extraModulePackages = with config.boot.kernelPackages;
|
||||
[
|
||||
acpi_call
|
||||
cpupower
|
||||
]
|
||||
++ [pkgs.cpupower-gui];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
{ host, inputs, pkgs, config, self, username, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./../../modules/sys
|
||||
./hardware.nix
|
||||
./boot.nix
|
||||
./services.nix
|
||||
./environment.nix
|
||||
./settings.nix
|
||||
];
|
||||
host,
|
||||
inputs,
|
||||
pkgs,
|
||||
config,
|
||||
self,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./../../modules/sys
|
||||
./hardware.nix
|
||||
./boot.nix
|
||||
./services.nix
|
||||
./environment.nix
|
||||
./settings.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,20 +1,18 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment = {
|
||||
variables = {
|
||||
XCURSOR_SIZE = "24";
|
||||
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
||||
};
|
||||
shells = with pkgs; [
|
||||
zsh
|
||||
bash
|
||||
];
|
||||
systemPackages = with pkgs; [
|
||||
acpi
|
||||
brightnessctl
|
||||
cpupower-gui
|
||||
powertop
|
||||
];
|
||||
};
|
||||
{pkgs, ...}: {
|
||||
environment = {
|
||||
variables = {
|
||||
XCURSOR_SIZE = "24";
|
||||
PATH = "${pkgs.clang-tools}/bin:$PATH";
|
||||
};
|
||||
shells = with pkgs; [
|
||||
zsh
|
||||
bash
|
||||
];
|
||||
systemPackages = with pkgs; [
|
||||
acpi
|
||||
brightnessctl
|
||||
cpupower-gui
|
||||
powertop
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,30 +1,34 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
config,
|
||||
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.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/334f742b-460f-43f8-b819-33086adfa9fb";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/334f742b-460f-43f8-b819-33086adfa9fb";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/ECD9-F43B";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/ECD9-F43B";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
swapDevices = [];
|
||||
|
||||
# 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
|
||||
|
||||
@@ -1,50 +1,47 @@
|
||||
{ ... }:
|
||||
{...}: {
|
||||
services = {
|
||||
keyd = {
|
||||
enable = true;
|
||||
keyboards.default = {
|
||||
ids = ["*"];
|
||||
settings.main = {
|
||||
capslock = "esc";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
{
|
||||
services = {
|
||||
power-profiles-daemon.enable = true;
|
||||
|
||||
keyd = {
|
||||
enable = true;
|
||||
keyboards.default = {
|
||||
ids = [ "*" ];
|
||||
settings.main = {
|
||||
capslock = "esc";
|
||||
};
|
||||
};
|
||||
};
|
||||
upower = {
|
||||
enable = true;
|
||||
percentageLow = 20;
|
||||
percentageCritical = 5;
|
||||
percentageAction = 3;
|
||||
criticalPowerAction = "PowerOff";
|
||||
};
|
||||
|
||||
power-profiles-daemon.enable = true;
|
||||
tlp.settings = {
|
||||
CPU_ENERGY_PERF_POLICY_ON_AC = "power";
|
||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||
|
||||
upower = {
|
||||
enable = true;
|
||||
percentageLow = 20;
|
||||
percentageCritical = 5;
|
||||
percentageAction = 3;
|
||||
criticalPowerAction = "PowerOff";
|
||||
};
|
||||
CPU_BOOST_ON_AC = 1;
|
||||
CPU_BOOST_ON_BAT = 1;
|
||||
|
||||
tlp.settings = {
|
||||
CPU_ENERGY_PERF_POLICY_ON_AC = "power";
|
||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||
CPU_HWP_DYN_BOOST_ON_AC = 1;
|
||||
CPU_HWP_DYN_BOOST_ON_BAT = 1;
|
||||
|
||||
CPU_BOOST_ON_AC = 1;
|
||||
CPU_BOOST_ON_BAT = 1;
|
||||
PLATFORM_PROFILE_ON_AC = "performance";
|
||||
PLATFORM_PROFILE_ON_BAT = "performance";
|
||||
|
||||
CPU_HWP_DYN_BOOST_ON_AC = 1;
|
||||
CPU_HWP_DYN_BOOST_ON_BAT = 1;
|
||||
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;
|
||||
|
||||
PLATFORM_PROFILE_ON_AC = "performance";
|
||||
PLATFORM_PROFILE_ON_BAT = "performance";
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
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";
|
||||
};
|
||||
};
|
||||
|
||||
{
|
||||
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";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
|
||||
time.timeZone = "America/New_York";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
|
||||
powerManagement.cpuFreqGovernor = "performance";
|
||||
powerManagement.cpuFreqGovernor = "performance";
|
||||
}
|
||||
|
||||
@@ -1,29 +1,33 @@
|
||||
{ host, nur, self, inputs, username, config, home-manager, ... }:
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (import ./programs/btop.nix) ]
|
||||
++ [ (import ./programs/yazi.nix) ]
|
||||
++ [ (import ./programs/kitty.nix) ]
|
||||
++ [ (import ./programs/fuzzel.nix) ]
|
||||
++ [ (import ./programs/eza.nix) ]
|
||||
++ [ (import ./programs/cava.nix) ]
|
||||
++ [ (import ./programs/bat.nix) ]
|
||||
++ [ (import ./programs/fzf.nix) ]
|
||||
++ [ (import ./programs/git.nix) ]
|
||||
++ [ (import ./programs/password-store.nix) ]
|
||||
++ [ (import ./programs/autojump.nix) ]
|
||||
++ [ (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) ];
|
||||
host,
|
||||
nur,
|
||||
self,
|
||||
inputs,
|
||||
username,
|
||||
config,
|
||||
home-manager,
|
||||
...
|
||||
}: {
|
||||
imports =
|
||||
[(import ./programs/btop.nix)]
|
||||
++ [(import ./programs/yazi.nix)]
|
||||
++ [(import ./programs/kitty.nix)]
|
||||
++ [(import ./programs/fuzzel.nix)]
|
||||
++ [(import ./programs/eza.nix)]
|
||||
++ [(import ./programs/cava.nix)]
|
||||
++ [(import ./programs/bat.nix)]
|
||||
++ [(import ./programs/fzf.nix)]
|
||||
++ [(import ./programs/git.nix)]
|
||||
++ [(import ./programs/password-store.nix)]
|
||||
++ [(import ./programs/autojump.nix)]
|
||||
++ [(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; [
|
||||
gtk3
|
||||
uhk-agent
|
||||
sqlite
|
||||
zathura
|
||||
gimp
|
||||
imagemagick
|
||||
yt-dlp
|
||||
vlc
|
||||
lolcat
|
||||
speedtest-cli
|
||||
vesktop
|
||||
qbittorrent
|
||||
obs-studio
|
||||
neovide
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
audacity
|
||||
snes9x-gtk
|
||||
rustup
|
||||
libreoffice
|
||||
handbrake
|
||||
gtrash
|
||||
ripgrep
|
||||
nvim
|
||||
toilet
|
||||
python3
|
||||
];
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
nvim = inputs.nvim.packages."x86_64-linux".default;
|
||||
toilet = inputs.toilet.packages."x86_64-linux".default;
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
gtk3
|
||||
uhk-agent
|
||||
sqlite
|
||||
zathura
|
||||
gimp
|
||||
imagemagick
|
||||
yt-dlp
|
||||
vlc
|
||||
lolcat
|
||||
speedtest-cli
|
||||
vesktop
|
||||
qbittorrent
|
||||
obs-studio
|
||||
neovide
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
audacity
|
||||
snes9x-gtk
|
||||
rustup
|
||||
libreoffice
|
||||
handbrake
|
||||
gtrash
|
||||
ripgrep
|
||||
nvim
|
||||
toilet
|
||||
python3
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = [
|
||||
pkgs.nerdfonts
|
||||
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" "Noto" ]; })
|
||||
(pkgs.nerdfonts.override {fonts = ["JetBrainsMono" "Noto"];})
|
||||
pkgs.twemoji-color-font
|
||||
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; [
|
||||
gtk3
|
||||
uhk-agent
|
||||
sqlite
|
||||
starship
|
||||
zathura
|
||||
imagemagick
|
||||
yt-dlp
|
||||
vlc
|
||||
speedtest-cli
|
||||
vesktop
|
||||
obs-studio
|
||||
neovide
|
||||
chromium
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
rustup
|
||||
libreoffice
|
||||
handbrake
|
||||
gtrash
|
||||
ripgrep
|
||||
nvim
|
||||
toilet
|
||||
python3
|
||||
];
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
nvim = inputs.nvim.packages."x86_64-linux".default;
|
||||
toilet = inputs.toilet.packages."x86_64-linux".default;
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
gtk3
|
||||
uhk-agent
|
||||
sqlite
|
||||
starship
|
||||
zathura
|
||||
imagemagick
|
||||
yt-dlp
|
||||
vlc
|
||||
speedtest-cli
|
||||
vesktop
|
||||
obs-studio
|
||||
neovide
|
||||
chromium
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
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:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"spotify"
|
||||
@@ -13,12 +15,12 @@ in
|
||||
|
||||
programs.spicetify = {
|
||||
enable = true;
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
adblock
|
||||
hidePodcasts
|
||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||
];
|
||||
theme = spicePkgs.themes.catppuccin;
|
||||
colorScheme = "mocha";
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
adblock
|
||||
hidePodcasts
|
||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||
];
|
||||
theme = spicePkgs.themes.catppuccin;
|
||||
colorScheme = "mocha";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,61 +1,63 @@
|
||||
{ lib, inputs, ... }:
|
||||
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = false;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
right_format = "($custom)";
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = false;
|
||||
settings =
|
||||
{
|
||||
add_newline = true;
|
||||
right_format = "($custom)";
|
||||
|
||||
format = lib.concatStrings [
|
||||
"($username)(bold white)($cmd_duration)($character)"
|
||||
"($git_branch)($git_status)($rust)($nix-shell)"
|
||||
"($directory)"
|
||||
"$line_break[ > ](bold #89b4fa)"
|
||||
];
|
||||
format = lib.concatStrings [
|
||||
"($username)(bold white)($cmd_duration)($character)"
|
||||
"($git_branch)($git_status)($rust)($nix-shell)"
|
||||
"($directory)"
|
||||
"$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 = {
|
||||
show_always = true;
|
||||
style_user = "bold white";
|
||||
format = "[$user]($style)";
|
||||
};
|
||||
directory = {
|
||||
format = "\n[$path](bold cyan)[/](bold green) ";
|
||||
style = "bold #b4befe";
|
||||
};
|
||||
character = {
|
||||
success_symbol = "[ -> ](bold green)";
|
||||
error_symbol = "[ -> ✗](bold red)";
|
||||
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
|
||||
};
|
||||
|
||||
character = {
|
||||
success_symbol = "[ -> ](bold green)";
|
||||
error_symbol = "[ -> ✗](bold red)";
|
||||
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
|
||||
};
|
||||
cmd_duration = {
|
||||
format = "[ $duration]($style)";
|
||||
disabled = false;
|
||||
style = "bg:none fg:#f9e2af";
|
||||
show_notifications = false;
|
||||
min_time_to_notify = 60000;
|
||||
};
|
||||
|
||||
cmd_duration = {
|
||||
format = "[ $duration]($style)";
|
||||
disabled = false;
|
||||
style = "bg:none fg:#f9e2af";
|
||||
show_notifications = false;
|
||||
min_time_to_notify = 60000;
|
||||
};
|
||||
git_branch = {
|
||||
format = "\non [$symbol$branch](bold purple)";
|
||||
symbol = " ";
|
||||
truncation_length = 15;
|
||||
style = "bold purple";
|
||||
};
|
||||
|
||||
git_branch = {
|
||||
format = "\non [$symbol$branch](bold purple)";
|
||||
symbol = " ";
|
||||
truncation_length = 15;
|
||||
style = "bold purple";
|
||||
};
|
||||
custom.shellver = {
|
||||
command = "zsh --version";
|
||||
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
|
||||
symbol = "";
|
||||
style = "bold magenta";
|
||||
};
|
||||
|
||||
custom.shellver = {
|
||||
command = "zsh --version";
|
||||
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
|
||||
symbol = "";
|
||||
style = "bold magenta";
|
||||
};
|
||||
|
||||
palette = "catppuccin_mocha";
|
||||
} // builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/themes/mocha.toml");
|
||||
};
|
||||
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;
|
||||
|
||||
{
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
sessionVariables = {
|
||||
SOUNDS_ENABLED = "1";
|
||||
EDITOR = "/nixbin/nvim";
|
||||
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";
|
||||
};
|
||||
|
||||
sessionVariables = {
|
||||
SOUNDS_ENABLED = "1";
|
||||
EDITOR = "/nixbin/nvim";
|
||||
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 = {
|
||||
enable = true;
|
||||
plugins = ["git" "fzf"];
|
||||
};
|
||||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "git" "fzf" ];
|
||||
};
|
||||
enableCompletion = true;
|
||||
history = {
|
||||
path = "$HOME/.zsh_history";
|
||||
save = 10000;
|
||||
size = 10000;
|
||||
share = true;
|
||||
};
|
||||
|
||||
enableCompletion = true;
|
||||
history = {
|
||||
path = "$HOME/.zsh_history";
|
||||
save = 10000;
|
||||
size = 10000;
|
||||
share = true;
|
||||
};
|
||||
autosuggestion = {
|
||||
enable = true;
|
||||
highlight = "fg=#4C566A,underline";
|
||||
};
|
||||
|
||||
autosuggestion = {
|
||||
enable = true;
|
||||
highlight = "fg=#4C566A,underline";
|
||||
};
|
||||
shellAliases = {
|
||||
grep = "grep --color=auto";
|
||||
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 = {
|
||||
grep = "grep --color=auto";
|
||||
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 = ''
|
||||
unalias ls
|
||||
ls() {
|
||||
eza -1 --group-directories-first --icons "$@"
|
||||
scheck && runbg aplay ${self}/media/sound/ls.wav
|
||||
}
|
||||
|
||||
unalias ls
|
||||
ls() {
|
||||
eza -1 --group-directories-first --icons "$@"
|
||||
scheck && runbg aplay ${self}/media/sound/ls.wav
|
||||
}
|
||||
y() {
|
||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||
yazi "$@" --cwd-file="$tmp"
|
||||
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||
builtin cd -- "$cwd"
|
||||
fi
|
||||
rm -f -- "$tmp"
|
||||
}
|
||||
|
||||
y() {
|
||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||
yazi "$@" --cwd-file="$tmp"
|
||||
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||
builtin cd -- "$cwd"
|
||||
fi
|
||||
rm -f -- "$tmp"
|
||||
}
|
||||
cd() {
|
||||
export SOUNDS_ENABLED=0
|
||||
eza -1 --group-directories-first --icons "$@"
|
||||
builtin cd "$@" || exit
|
||||
export SOUNDS_ENABLED=1
|
||||
scheck && runbg aplay ${self}/media/sound/cd.wav
|
||||
}
|
||||
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() {
|
||||
export SOUNDS_ENABLED=0
|
||||
eza -1 --group-directories-first --icons "$@"
|
||||
builtin cd "$@" || exit
|
||||
export SOUNDS_ENABLED=1
|
||||
scheck && runbg aplay ${self}/media/sound/cd.wav
|
||||
}
|
||||
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
|
||||
sessionVariables = {
|
||||
setopt CORRECT
|
||||
setopt NO_NOMATCH
|
||||
setopt LIST_PACKED
|
||||
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
|
||||
|
||||
sessionVariables = {
|
||||
setopt CORRECT
|
||||
setopt NO_NOMATCH
|
||||
setopt LIST_PACKED
|
||||
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 terminfo # terminfo keys
|
||||
zmodload -i zsh/complist # menu completion
|
||||
autoload -U promptinit # prompt
|
||||
|
||||
autoload -U compinit # completion
|
||||
autoload -U terminfo # terminfo keys
|
||||
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
|
||||
'';
|
||||
};
|
||||
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
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,92 +1,102 @@
|
||||
{ nur, username, self, ... }:
|
||||
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value= true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||
};
|
||||
profiles.${username} = {
|
||||
name = "${username}";
|
||||
bookmarks = [
|
||||
{ name = "NixOS Options";
|
||||
url = "https://search.nixos.org/options";
|
||||
}
|
||||
{ name = "Home Manager Options";
|
||||
url = "https://home-manager-options.extranix.com/";
|
||||
}
|
||||
{ name = "Nixvim Docs";
|
||||
url = "https://nix-community.github.io/nixvim/";
|
||||
}
|
||||
{ name = "Rust Manual";
|
||||
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
||||
}
|
||||
{ name = "ChatGPT";
|
||||
url = "https://chatgpt.com/";
|
||||
}
|
||||
{ name = "DataAnnotation";
|
||||
url = "https://app.dataannotation.tech/users/sign_in";
|
||||
}
|
||||
{ name = "Nerd Fonts Cheatsheet";
|
||||
url = "https://www.nerdfonts.com/cheat-sheet";
|
||||
}
|
||||
];
|
||||
extensions = with nur.repos.rycee.firefox-addons; [
|
||||
darkreader
|
||||
adnauseam
|
||||
cookie-autodelete
|
||||
disconnect
|
||||
firefox-color
|
||||
vimium
|
||||
firenvim
|
||||
privacy-badger
|
||||
new-tab-override
|
||||
tampermonkey
|
||||
];
|
||||
extraConfig = ''
|
||||
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
"browser.active_color" = "#EE0000";
|
||||
"browser.active_color.dark" = "#FF6666";
|
||||
"browser.anchor_color" = "#0000EE";
|
||||
"browser.anchor_color.dark" = "#8C8CFF";
|
||||
"browser.display.background_color" = "#FFFFFF";
|
||||
"browser.display.background_color.dark" = "#1C1B22";
|
||||
"browser.display.document_color_use" = "1";
|
||||
"browser.display.foreground_color" = "#000000";
|
||||
"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";
|
||||
'';
|
||||
};
|
||||
};
|
||||
nur,
|
||||
username,
|
||||
self,
|
||||
...
|
||||
}: {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||
};
|
||||
profiles.${username} = {
|
||||
name = "${username}";
|
||||
bookmarks = [
|
||||
{
|
||||
name = "NixOS Options";
|
||||
url = "https://search.nixos.org/options";
|
||||
}
|
||||
{
|
||||
name = "Home Manager Options";
|
||||
url = "https://home-manager-options.extranix.com/";
|
||||
}
|
||||
{
|
||||
name = "Nixvim Docs";
|
||||
url = "https://nix-community.github.io/nixvim/";
|
||||
}
|
||||
{
|
||||
name = "Rust Manual";
|
||||
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
||||
}
|
||||
{
|
||||
name = "ChatGPT";
|
||||
url = "https://chatgpt.com/";
|
||||
}
|
||||
{
|
||||
name = "DataAnnotation";
|
||||
url = "https://app.dataannotation.tech/users/sign_in";
|
||||
}
|
||||
{
|
||||
name = "Nerd Fonts Cheatsheet";
|
||||
url = "https://www.nerdfonts.com/cheat-sheet";
|
||||
}
|
||||
];
|
||||
extensions = with nur.repos.rycee.firefox-addons; [
|
||||
darkreader
|
||||
adnauseam
|
||||
cookie-autodelete
|
||||
disconnect
|
||||
firefox-color
|
||||
vimium
|
||||
firenvim
|
||||
privacy-badger
|
||||
new-tab-override
|
||||
tampermonkey
|
||||
];
|
||||
extraConfig = ''
|
||||
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
"browser.active_color" = "#EE0000";
|
||||
"browser.active_color.dark" = "#FF6666";
|
||||
"browser.anchor_color" = "#0000EE";
|
||||
"browser.anchor_color.dark" = "#8C8CFF";
|
||||
"browser.display.background_color" = "#FFFFFF";
|
||||
"browser.display.background_color.dark" = "#1C1B22";
|
||||
"browser.display.document_color_use" = "1";
|
||||
"browser.display.foreground_color" = "#000000";
|
||||
"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,11 +1,15 @@
|
||||
{ inputs, host, ... }:
|
||||
|
||||
let
|
||||
host_config = if (host == "desktop") then [ ./desktop.nix ] else [ ./laptop.nix ];
|
||||
in
|
||||
{
|
||||
imports =
|
||||
[ (import ./hyprland.nix) ]
|
||||
++ [ (import ./hyprpaper.nix) ]
|
||||
++ host_config;
|
||||
inputs,
|
||||
host,
|
||||
...
|
||||
}: 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"
|
||||
];
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
exec-once = [
|
||||
"waybar &"
|
||||
"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 = [
|
||||
"DP-1, 1920x1080@144, 1920x0, 1"
|
||||
"HDMI-A-1, 1920x1080, 0x0, 1"
|
||||
];
|
||||
workspace = [
|
||||
"1,persistent=true,monitor:HDMI-A-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 = [
|
||||
"waybar &"
|
||||
"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 &"
|
||||
];
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
force_no_accel = 1;
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
workspace = [
|
||||
"1,persistent=true,monitor:HDMI-A-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"
|
||||
];
|
||||
general = {
|
||||
"$mainMod" = "super";
|
||||
layout = "dwindle";
|
||||
gaps_in = 4;
|
||||
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;
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
force_no_accel = 1;
|
||||
sensitivity = 0;
|
||||
};
|
||||
dwindle = {
|
||||
no_gaps_when_only = false;
|
||||
force_split = 0;
|
||||
special_scale_factor = 1.0;
|
||||
split_width_multiplier = 1.0;
|
||||
use_active_for_splits = true;
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
};
|
||||
|
||||
general = {
|
||||
"$mainMod" = "super";
|
||||
layout = "dwindle";
|
||||
gaps_in = 4;
|
||||
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;
|
||||
};
|
||||
master = {
|
||||
new_status = "master";
|
||||
special_scale_factor = 1;
|
||||
no_gaps_when_only = false;
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
no_gaps_when_only = false;
|
||||
force_split = 0;
|
||||
special_scale_factor = 1.0;
|
||||
split_width_multiplier = 1.0;
|
||||
use_active_for_splits = true;
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 7;
|
||||
# active_opacity = 0.90;
|
||||
# inactive_opacity = 0.90;
|
||||
# fullscreen_opacity = 1.0;
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
special_scale_factor = 1;
|
||||
no_gaps_when_only = false;
|
||||
};
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 1;
|
||||
passes = 1;
|
||||
# size = 4;
|
||||
# passes = 2;
|
||||
brightness = 1;
|
||||
contrast = 1.400;
|
||||
ignore_opacity = true;
|
||||
noise = 0;
|
||||
new_optimizations = true;
|
||||
xray = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 7;
|
||||
# active_opacity = 0.90;
|
||||
# inactive_opacity = 0.90;
|
||||
# fullscreen_opacity = 1.0;
|
||||
drop_shadow = true;
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 1;
|
||||
passes = 1;
|
||||
# size = 4;
|
||||
# passes = 2;
|
||||
brightness = 1;
|
||||
contrast = 1.400;
|
||||
ignore_opacity = true;
|
||||
noise = 0;
|
||||
new_optimizations = true;
|
||||
xray = true;
|
||||
};
|
||||
shadow_ignore_window = true;
|
||||
shadow_offset = "0 2";
|
||||
shadow_range = 20;
|
||||
shadow_render_power = 3;
|
||||
"col.shadow" = "rgba(00000055)";
|
||||
};
|
||||
|
||||
drop_shadow = true;
|
||||
animations = {
|
||||
enabled = true;
|
||||
|
||||
shadow_ignore_window = true;
|
||||
shadow_offset = "0 2";
|
||||
shadow_range = 20;
|
||||
shadow_render_power = 3;
|
||||
"col.shadow" = "rgba(00000055)";
|
||||
};
|
||||
bezier = [
|
||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||
];
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
animation = [
|
||||
# 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 = [
|
||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||
];
|
||||
# Fade
|
||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||
"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 = [
|
||||
# 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.
|
||||
|
||||
# Fade
|
||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||
"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
|
||||
];
|
||||
|
||||
bind = [
|
||||
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
||||
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
||||
"super, print, exec, grimblast copy area"
|
||||
"super, t, exec, swaync-client -t -sw"
|
||||
"super, a, exec, firefox"
|
||||
"super, q, exec, kitty --title Kitty"
|
||||
"super, d, exec, switchmon"
|
||||
"super, c, killactive,"
|
||||
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
||||
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
||||
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
||||
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
||||
"super shift, q, exit,"
|
||||
"super, m, exec, fuzzel"
|
||||
"super, r, exec, neovide"
|
||||
"super, b, togglesplit, # dwindle"
|
||||
"super, f, togglefloating"
|
||||
"super, g, fullscreen"
|
||||
"super, home, exec, /home/${username}/scripts/home.sh"
|
||||
"super, h, movefocus, l"
|
||||
"super, l, movefocus, r"
|
||||
"super, k, movefocus, u"
|
||||
"super, j, movefocus, d"
|
||||
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
||||
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
||||
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
||||
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
||||
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
||||
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
||||
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
||||
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
||||
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
||||
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
||||
"super alt, g, togglegroup"
|
||||
"super alt, h, changegroupactive, b"
|
||||
"super alt, l, changegroupactive, f"
|
||||
"super shift, h, movewindoworgroup, l"
|
||||
"super shift, l, movewindoworgroup, r"
|
||||
"super shift, k, movewindoworgroup, u"
|
||||
"super shift, j, movewindoworgroup, d"
|
||||
"super shift, 1, movetoworkspace, 1"
|
||||
"super shift, 2, movetoworkspace, 2"
|
||||
"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"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
bind = [
|
||||
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
||||
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
||||
"super, print, exec, grimblast copy area"
|
||||
"super, t, exec, swaync-client -t -sw"
|
||||
"super, a, exec, firefox"
|
||||
"super, q, exec, kitty --title Kitty"
|
||||
"super, d, exec, switchmon"
|
||||
"super, c, killactive,"
|
||||
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
||||
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
||||
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
||||
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
||||
"super shift, q, exit,"
|
||||
"super, m, exec, fuzzel"
|
||||
"super, r, exec, neovide"
|
||||
"super, b, togglesplit, # dwindle"
|
||||
"super, f, togglefloating"
|
||||
"super, g, fullscreen"
|
||||
"super, home, exec, /home/${username}/scripts/home.sh"
|
||||
"super, h, movefocus, l"
|
||||
"super, l, movefocus, r"
|
||||
"super, k, movefocus, u"
|
||||
"super, j, movefocus, d"
|
||||
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
||||
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
||||
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
||||
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
||||
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
||||
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
||||
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
||||
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
||||
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
||||
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
||||
"super alt, g, togglegroup"
|
||||
"super alt, h, changegroupactive, b"
|
||||
"super alt, l, changegroupactive, f"
|
||||
"super shift, h, movewindoworgroup, l"
|
||||
"super shift, l, movewindoworgroup, r"
|
||||
"super shift, k, movewindoworgroup, u"
|
||||
"super shift, j, movewindoworgroup, d"
|
||||
"super shift, 1, movetoworkspace, 1"
|
||||
"super shift, 2, movetoworkspace, 2"
|
||||
"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; [
|
||||
swaybg
|
||||
inputs.hypr-contrib.packages.${pkgs.system}.grimblast
|
||||
hyprpicker
|
||||
grim
|
||||
slurp
|
||||
wl-clip-persist
|
||||
wf-recorder
|
||||
glib
|
||||
wayland
|
||||
direnv
|
||||
];
|
||||
systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland = {
|
||||
enable = true;
|
||||
};
|
||||
systemd.enable = true;
|
||||
};
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
swaybg
|
||||
inputs.hypr-contrib.packages.${pkgs.system}.grimblast
|
||||
hyprpicker
|
||||
grim
|
||||
slurp
|
||||
wl-clip-persist
|
||||
wf-recorder
|
||||
glib
|
||||
wayland
|
||||
direnv
|
||||
];
|
||||
systemd.user.targets.hyprland-session.Unit.Wants = ["xdg-desktop-autostart.target"];
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland = {
|
||||
enable = true;
|
||||
};
|
||||
systemd.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,20 +1,25 @@
|
||||
{ host, username, ... }:
|
||||
|
||||
{
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipc = "on";
|
||||
splash = false;
|
||||
splash_offset = 2.0;
|
||||
preload = [ "/home/${username}/Pictures/Wallpapers/cat-leaves.png" ];
|
||||
host,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipc = "on";
|
||||
splash = false;
|
||||
splash_offset = 2.0;
|
||||
preload = ["/home/${username}/Pictures/Wallpapers/cat-leaves.png"];
|
||||
|
||||
wallpaper = if (host == "desktop") then [
|
||||
"DP-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"
|
||||
];
|
||||
};
|
||||
};
|
||||
wallpaper =
|
||||
if (host == "desktop")
|
||||
then [
|
||||
"DP-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"
|
||||
];
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
exec-once = [
|
||||
"waybar &"
|
||||
"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 = [
|
||||
"eDP-1, 1920x1080@144, 1920x0, 1"
|
||||
];
|
||||
workspace = [
|
||||
"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 = [
|
||||
"waybar &"
|
||||
"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 &"
|
||||
];
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
force_no_accel = 1;
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
workspace = [
|
||||
"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"
|
||||
];
|
||||
general = {
|
||||
"$mainMod" = "super";
|
||||
layout = "dwindle";
|
||||
gaps_in = 4;
|
||||
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;
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
force_no_accel = 1;
|
||||
sensitivity = 0;
|
||||
};
|
||||
dwindle = {
|
||||
no_gaps_when_only = false;
|
||||
force_split = 0;
|
||||
special_scale_factor = 1.0;
|
||||
split_width_multiplier = 1.0;
|
||||
use_active_for_splits = true;
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
};
|
||||
|
||||
general = {
|
||||
"$mainMod" = "super";
|
||||
layout = "dwindle";
|
||||
gaps_in = 4;
|
||||
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;
|
||||
};
|
||||
master = {
|
||||
new_status = "master";
|
||||
special_scale_factor = 1;
|
||||
no_gaps_when_only = false;
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
no_gaps_when_only = false;
|
||||
force_split = 0;
|
||||
special_scale_factor = 1.0;
|
||||
split_width_multiplier = 1.0;
|
||||
use_active_for_splits = true;
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 7;
|
||||
# active_opacity = 0.90;
|
||||
# inactive_opacity = 0.90;
|
||||
# fullscreen_opacity = 1.0;
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
special_scale_factor = 1;
|
||||
no_gaps_when_only = false;
|
||||
};
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 1;
|
||||
passes = 1;
|
||||
# size = 4;
|
||||
# passes = 2;
|
||||
brightness = 1;
|
||||
contrast = 1.400;
|
||||
ignore_opacity = true;
|
||||
noise = 0;
|
||||
new_optimizations = true;
|
||||
xray = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 7;
|
||||
# active_opacity = 0.90;
|
||||
# inactive_opacity = 0.90;
|
||||
# fullscreen_opacity = 1.0;
|
||||
drop_shadow = true;
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 1;
|
||||
passes = 1;
|
||||
# size = 4;
|
||||
# passes = 2;
|
||||
brightness = 1;
|
||||
contrast = 1.400;
|
||||
ignore_opacity = true;
|
||||
noise = 0;
|
||||
new_optimizations = true;
|
||||
xray = true;
|
||||
};
|
||||
shadow_ignore_window = true;
|
||||
shadow_offset = "0 2";
|
||||
shadow_range = 20;
|
||||
shadow_render_power = 3;
|
||||
"col.shadow" = "rgba(00000055)";
|
||||
};
|
||||
|
||||
drop_shadow = true;
|
||||
animations = {
|
||||
enabled = true;
|
||||
|
||||
shadow_ignore_window = true;
|
||||
shadow_offset = "0 2";
|
||||
shadow_range = 20;
|
||||
shadow_render_power = 3;
|
||||
"col.shadow" = "rgba(00000055)";
|
||||
};
|
||||
bezier = [
|
||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||
];
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
animation = [
|
||||
# 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 = [
|
||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||
];
|
||||
# Fade
|
||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||
"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 = [
|
||||
# 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.
|
||||
|
||||
# Fade
|
||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||
"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
|
||||
];
|
||||
|
||||
bind = [
|
||||
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
||||
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
||||
"super, print, exec, grimblast copy area"
|
||||
"super, t, exec, swaync-client -t -sw"
|
||||
"super, a, exec, firefox"
|
||||
"super, q, exec, kitty --title Kitty"
|
||||
"super, d, exec, switchmon"
|
||||
"super, c, killactive,"
|
||||
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
||||
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
||||
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
||||
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
||||
"super shift, q, exit,"
|
||||
"super, m, exec, fuzzel"
|
||||
"super, r, exec, neovide"
|
||||
"super, b, togglesplit, # dwindle"
|
||||
"super, f, togglefloating"
|
||||
"super, g, fullscreen"
|
||||
"super, home, exec, /home/${username}/scripts/home.sh"
|
||||
"super, h, movefocus, l"
|
||||
"super, l, movefocus, r"
|
||||
"super, k, movefocus, u"
|
||||
"super, j, movefocus, d"
|
||||
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
||||
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
||||
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
||||
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
||||
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
||||
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
||||
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
||||
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
||||
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
||||
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
||||
"super alt, g, togglegroup"
|
||||
"super alt, h, changegroupactive, b"
|
||||
"super alt, l, changegroupactive, f"
|
||||
"super shift, h, movewindoworgroup, l"
|
||||
"super shift, l, movewindoworgroup, r"
|
||||
"super shift, k, movewindoworgroup, u"
|
||||
"super shift, j, movewindoworgroup, d"
|
||||
"super shift, 1, movetoworkspace, 1"
|
||||
"super shift, 2, movetoworkspace, 2"
|
||||
"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"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
bind = [
|
||||
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
||||
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
||||
"super, print, exec, grimblast copy area"
|
||||
"super, t, exec, swaync-client -t -sw"
|
||||
"super, a, exec, firefox"
|
||||
"super, q, exec, kitty --title Kitty"
|
||||
"super, d, exec, switchmon"
|
||||
"super, c, killactive,"
|
||||
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
||||
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
||||
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
||||
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
||||
"super shift, q, exit,"
|
||||
"super, m, exec, fuzzel"
|
||||
"super, r, exec, neovide"
|
||||
"super, b, togglesplit, # dwindle"
|
||||
"super, f, togglefloating"
|
||||
"super, g, fullscreen"
|
||||
"super, home, exec, /home/${username}/scripts/home.sh"
|
||||
"super, h, movefocus, l"
|
||||
"super, l, movefocus, r"
|
||||
"super, k, movefocus, u"
|
||||
"super, j, movefocus, d"
|
||||
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
||||
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
||||
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
||||
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
||||
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
||||
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
||||
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
||||
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
||||
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
||||
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
||||
"super alt, g, togglegroup"
|
||||
"super alt, h, changegroupactive, b"
|
||||
"super alt, l, changegroupactive, f"
|
||||
"super shift, h, movewindoworgroup, l"
|
||||
"super shift, l, movewindoworgroup, r"
|
||||
"super shift, k, movewindoworgroup, u"
|
||||
"super shift, j, movewindoworgroup, d"
|
||||
"super shift, 1, movetoworkspace, 1"
|
||||
"super shift, 2, movetoworkspace, 2"
|
||||
"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;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
{...}: {
|
||||
programs.autojump = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{ inputs, ... }:
|
||||
|
||||
{
|
||||
{inputs, ...}: {
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
config = {
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
|
||||
@@ -8,14 +6,14 @@
|
||||
color_theme = "tokyo-night";
|
||||
theme_background = false;
|
||||
update_ms = 500;
|
||||
vim_keys = true;
|
||||
proc_tree = true;
|
||||
temp_scale = "fahrenheit";
|
||||
disks_filter = "exclude=/boot";
|
||||
show_swap = false;
|
||||
swap_disk = false;
|
||||
vim_keys = true;
|
||||
proc_tree = true;
|
||||
temp_scale = "fahrenheit";
|
||||
disks_filter = "exclude=/boot";
|
||||
show_swap = 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 = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# https://github.com/catppuccin/cava
|
||||
home.file.".config/cava/config".text = ''
|
||||
# custom cava config
|
||||
'' + builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava";
|
||||
home.file.".config/cava/config".text =
|
||||
''
|
||||
# custom cava config
|
||||
''
|
||||
+ builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava";
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
enableZshIntegration = false;
|
||||
extraOptions = [ "-1" "-h" "--group-directories-first" ];
|
||||
icons = "auto";
|
||||
git = true;
|
||||
};
|
||||
{...}: {
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
enableZshIntegration = false;
|
||||
extraOptions = ["-1" "-h" "--group-directories-first"];
|
||||
icons = "auto";
|
||||
git = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,109 +1,122 @@
|
||||
{ nur, username }:
|
||||
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value= true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||
};
|
||||
profiles.${username} = {
|
||||
name = "${username}";
|
||||
bookmarks = [
|
||||
{ name = "Nix sites";
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
{ name = "NixOS Options";
|
||||
url = "https://search.nixos.org/options";
|
||||
}
|
||||
{ name = "Home Manager Options";
|
||||
url = "https://home-manager-options.extranix.com/";
|
||||
}
|
||||
{ name = "Nixvim Docs";
|
||||
url = "https://nix-community.github.io/nixvim/";
|
||||
}
|
||||
{ name = "Noogle";
|
||||
url = "https://noogle.dev/";
|
||||
}
|
||||
{ name = "NixOS Wiki";
|
||||
url = "https://nixos.wiki/";
|
||||
}
|
||||
{ name = "NixOS Manual";
|
||||
url = "https://nixos.org/manual/nixos/stable";
|
||||
}
|
||||
{ name = "Nixpkgs Reference";
|
||||
url = "https://nixos.org/manual/nixpkgs/stable";
|
||||
}
|
||||
];
|
||||
}
|
||||
{ name = "Rust Manual";
|
||||
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
||||
}
|
||||
{ name = "ChatGPT";
|
||||
url = "https://chatgpt.com/";
|
||||
}
|
||||
{ name = "DataAnnotation";
|
||||
url = "https://app.dataannotation.tech/users/sign_in";
|
||||
}
|
||||
{ name = "Nerd Fonts Cheatsheet";
|
||||
url = "https://www.nerdfonts.com/cheat-sheet";
|
||||
}
|
||||
];
|
||||
extensions = with nur.repos.rycee.firefox-addons; [
|
||||
darkreader
|
||||
adnauseam
|
||||
cookie-autodelete
|
||||
disconnect
|
||||
firefox-color
|
||||
vimium
|
||||
firenvim
|
||||
privacy-badger
|
||||
new-tab-override
|
||||
tampermonkey
|
||||
];
|
||||
extraConfig = ''
|
||||
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
"browser.active_color" = "#EE0000";
|
||||
"browser.active_color.dark" = "#FF6666";
|
||||
"browser.anchor_color" = "#0000EE";
|
||||
"browser.anchor_color.dark" = "#8C8CFF";
|
||||
"browser.display.background_color" = "#FFFFFF";
|
||||
"browser.display.background_color.dark" = "#1C1B22";
|
||||
"browser.display.document_color_use" = "1";
|
||||
"browser.display.foreground_color" = "#000000";
|
||||
"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";
|
||||
'';
|
||||
};
|
||||
};
|
||||
nur,
|
||||
username,
|
||||
}: {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||
};
|
||||
profiles.${username} = {
|
||||
name = "${username}";
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Nix sites";
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
{
|
||||
name = "NixOS Options";
|
||||
url = "https://search.nixos.org/options";
|
||||
}
|
||||
{
|
||||
name = "Home Manager Options";
|
||||
url = "https://home-manager-options.extranix.com/";
|
||||
}
|
||||
{
|
||||
name = "Nixvim Docs";
|
||||
url = "https://nix-community.github.io/nixvim/";
|
||||
}
|
||||
{
|
||||
name = "Noogle";
|
||||
url = "https://noogle.dev/";
|
||||
}
|
||||
{
|
||||
name = "NixOS Wiki";
|
||||
url = "https://nixos.wiki/";
|
||||
}
|
||||
{
|
||||
name = "NixOS Manual";
|
||||
url = "https://nixos.org/manual/nixos/stable";
|
||||
}
|
||||
{
|
||||
name = "Nixpkgs Reference";
|
||||
url = "https://nixos.org/manual/nixpkgs/stable";
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
name = "Rust Manual";
|
||||
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
||||
}
|
||||
{
|
||||
name = "ChatGPT";
|
||||
url = "https://chatgpt.com/";
|
||||
}
|
||||
{
|
||||
name = "DataAnnotation";
|
||||
url = "https://app.dataannotation.tech/users/sign_in";
|
||||
}
|
||||
{
|
||||
name = "Nerd Fonts Cheatsheet";
|
||||
url = "https://www.nerdfonts.com/cheat-sheet";
|
||||
}
|
||||
];
|
||||
extensions = with nur.repos.rycee.firefox-addons; [
|
||||
darkreader
|
||||
adnauseam
|
||||
cookie-autodelete
|
||||
disconnect
|
||||
firefox-color
|
||||
vimium
|
||||
firenvim
|
||||
privacy-badger
|
||||
new-tab-override
|
||||
tampermonkey
|
||||
];
|
||||
extraConfig = ''
|
||||
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
"browser.active_color" = "#EE0000";
|
||||
"browser.active_color.dark" = "#FF6666";
|
||||
"browser.anchor_color" = "#0000EE";
|
||||
"browser.anchor_color.dark" = "#8C8CFF";
|
||||
"browser.display.background_color" = "#FFFFFF";
|
||||
"browser.display.background_color.dark" = "#1C1B22";
|
||||
"browser.display.document_color_use" = "1";
|
||||
"browser.display.foreground_color" = "#000000";
|
||||
"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 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@@ -9,7 +7,7 @@
|
||||
line-height = 25;
|
||||
fields = "name,generic,comment,categories,filename,keywords";
|
||||
terminal = "kitty";
|
||||
prompt = "' ➜ '" ;
|
||||
prompt = "' ➜ '";
|
||||
icon-theme = "Papirus-Dark";
|
||||
layer = "top";
|
||||
lines = 10;
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
{...}: {
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userEmail = "pagedmov@gmail.com";
|
||||
userName = "pagedmov";
|
||||
};
|
||||
{...}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userEmail = "pagedmov@gmail.com";
|
||||
userName = "pagedmov";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
@@ -17,7 +15,7 @@
|
||||
window_padding_width = 10;
|
||||
scrollback_lines = 10000;
|
||||
enable_audio_bell = false;
|
||||
allow_remote_control = true;
|
||||
allow_remote_control = true;
|
||||
mouse_hide_wait = 60;
|
||||
|
||||
## Tabs
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
{ username, ... }:
|
||||
|
||||
let
|
||||
home = "/home/${username}";
|
||||
in
|
||||
{
|
||||
programs.password-store = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PASSWORD_STORE_DIR = "${home}/.password-store";
|
||||
};
|
||||
};
|
||||
{username, ...}: let
|
||||
home = "/home/${username}";
|
||||
in {
|
||||
programs.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
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "compress" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if (( $# == 1 )) then
|
||||
# echo -ne "Archive name: "
|
||||
# read name
|
||||
# tar -cvzf "$name.tar.gz" $1
|
||||
tar -cvzf "$1.tar.gz" $1
|
||||
else
|
||||
echo "Wrong number of arguments..."
|
||||
fi
|
||||
'')
|
||||
if (( $# == 1 )) then
|
||||
# echo -ne "Archive name: "
|
||||
# read name
|
||||
# tar -cvzf "$name.tar.gz" $1
|
||||
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
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "crs" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
cargo test && \
|
||||
cargo run
|
||||
'')
|
||||
cargo test && \
|
||||
cargo run
|
||||
''
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "extract" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "extract" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
for i in "$@" ; do
|
||||
tar -xvzf $i
|
||||
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
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "invoke" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
nix run nixpkgs#$"@"
|
||||
'')
|
||||
nix run nixpkgs#$"@"
|
||||
''
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "keybinds" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "keybinds" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
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"
|
||||
'')
|
||||
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" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
|
||||
mkdir -p "$1"
|
||||
cd "$1" || exit
|
||||
'')
|
||||
mkdir -p "$1"
|
||||
cd "$1" || exit
|
||||
''
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "runbg" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "runbg" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[ $# -eq 0 ] && { # $# is number of args
|
||||
echo "$(basename $0): missing command" >&2
|
||||
exit 1
|
||||
}
|
||||
prog="$(which "$1")" # see below
|
||||
[ -z "$prog" ] && {
|
||||
echo "$(basename $0): unknown command: $1" >&2
|
||||
exit 1
|
||||
}
|
||||
shift # remove $1, now $prog, from 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
|
||||
'')
|
||||
[ $# -eq 0 ] && { # $# is number of args
|
||||
echo "$(basename $0): missing command" >&2
|
||||
exit 1
|
||||
}
|
||||
prog="$(which "$1")" # see below
|
||||
[ -z "$prog" ] && {
|
||||
echo "$(basename $0): unknown command: $1" >&2
|
||||
exit 1
|
||||
}
|
||||
shift # remove $1, now $prog, from 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
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "scheck" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
[ "$SOUNDS_ENABLED" -eq 1 ]
|
||||
'')
|
||||
[ "$SOUNDS_ENABLED" -eq 1 ]
|
||||
''
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ self, pkgs }:
|
||||
|
||||
|
||||
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
|
||||
'')
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
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
|
||||
''
|
||||
|
||||
@@ -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 = [
|
||||
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
|
||||
];
|
||||
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 = [
|
||||
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" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
echo "This will delete all unused paths in the nix store and delete any files in the gtrash folder."
|
||||
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."
|
||||
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)
|
||||
|
||||
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"
|
||||
'')
|
||||
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" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
# Select packages using fzf with multi-select enabled
|
||||
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
||||
|
||||
# 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
|
||||
# Check if any packages were selected
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
# 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
|
||||
|
||||
# Select packages using fzf with multi-select enabled
|
||||
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
||||
echo "Packages added successfully. Rebuild system config?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
"Yes" ) nixswitch;break;;
|
||||
"No" ) exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Check if any packages were selected
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
# 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
|
||||
'')
|
||||
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" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
if [ -n "$selected_packages" ]; then
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
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" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
if [ -n "$2" ]; then
|
||||
echo "too many arguments"
|
||||
exit
|
||||
fi
|
||||
|
||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||
builtin cd "$HOME/sysflakes" || exit
|
||||
nix flake update
|
||||
diffcheck=$(git status | grep "working tree clean")
|
||||
if [ -n "$diffcheck" ]; then
|
||||
scheck && runbg aplay ${self}/media/sound/warning.wav
|
||||
echo "Nothing to commit"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -n "$2" ]; then
|
||||
echo "too many arguments"
|
||||
exit
|
||||
fi
|
||||
alejandra . &> /dev/null
|
||||
git add .
|
||||
|
||||
diffcheck=$(git status | grep "working tree clean")
|
||||
if [ -n "$diffcheck" ]; then
|
||||
scheck && runbg aplay ${self}/media/sound/warning.wav
|
||||
echo "Nothing to commit"
|
||||
exit
|
||||
fi
|
||||
# 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
|
||||
|
||||
git add .
|
||||
|
||||
# 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
|
||||
'')
|
||||
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" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
# Select packages using fzf with multi-select enabled
|
||||
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
||||
|
||||
# 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
|
||||
# Check if any packages were selected
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
# 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
|
||||
|
||||
# Select packages using fzf with multi-select enabled
|
||||
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
||||
echo "Packages added successfully. Rebuild system config?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
"Yes" ) nixswitch;break;;
|
||||
"No" ) exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Check if any packages were selected
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
# 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
|
||||
'')
|
||||
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" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
commits=$(git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline)
|
||||
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
|
||||
set -e
|
||||
pushd "$HOME/sysflakes"
|
||||
echo "Pushing the following commits upstream on branch '$(git branch | rg "\*" | awk '{print $2}')'"
|
||||
echo "$commits"
|
||||
|
||||
commits=$(git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline)
|
||||
if [ -z "$commits" ]; then
|
||||
scheck && runbg aplay ${self}/media/sound/warning.wav
|
||||
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
|
||||
'')
|
||||
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" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
if [ -n "$selected_packages" ]; then
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
else
|
||||
echo "No packages removed."
|
||||
fi
|
||||
|
||||
|
||||
|
||||
'')
|
||||
''
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "nsp" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "nsp" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
nix-shell -p "$@" --run zsh
|
||||
'')
|
||||
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" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||
set -e
|
||||
pushd "$HOME/sysflakes"
|
||||
|
||||
nix flake update
|
||||
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
|
||||
'')
|
||||
nix flake update
|
||||
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.writeShellScriptBin "hyprland" (''
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
|
||||
exec Hyprland
|
||||
'')
|
||||
{pkgs, ...}:
|
||||
pkgs.writeShellScriptBin "hyprland" ''
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
|
||||
exec Hyprland
|
||||
''
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "lofi" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "lofi" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if (ps aux | grep mpv | grep -v grep > /dev/null) then
|
||||
pkill mpv
|
||||
else
|
||||
runbg mpv --no-video https://www.youtube.com/live/jfKfPfyJRdk?si=OF0HKrYFFj33BzMo
|
||||
fi
|
||||
'')
|
||||
if (ps aux | grep mpv | grep -v grep > /dev/null) then
|
||||
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
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "music" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if (ps aux | grep audacious | grep -v grep > /dev/null) then
|
||||
pkill audacious
|
||||
else
|
||||
hyprctl dispatch exec "[workspace 5 silent] audacious -t ~/Music/playlist"
|
||||
sleep 0.5
|
||||
audtool playlist-repeat-status |grep "on" || audtool playlist-repeat-toggle
|
||||
audtool playlist-shuffle-status|grep "on" || audtool playlist-shuffle-toggle
|
||||
fi
|
||||
'')
|
||||
if (ps aux | grep audacious | grep -v grep > /dev/null) then
|
||||
pkill audacious
|
||||
else
|
||||
hyprctl dispatch exec "[workspace 5 silent] audacious -t ~/Music/playlist"
|
||||
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" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
# prevent multiple instances, conditional check happens in the hyprland bind
|
||||
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
|
||||
touch /tmp/passhelperfile
|
||||
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
|
||||
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)
|
||||
|
||||
# get passwords from password store, remove .password store/ prefix and .gpg suffix, exlude .gpg-id file, open results in fzf
|
||||
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; }
|
||||
|
||||
[ $? = 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
|
||||
/run/current-system/sw/bin/rm /tmp/passhelperfile
|
||||
sleep 0.5
|
||||
exit 0
|
||||
'')
|
||||
# pass it through fmt for soft word wrapping
|
||||
pass -c "$pass_string" | fmt -w 45
|
||||
/run/current-system/sw/bin/rm /tmp/passhelperfile
|
||||
sleep 0.5
|
||||
exit 0
|
||||
''
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "power-menu" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
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;}'
|
||||
'')
|
||||
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" (''
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
respond="$(echo " Shutdown\n Restart\n Cancel" | rofi -dmenu)"
|
||||
|
||||
if [ $respond = ' Shutdown' ]
|
||||
then
|
||||
echo "shutdown"
|
||||
shutdown now
|
||||
elif [ $respond = ' Restart' ]
|
||||
then
|
||||
echo "restart"
|
||||
reboot
|
||||
else
|
||||
notify-send "cancel shutdown"
|
||||
fi
|
||||
'')
|
||||
if [ $respond = ' Shutdown' ]
|
||||
then
|
||||
echo "shutdown"
|
||||
shutdown now
|
||||
elif [ $respond = ' Restart' ]
|
||||
then
|
||||
echo "restart"
|
||||
reboot
|
||||
else
|
||||
notify-send "cancel shutdown"
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "switchmon" ''
|
||||
#!/bin/zsh
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "switchmon" (''
|
||||
#!/bin/zsh
|
||||
|
||||
hyprctl dispatch focusmonitor $(echo "$(hyprctl -j monitors)" | jq -r '.[] | select(.focused == false) | .name')
|
||||
'')
|
||||
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
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "toggle_blur" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if hyprctl getoption decoration:blur:enabled | grep "int: 1" >/dev/null ; then
|
||||
hyprctl keyword decoration:blur:enabled false >/dev/null
|
||||
else
|
||||
hyprctl keyword decoration:blur:enabled true >/dev/null
|
||||
fi
|
||||
'')
|
||||
if hyprctl getoption decoration:blur:enabled | grep "int: 1" >/dev/null ; then
|
||||
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
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "toggle_float" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
hyprctl dispatch togglefloating
|
||||
hyprctl dispatch resizeactive exact 950 600
|
||||
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
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "toggle_oppacity" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if hyprctl getoption decoration:active_opacity | grep "float: 1" >/dev/null ; then
|
||||
hyprctl keyword decoration:active_opacity 0.90 >/dev/null
|
||||
hyprctl keyword decoration:inactive_opacity 0.90 >/dev/null
|
||||
else
|
||||
hyprctl keyword decoration:active_opacity 1 >/dev/null
|
||||
hyprctl keyword decoration:inactive_opacity 1 >/dev/null
|
||||
fi
|
||||
'')
|
||||
if hyprctl getoption decoration:active_opacity | grep "float: 1" >/dev/null ; then
|
||||
hyprctl keyword decoration:active_opacity 0.90 >/dev/null
|
||||
hyprctl keyword decoration:inactive_opacity 0.90 >/dev/null
|
||||
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" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SERVICE=".waybar-wrapped"
|
||||
|
||||
if pgrep -x "$SERVICE" >/dev/null
|
||||
then
|
||||
pkill -9 waybar
|
||||
else
|
||||
runbg waybar
|
||||
fi
|
||||
'')
|
||||
if pgrep -x "$SERVICE" >/dev/null
|
||||
then
|
||||
pkill -9 waybar
|
||||
else
|
||||
runbg waybar
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = (with pkgs; [ swaynotificationcenter ]);
|
||||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [swaynotificationcenter];
|
||||
xdg.configFile."swaync/style.css".source = ./style.css;
|
||||
xdg.configFile."swaync/config.json".source = ./config.json;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [ (import ./waybar.nix) ]
|
||||
++ [ (import ./settings.nix) ]
|
||||
++ [ (import ./style.nix) ];
|
||||
{...}: {
|
||||
imports =
|
||||
[(import ./waybar.nix)]
|
||||
++ [(import ./settings.nix)]
|
||||
++ [(import ./style.nix)];
|
||||
}
|
||||
|
||||
@@ -1,149 +1,147 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
{...}: {
|
||||
programs.waybar.settings.mainBar = {
|
||||
position= "top";
|
||||
layer= "top";
|
||||
height= 5;
|
||||
margin-top= 0;
|
||||
margin-bottom= 0;
|
||||
margin-left= 0;
|
||||
margin-right= 0;
|
||||
modules-left= [
|
||||
"custom/launcher"
|
||||
"custom/separator"
|
||||
"hyprland/workspaces"
|
||||
position = "top";
|
||||
layer = "top";
|
||||
height = 5;
|
||||
margin-top = 0;
|
||||
margin-bottom = 0;
|
||||
margin-left = 0;
|
||||
margin-right = 0;
|
||||
modules-left = [
|
||||
"custom/launcher"
|
||||
"custom/separator"
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
modules-center= [
|
||||
"clock"
|
||||
modules-center = [
|
||||
"clock"
|
||||
];
|
||||
modules-right= [
|
||||
"tray"
|
||||
"custom/separator"
|
||||
"cpu"
|
||||
"memory"
|
||||
"disk"
|
||||
"custom/separator"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"network"
|
||||
"custom/separator"
|
||||
"custom/notification"
|
||||
modules-right = [
|
||||
"tray"
|
||||
"custom/separator"
|
||||
"cpu"
|
||||
"memory"
|
||||
"disk"
|
||||
"custom/separator"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"network"
|
||||
"custom/separator"
|
||||
"custom/notification"
|
||||
];
|
||||
clock= {
|
||||
calendar = {
|
||||
format = { today = "<span color='#b4befe'><b><u>{}</u></b></span>"; };
|
||||
};
|
||||
format = " {:%H:%M}";
|
||||
tooltip= "true";
|
||||
tooltip-format= "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
format-alt= " {:%d/%m}";
|
||||
clock = {
|
||||
calendar = {
|
||||
format = {today = "<span color='#b4befe'><b><u>{}</u></b></span>";};
|
||||
};
|
||||
format = " {:%H:%M}";
|
||||
tooltip = "true";
|
||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
format-alt = " {:%d/%m}";
|
||||
};
|
||||
"hyprland/workspaces"= {
|
||||
active-only= false;
|
||||
disable-scroll= true;
|
||||
format = "{icon}";
|
||||
on-click= "activate";
|
||||
format-icons= {
|
||||
"1"= "一";
|
||||
"2"= "二";
|
||||
"3"= "三";
|
||||
"4"= "四";
|
||||
"5"= "五";
|
||||
"6"= "六";
|
||||
urgent= "";
|
||||
default = "";
|
||||
sort-by-number= true;
|
||||
};
|
||||
persistent-workspaces = {
|
||||
"1"= [];
|
||||
"2"= [];
|
||||
"3"= [];
|
||||
"4"= [];
|
||||
"5"= [];
|
||||
"6"= [];
|
||||
};
|
||||
"hyprland/workspaces" = {
|
||||
active-only = false;
|
||||
disable-scroll = true;
|
||||
format = "{icon}";
|
||||
on-click = "activate";
|
||||
format-icons = {
|
||||
"1" = "一";
|
||||
"2" = "二";
|
||||
"3" = "三";
|
||||
"4" = "四";
|
||||
"5" = "五";
|
||||
"6" = "六";
|
||||
urgent = "";
|
||||
default = "";
|
||||
sort-by-number = true;
|
||||
};
|
||||
persistent-workspaces = {
|
||||
"1" = [];
|
||||
"2" = [];
|
||||
"3" = [];
|
||||
"4" = [];
|
||||
"5" = [];
|
||||
"6" = [];
|
||||
};
|
||||
};
|
||||
memory= {
|
||||
format= " {}%";
|
||||
format-alt= " {used} GiB"; #
|
||||
interval= 2;
|
||||
memory = {
|
||||
format = " {}%";
|
||||
format-alt = " {used} GiB"; #
|
||||
interval = 2;
|
||||
};
|
||||
cpu= {
|
||||
format= " {usage}%";
|
||||
format-alt= " {avg_frequency} GHz";
|
||||
interval= 2;
|
||||
cpu = {
|
||||
format = " {usage}%";
|
||||
format-alt = " {avg_frequency} GHz";
|
||||
interval = 2;
|
||||
};
|
||||
disk = {
|
||||
# path = "/";
|
||||
format = " {percentage_used}%";
|
||||
interval= 60;
|
||||
# path = "/";
|
||||
format = " {percentage_used}%";
|
||||
interval = 60;
|
||||
};
|
||||
network = {
|
||||
format-wifi = " {signalStrength}%";
|
||||
format-ethernet = " ";
|
||||
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
||||
format-linked = "{ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
format-wifi = " {signalStrength}%";
|
||||
format-ethernet = " ";
|
||||
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
||||
format-linked = "{ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
};
|
||||
tray= {
|
||||
icon-size= 20;
|
||||
spacing= 8;
|
||||
tray = {
|
||||
icon-size = 20;
|
||||
spacing = 8;
|
||||
};
|
||||
pulseaudio= {
|
||||
format= "{icon} {volume}%";
|
||||
format-muted= " {volume}%";
|
||||
format-icons= {
|
||||
default= [" "];
|
||||
};
|
||||
scroll-step= 5;
|
||||
on-click= "pamixer -t";
|
||||
on-click-right= "pavucontrol";
|
||||
pulseaudio = {
|
||||
format = "{icon} {volume}%";
|
||||
format-muted = " {volume}%";
|
||||
format-icons = {
|
||||
default = [" "];
|
||||
};
|
||||
scroll-step = 5;
|
||||
on-click = "pamixer -t";
|
||||
on-click-right = "pavucontrol";
|
||||
};
|
||||
battery = {
|
||||
format = "{icon} {capacity}%";
|
||||
format-icons = [" " " " " " " " " "];
|
||||
format-charging = " {capacity}%";
|
||||
format-full = " {capacity}%";
|
||||
format-warning = " {capacity}%";
|
||||
interval = 5;
|
||||
states = {
|
||||
warning = 20;
|
||||
};
|
||||
format-time = "{H}h{M}m";
|
||||
tooltip = true;
|
||||
tooltip-format = "{time}";
|
||||
format = "{icon} {capacity}%";
|
||||
format-icons = [" " " " " " " " " "];
|
||||
format-charging = " {capacity}%";
|
||||
format-full = " {capacity}%";
|
||||
format-warning = " {capacity}%";
|
||||
interval = 5;
|
||||
states = {
|
||||
warning = 20;
|
||||
};
|
||||
format-time = "{H}h{M}m";
|
||||
tooltip = true;
|
||||
tooltip-format = "{time}";
|
||||
};
|
||||
"custom/launcher"= {
|
||||
format= "";
|
||||
on-click= "fuzzel";
|
||||
on-click-right= "wallpaper-picker";
|
||||
tooltip= "false";
|
||||
"custom/launcher" = {
|
||||
format = "";
|
||||
on-click = "fuzzel";
|
||||
on-click-right = "wallpaper-picker";
|
||||
tooltip = "false";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} ";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span> ";
|
||||
none = " ";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
dnd-none = " ";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
inhibited-none = " ";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
dnd-inhibited-none = " ";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t -sw";
|
||||
on-click-right = "swaync-client -d -sw";
|
||||
escape = true;
|
||||
tooltip = false;
|
||||
format = "{icon} ";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span> ";
|
||||
none = " ";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
dnd-none = " ";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
inhibited-none = " ";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
dnd-inhibited-none = " ";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t -sw";
|
||||
on-click-right = "swaync-client -d -sw";
|
||||
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_size = "22px";
|
||||
font_weight = "bold";
|
||||
@@ -8,93 +7,92 @@ let custom = {
|
||||
secondary_accent = "#89b4fa";
|
||||
tertiary_accent = "#f5f5f5";
|
||||
background = "#11111B";
|
||||
};
|
||||
in
|
||||
{
|
||||
};
|
||||
in {
|
||||
programs.waybar.style = ''
|
||||
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
min-height: 0px;
|
||||
font-family: ${custom.font};
|
||||
font-weight: ${custom.font_weight};
|
||||
}
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
min-height: 0px;
|
||||
font-family: ${custom.font};
|
||||
font-weight: ${custom.font_weight};
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: ${custom.background};
|
||||
}
|
||||
window#waybar {
|
||||
background: ${custom.background};
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
font-size: ${custom.font_size};
|
||||
#workspaces {
|
||||
font-size: ${custom.font_size};
|
||||
|
||||
}
|
||||
#workspaces button {
|
||||
color: ${custom.text_color};
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
#workspaces button.empty {
|
||||
color: #6c7086;
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: #b4befe;
|
||||
}
|
||||
}
|
||||
#workspaces button {
|
||||
color: ${custom.text_color};
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
#workspaces button.empty {
|
||||
color: #6c7086;
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: #b4befe;
|
||||
}
|
||||
|
||||
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock, #battery, #custom-notification {
|
||||
font-size: ${custom.font_size};
|
||||
color: ${custom.text_color};
|
||||
}
|
||||
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock, #battery, #custom-notification {
|
||||
font-size: ${custom.font_size};
|
||||
color: ${custom.text_color};
|
||||
}
|
||||
|
||||
#cpu {
|
||||
padding-left: 5px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#memory {
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#disk {
|
||||
padding-left: 9px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
#cpu {
|
||||
padding-left: 5px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#memory {
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#disk {
|
||||
padding-left: 9px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
margin-left: 7px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
#tray {
|
||||
margin-left: 7px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
padding-left: 5px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#battery {
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#network {
|
||||
padding-left: 9px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
#pulseaudio {
|
||||
padding-left: 5px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#battery {
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#network {
|
||||
padding-left: 9px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
custom-notification {
|
||||
padding-left: 15px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
custom-notification {
|
||||
padding-left: 15px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
padding-left: 9px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
#clock {
|
||||
padding-left: 9px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
#custom-launcher {
|
||||
font-size: ${custom.font_size};
|
||||
color: #b4befe;
|
||||
font-weight: ${custom.font_weight};
|
||||
padding-left: 10px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
#custom-launcher {
|
||||
font-size: ${custom.font_size};
|
||||
color: #b4befe;
|
||||
font-weight: ${custom.font_weight};
|
||||
padding-left: 10px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
};
|
||||
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 =
|
||||
[ (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) ];
|
||||
inputs,
|
||||
nixpkgs,
|
||||
config,
|
||||
self,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: {
|
||||
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, ... }:
|
||||
|
||||
{
|
||||
boot = {
|
||||
loader.systemd-boot.enable = true;
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
loader.systemd-boot.configurationLimit = 10;
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
};
|
||||
{pkgs, ...}: {
|
||||
boot = {
|
||||
loader.systemd-boot.enable = true;
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
loader.systemd-boot.configurationLimit = 10;
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
{ host, ... }:
|
||||
|
||||
{
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
hostName = if (host == "desktop") then
|
||||
"argon" else "mercury";
|
||||
hosts = {
|
||||
"192.168.1.163" = [ "glasshaus" ];
|
||||
"192.168.1.111" = [ "argon" ];
|
||||
"192.168.1.223" = [ "mercury" ];
|
||||
};
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [ 30000 ];
|
||||
};
|
||||
};
|
||||
{host, ...}: {
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
hostName =
|
||||
if (host == "desktop")
|
||||
then "argon"
|
||||
else "mercury";
|
||||
hosts = {
|
||||
"192.168.1.163" = ["glasshaus"];
|
||||
"192.168.1.111" = ["argon"];
|
||||
"192.168.1.223" = ["mercury"];
|
||||
};
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [30000];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
times-newer-roman
|
||||
nerdfonts
|
||||
jetbrains-mono
|
||||
];
|
||||
{pkgs, ...}: {
|
||||
fonts.packages = with pkgs; [
|
||||
times-newer-roman
|
||||
nerdfonts
|
||||
jetbrains-mono
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,71 +1,74 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
alsa-lib
|
||||
alsa-utils
|
||||
bc
|
||||
cava
|
||||
clang
|
||||
clang-tools
|
||||
cmake
|
||||
fail2ban
|
||||
feh
|
||||
ffmpeg-full
|
||||
fuse
|
||||
git
|
||||
gnumake
|
||||
gst_all_1.gstreamer
|
||||
htop
|
||||
hyprland
|
||||
hyprland-workspaces
|
||||
hyprpaper
|
||||
hyprpicker
|
||||
imagemagick
|
||||
inetutils
|
||||
kitty
|
||||
libclang
|
||||
libcxx
|
||||
lolcat
|
||||
lsof
|
||||
lua-language-server
|
||||
luarocks
|
||||
mesa
|
||||
mpd
|
||||
mullvad
|
||||
neofetch
|
||||
nix-index
|
||||
nix-prefetch-scripts
|
||||
nixos-option
|
||||
nix-search-cli
|
||||
openssl
|
||||
p7zip
|
||||
jq
|
||||
pamixer
|
||||
parted
|
||||
pavucontrol
|
||||
pkg-config
|
||||
playerctl
|
||||
protonmail-bridge
|
||||
protontricks
|
||||
pyright
|
||||
quintom-cursor-theme
|
||||
socat
|
||||
sox
|
||||
stress
|
||||
tor
|
||||
tree
|
||||
unrar
|
||||
unzip
|
||||
usbutils
|
||||
vim
|
||||
vscode-langservers-extracted
|
||||
vulkan-loader
|
||||
wget
|
||||
wine
|
||||
wl-clipboard
|
||||
xpad
|
||||
libnotify
|
||||
file
|
||||
];
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
alejandra
|
||||
alsa-lib
|
||||
alsa-utils
|
||||
bc
|
||||
cava
|
||||
clang
|
||||
clang-tools
|
||||
cmake
|
||||
fail2ban
|
||||
feh
|
||||
ffmpeg-full
|
||||
fuse
|
||||
git
|
||||
gnumake
|
||||
gst_all_1.gstreamer
|
||||
htop
|
||||
hyprland
|
||||
hyprland-workspaces
|
||||
hyprpaper
|
||||
hyprpicker
|
||||
imagemagick
|
||||
inetutils
|
||||
kitty
|
||||
libclang
|
||||
libcxx
|
||||
lolcat
|
||||
lsof
|
||||
lua-language-server
|
||||
luarocks
|
||||
mesa
|
||||
mpd
|
||||
mullvad
|
||||
neofetch
|
||||
nix-index
|
||||
nix-prefetch-scripts
|
||||
nixos-option
|
||||
nix-search-cli
|
||||
openssl
|
||||
p7zip
|
||||
jq
|
||||
pamixer
|
||||
parted
|
||||
pavucontrol
|
||||
pkg-config
|
||||
playerctl
|
||||
protonmail-bridge
|
||||
protontricks
|
||||
pyright
|
||||
quintom-cursor-theme
|
||||
socat
|
||||
sox
|
||||
stress
|
||||
tor
|
||||
tree
|
||||
unrar
|
||||
unzip
|
||||
usbutils
|
||||
vim
|
||||
vscode-langservers-extracted
|
||||
vulkan-loader
|
||||
wget
|
||||
wine
|
||||
wl-clipboard
|
||||
xpad
|
||||
libnotify
|
||||
file
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
hyprland.enable = true;
|
||||
zsh.enable = true;
|
||||
nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
stdenv.cc.cc
|
||||
ffmpeg-full
|
||||
];
|
||||
};
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
};
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
hyprland.enable = true;
|
||||
zsh.enable = true;
|
||||
nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
stdenv.cc.cc
|
||||
ffmpeg-full
|
||||
];
|
||||
};
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
{ pkgs, self, config, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = [(
|
||||
pkgs.catppuccin-sddm.override {
|
||||
flavor="mocha";
|
||||
font="JetBrains Mono";
|
||||
fontSize="9";
|
||||
background="${self}/media/wallpapers/catppuccin/nixos-catppuccin.png";
|
||||
}
|
||||
)];
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
theme = "catppuccin-mocha";
|
||||
package = pkgs.kdePackages.sddm;
|
||||
};
|
||||
pkgs,
|
||||
self,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = [
|
||||
(
|
||||
pkgs.catppuccin-sddm.override {
|
||||
flavor = "mocha";
|
||||
font = "JetBrains Mono";
|
||||
fontSize = "9";
|
||||
background = "${self}/media/wallpapers/catppuccin/nixos-catppuccin.png";
|
||||
}
|
||||
)
|
||||
];
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
theme = "catppuccin-mocha";
|
||||
package = pkgs.kdePackages.sddm;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
{ pkgs, ...}:
|
||||
|
||||
{
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
};
|
||||
udev.enable = true;
|
||||
dbus.enable = true;
|
||||
mullvad-vpn.enable = true;
|
||||
blueman.enable = true;
|
||||
openssh.enable = true;
|
||||
};
|
||||
{pkgs, ...}: {
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
};
|
||||
udev.enable = true;
|
||||
dbus.enable = true;
|
||||
mullvad-vpn.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 ];
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
backupFileExtension = "backup";
|
||||
extraSpecialArgs = { inherit self inputs host username nur; };
|
||||
users.${username} = {
|
||||
programs.home-manager.enable = true;
|
||||
imports = [ ./../../home ];
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "/home/${username}";
|
||||
stateVersion = "24.05";
|
||||
pointerCursor = {
|
||||
name = "Quintom_Ink";
|
||||
size = 36;
|
||||
package = pkgs.quintom-cursor-theme;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
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}" ];
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
username,
|
||||
self,
|
||||
host,
|
||||
...
|
||||
}: let
|
||||
nur = config.nur;
|
||||
in {
|
||||
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
backupFileExtension = "backup";
|
||||
extraSpecialArgs = {inherit self inputs host username nur;};
|
||||
users.${username} = {
|
||||
programs.home-manager.enable = true;
|
||||
imports = [./../../home];
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "/home/${username}";
|
||||
stateVersion = "24.05";
|
||||
pointerCursor = {
|
||||
name = "Quintom_Ink";
|
||||
size = 36;
|
||||
package = pkgs.quintom-cursor-theme;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
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 = [
|
||||
{
|
||||
command = "FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh";
|
||||
event = [ "VimEnter" ];
|
||||
pattern = [ "*" ];
|
||||
}
|
||||
{
|
||||
command = "silent! mkview";
|
||||
event = [ "BufWinLeave" ];
|
||||
pattern = [ "*" ];
|
||||
}
|
||||
{
|
||||
command = "silent! !aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &";
|
||||
event = [ "BufWinLeave" ];
|
||||
pattern = [ "*" ];
|
||||
}
|
||||
{
|
||||
command = "silent! loadview";
|
||||
event = [ "BufWinEnter" ];
|
||||
pattern = [ "*" ];
|
||||
}
|
||||
];
|
||||
autoCmd = [
|
||||
{
|
||||
command = "FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh";
|
||||
event = ["VimEnter"];
|
||||
pattern = ["*"];
|
||||
}
|
||||
{
|
||||
command = "silent! mkview";
|
||||
event = ["BufWinLeave"];
|
||||
pattern = ["*"];
|
||||
}
|
||||
{
|
||||
command = "silent! !aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &";
|
||||
event = ["BufWinLeave"];
|
||||
pattern = ["*"];
|
||||
}
|
||||
{
|
||||
command = "silent! loadview";
|
||||
event = ["BufWinEnter"];
|
||||
pattern = ["*"];
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
{
|
||||
imports = [
|
||||
./plugins/alpha.nix
|
||||
./plugins/vim-matchup.nix
|
||||
./plugins/coq.nix
|
||||
./plugins/barbar.nix
|
||||
./plugins/cmp.nix
|
||||
./plugins/lsp.nix
|
||||
./plugins/lualine.nix
|
||||
./plugins/plugins.nix
|
||||
./plugins/nvim-tree.nix
|
||||
./plugins/telescope.nix
|
||||
./plugins/extra_plugins.nix
|
||||
./options.nix
|
||||
./keymaps.nix
|
||||
./autocmd.nix
|
||||
];
|
||||
imports = [
|
||||
./plugins/alpha.nix
|
||||
./plugins/vim-matchup.nix
|
||||
./plugins/coq.nix
|
||||
./plugins/barbar.nix
|
||||
./plugins/cmp.nix
|
||||
./plugins/lsp.nix
|
||||
./plugins/lualine.nix
|
||||
./plugins/plugins.nix
|
||||
./plugins/nvim-tree.nix
|
||||
./plugins/telescope.nix
|
||||
./plugins/extra_plugins.nix
|
||||
./options.nix
|
||||
./keymaps.nix
|
||||
./autocmd.nix
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
{
|
||||
keymaps = [
|
||||
{
|
||||
action = "<C-W>W";
|
||||
key = "<S-Tab>";
|
||||
mode = "n";
|
||||
}
|
||||
{
|
||||
action = "<C-w>w";
|
||||
key = "<Tab>";
|
||||
mode = "n";
|
||||
}
|
||||
{
|
||||
action = "<cmd>FloatermToggle shadeterm<CR>";
|
||||
key = "<F2>";
|
||||
mode = "n";
|
||||
}
|
||||
{
|
||||
action = "<cmd>NvimTreeToggle<CR>";
|
||||
key = "<F3>";
|
||||
mode = "n";
|
||||
}
|
||||
{
|
||||
action = "<cmd>FloatermToggle shadeterm<CR>";
|
||||
key = "<F2>";
|
||||
mode = "t";
|
||||
}
|
||||
];
|
||||
keymaps = [
|
||||
{
|
||||
action = "<C-W>W";
|
||||
key = "<S-Tab>";
|
||||
mode = "n";
|
||||
}
|
||||
{
|
||||
action = "<C-w>w";
|
||||
key = "<Tab>";
|
||||
mode = "n";
|
||||
}
|
||||
{
|
||||
action = "<cmd>FloatermToggle shadeterm<CR>";
|
||||
key = "<F2>";
|
||||
mode = "n";
|
||||
}
|
||||
{
|
||||
action = "<cmd>NvimTreeToggle<CR>";
|
||||
key = "<F3>";
|
||||
mode = "n";
|
||||
}
|
||||
{
|
||||
action = "<cmd>FloatermToggle shadeterm<CR>";
|
||||
key = "<F2>";
|
||||
mode = "t";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,41 +1,41 @@
|
||||
{
|
||||
colorschemes = {
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
settings.flavour = "mocha";
|
||||
};
|
||||
kanagawa = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
colorschemes = {
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
settings.flavour = "mocha";
|
||||
};
|
||||
kanagawa = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
|
||||
diagnostics.signs = false;
|
||||
extraConfigLua = ''
|
||||
if vim.g.started_by_firenvim == true then
|
||||
vim.o.laststatus = 0
|
||||
end
|
||||
if vim.g.neovide then
|
||||
vim.g.neovide_refresh_rate = 144
|
||||
vim.g.neovide_cursor_vfx_mode = "sonicboom"
|
||||
vim.g.neovide_cursor_animate_in_insert_mode = false
|
||||
end
|
||||
diagnostics.signs = false;
|
||||
extraConfigLua = ''
|
||||
if vim.g.started_by_firenvim == true then
|
||||
vim.o.laststatus = 0
|
||||
end
|
||||
if vim.g.neovide then
|
||||
vim.g.neovide_refresh_rate = 144
|
||||
vim.g.neovide_cursor_vfx_mode = "sonicboom"
|
||||
vim.g.neovide_cursor_animate_in_insert_mode = false
|
||||
end
|
||||
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.hlsearch = true
|
||||
vim.opt.incsearch = true
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.ruler = true
|
||||
vim.opt.scrolloff = 6
|
||||
vim.opt.undofile = true
|
||||
vim.opt.foldmethod = "manual"
|
||||
vim.opt.wrap = true
|
||||
vim.opt.linebreak = true
|
||||
vim.opt.textwidth = 135
|
||||
vim.opt.breakat = " \t!@*-+;:,./?"
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.hlsearch = true
|
||||
vim.opt.incsearch = true
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.ruler = true
|
||||
vim.opt.scrolloff = 6
|
||||
vim.opt.undofile = true
|
||||
vim.opt.foldmethod = "manual"
|
||||
vim.opt.wrap = true
|
||||
vim.opt.linebreak = true
|
||||
vim.opt.textwidth = 135
|
||||
vim.opt.breakat = " \t!@*-+;:,./?"
|
||||
|
||||
vim.g.mapleader = "!"
|
||||
'';
|
||||
vim.g.mapleader = "!"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
plugins.alpha = {
|
||||
enable = true;
|
||||
theme = "dashboard";
|
||||
};
|
||||
plugins.alpha = {
|
||||
enable = true;
|
||||
theme = "dashboard";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
plugins.barbar = {
|
||||
enable = true;
|
||||
settings = {
|
||||
auto_hide = 1;
|
||||
};
|
||||
};
|
||||
plugins.barbar = {
|
||||
enable = true;
|
||||
settings = {
|
||||
auto_hide = 1;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
plugins.cmp = {
|
||||
autoEnableSources = true;
|
||||
settings.sources = [
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "path"; }
|
||||
{ name = "buffer"; }
|
||||
];
|
||||
};
|
||||
plugins.cmp = {
|
||||
autoEnableSources = true;
|
||||
settings.sources = [
|
||||
{name = "nvim_lsp";}
|
||||
{name = "path";}
|
||||
{name = "buffer";}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
plugins.coq-nvim = {
|
||||
enable = true;
|
||||
settings = {
|
||||
auto_start = true;
|
||||
};
|
||||
};
|
||||
plugins.coq-nvim = {
|
||||
enable = true;
|
||||
settings = {
|
||||
auto_start = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,51 +1,50 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
extraPlugins = [
|
||||
(pkgs.vimUtils.buildVimPlugin { # vimwiki
|
||||
name = "vimwiki";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "vimwiki";
|
||||
repo = "vimwiki";
|
||||
rev = "705ad1e0dded0e3b7ff5fac78547ab67c9d39bdf";
|
||||
hash = "sha256-Upx29rIPwW/e7Lkmf0PNOpIACnAXIzlkfa6V1p2nYHM=";
|
||||
};
|
||||
})
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-markdown";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "preservim";
|
||||
repo = "vim-markdown";
|
||||
rev = "8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51";
|
||||
hash = "sha256-ZCCSjZ5Xok4rnIwfa4VUEaz6d3oW9066l0EkoqiTppM=";
|
||||
};
|
||||
})
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-sneak";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "justinmk";
|
||||
repo = "vim-sneak";
|
||||
rev = "c13d0497139b8796ff9c44ddb9bc0dc9770ad2dd";
|
||||
hash = "sha256-ndWhnV0fgCcqCGwVyM07GfmUB3CitBZbOWvZtsB1tBk=";
|
||||
};
|
||||
})
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-slash";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "junegunn";
|
||||
repo = "vim-slash";
|
||||
rev = "31aee09b7ea8893a18fa34f65e63e364fc998444";
|
||||
hash = "sha256-hC590lmKBssLCSKPF9O2cnt6TCJkklzbbhDNhf1ozUU=";
|
||||
};
|
||||
})
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "automkdir.nvim";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "mateuszwieloch";
|
||||
repo = "automkdir.nvim";
|
||||
rev = "beeb2dd76f1c3ac776d901c43217a774f1f045de";
|
||||
hash = "sha256-lKSCZ80b/+OV56858FDK7x/zhcuU/AWuCDe+8NdhziU=";
|
||||
};
|
||||
})
|
||||
];
|
||||
{pkgs, ...}: {
|
||||
extraPlugins = [
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
# vimwiki
|
||||
name = "vimwiki";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "vimwiki";
|
||||
repo = "vimwiki";
|
||||
rev = "705ad1e0dded0e3b7ff5fac78547ab67c9d39bdf";
|
||||
hash = "sha256-Upx29rIPwW/e7Lkmf0PNOpIACnAXIzlkfa6V1p2nYHM=";
|
||||
};
|
||||
})
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-markdown";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "preservim";
|
||||
repo = "vim-markdown";
|
||||
rev = "8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51";
|
||||
hash = "sha256-ZCCSjZ5Xok4rnIwfa4VUEaz6d3oW9066l0EkoqiTppM=";
|
||||
};
|
||||
})
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-sneak";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "justinmk";
|
||||
repo = "vim-sneak";
|
||||
rev = "c13d0497139b8796ff9c44ddb9bc0dc9770ad2dd";
|
||||
hash = "sha256-ndWhnV0fgCcqCGwVyM07GfmUB3CitBZbOWvZtsB1tBk=";
|
||||
};
|
||||
})
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-slash";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "junegunn";
|
||||
repo = "vim-slash";
|
||||
rev = "31aee09b7ea8893a18fa34f65e63e364fc998444";
|
||||
hash = "sha256-hC590lmKBssLCSKPF9O2cnt6TCJkklzbbhDNhf1ozUU=";
|
||||
};
|
||||
})
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "automkdir.nvim";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "mateuszwieloch";
|
||||
repo = "automkdir.nvim";
|
||||
rev = "beeb2dd76f1c3ac776d901c43217a774f1f045de";
|
||||
hash = "sha256-lKSCZ80b/+OV56858FDK7x/zhcuU/AWuCDe+8NdhziU=";
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
{
|
||||
plugins.lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
bashls.enable = true;
|
||||
ccls.enable = true;
|
||||
clangd.enable = true;
|
||||
cmake.enable = true;
|
||||
html.enable = true;
|
||||
jsonls.enable = true;
|
||||
lua-ls.enable = true;
|
||||
marksman.enable = true;
|
||||
nil-ls.enable = true;
|
||||
pyright.enable = true;
|
||||
sqls.enable = true;
|
||||
};
|
||||
};
|
||||
plugins.lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
bashls.enable = true;
|
||||
ccls.enable = true;
|
||||
clangd.enable = true;
|
||||
cmake.enable = true;
|
||||
html.enable = true;
|
||||
jsonls.enable = true;
|
||||
lua-ls.enable = true;
|
||||
marksman.enable = true;
|
||||
nil-ls.enable = true;
|
||||
pyright.enable = true;
|
||||
sqls.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,36 +1,42 @@
|
||||
{
|
||||
plugins.lualine = {
|
||||
enable = true;
|
||||
settings = {
|
||||
options = {
|
||||
icons_enabled = true;
|
||||
theme = "auto";
|
||||
component_separators = {left = ""; right = "";};
|
||||
section_separators = {left = ""; right = "";};
|
||||
always_divide_middle = true;
|
||||
globalstatus = false;
|
||||
refresh = {
|
||||
statusline = 1000;
|
||||
tabline = 1000;
|
||||
winbar = 1000;
|
||||
};
|
||||
};
|
||||
sections = {
|
||||
lualine_a = ["mode"];
|
||||
lualine_b = ["buffers"];
|
||||
lualine_c = [""];
|
||||
lualine_x = ["searchcount" "fileformat" "filetype"];
|
||||
lualine_y = ["branch" "diff" "diagnostics"];
|
||||
lualine_z = ["location"];
|
||||
};
|
||||
inactive_sections = {
|
||||
lualine_a = [];
|
||||
lualine_b = [];
|
||||
lualine_c = ["filename"];
|
||||
lualine_x = ["location"];
|
||||
lualine_y = [];
|
||||
lualine_z = [];
|
||||
};
|
||||
};
|
||||
};
|
||||
plugins.lualine = {
|
||||
enable = true;
|
||||
settings = {
|
||||
options = {
|
||||
icons_enabled = true;
|
||||
theme = "auto";
|
||||
component_separators = {
|
||||
left = "";
|
||||
right = "";
|
||||
};
|
||||
section_separators = {
|
||||
left = "";
|
||||
right = "";
|
||||
};
|
||||
always_divide_middle = true;
|
||||
globalstatus = false;
|
||||
refresh = {
|
||||
statusline = 1000;
|
||||
tabline = 1000;
|
||||
winbar = 1000;
|
||||
};
|
||||
};
|
||||
sections = {
|
||||
lualine_a = ["mode"];
|
||||
lualine_b = ["buffers"];
|
||||
lualine_c = [""];
|
||||
lualine_x = ["searchcount" "fileformat" "filetype"];
|
||||
lualine_y = ["branch" "diff" "diagnostics"];
|
||||
lualine_z = ["location"];
|
||||
};
|
||||
inactive_sections = {
|
||||
lualine_a = [];
|
||||
lualine_b = [];
|
||||
lualine_c = ["filename"];
|
||||
lualine_x = ["location"];
|
||||
lualine_y = [];
|
||||
lualine_z = [];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,84 +1,86 @@
|
||||
{
|
||||
plugins.nvim-tree = {
|
||||
enable = true;
|
||||
hijackUnnamedBufferWhenOpening = false;
|
||||
openOnSetup = false;
|
||||
onAttach = { __raw = ''
|
||||
function(bufnr)
|
||||
local api = require('nvim-tree.api')
|
||||
plugins.nvim-tree = {
|
||||
enable = true;
|
||||
hijackUnnamedBufferWhenOpening = false;
|
||||
openOnSetup = false;
|
||||
onAttach = {
|
||||
__raw = ''
|
||||
function(bufnr)
|
||||
local api = require('nvim-tree.api')
|
||||
|
||||
local function opts(desc)
|
||||
return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
||||
end
|
||||
local function opts(desc)
|
||||
return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
||||
end
|
||||
|
||||
-- BEGIN_DEFAULT_ON_ATTACH
|
||||
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-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-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-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', '<CR>', api.node.open.edit, opts('Open'))
|
||||
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.prev, opts('Previous Sibling'))
|
||||
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', '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', 'bt', api.marks.bulk.trash, opts('Trash 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', '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.node.navigate.git.prev, opts('Prev 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.trash, opts('Trash'))
|
||||
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.node.navigate.diagnostics.next, opts('Next 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.start, opts('Live Filter: Start'))
|
||||
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', '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', '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', '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', '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', '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', 'p', api.fs.paste, opts('Paste'))
|
||||
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', 'r', api.fs.rename, opts('Rename'))
|
||||
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.tree.search_node, opts('Search'))
|
||||
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', 'W', api.tree.collapse_all, opts('Collapse'))
|
||||
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.relative_path, opts('Copy Relative Path'))
|
||||
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'))
|
||||
-- END_DEFAULT_ON_ATTACH
|
||||
end
|
||||
''; };
|
||||
view = {
|
||||
side = "right";
|
||||
centralizeSelection = true;
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
width = 40;
|
||||
};
|
||||
};
|
||||
-- BEGIN_DEFAULT_ON_ATTACH
|
||||
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-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-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-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', '<CR>', api.node.open.edit, opts('Open'))
|
||||
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.prev, opts('Previous Sibling'))
|
||||
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', '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', 'bt', api.marks.bulk.trash, opts('Trash 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', '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.node.navigate.git.prev, opts('Prev 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.trash, opts('Trash'))
|
||||
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.node.navigate.diagnostics.next, opts('Next 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.start, opts('Live Filter: Start'))
|
||||
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', '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', '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', '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', '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', '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', 'p', api.fs.paste, opts('Paste'))
|
||||
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', 'r', api.fs.rename, opts('Rename'))
|
||||
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.tree.search_node, opts('Search'))
|
||||
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', 'W', api.tree.collapse_all, opts('Collapse'))
|
||||
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.relative_path, opts('Copy Relative Path'))
|
||||
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'))
|
||||
-- END_DEFAULT_ON_ATTACH
|
||||
end
|
||||
'';
|
||||
};
|
||||
view = {
|
||||
side = "right";
|
||||
centralizeSelection = true;
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
width = 40;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
{
|
||||
plugins = {
|
||||
nvim-surround.enable = true;
|
||||
indent-blankline.enable = true;
|
||||
treesitter.enable = true;
|
||||
lastplace.enable = true;
|
||||
markdown-preview.enable = true;
|
||||
gitsigns.enable = true;
|
||||
web-devicons.enable = true;
|
||||
endwise.enable = true;
|
||||
marks.enable = true;
|
||||
trouble.enable = true;
|
||||
floaterm.enable = true;
|
||||
fugitive.enable = true;
|
||||
rustaceanvim.enable = true;
|
||||
firenvim.enable = true;
|
||||
dap = {
|
||||
enable = true;
|
||||
extensions.dap-ui.enable = true;
|
||||
};
|
||||
};
|
||||
plugins = {
|
||||
nvim-surround.enable = true;
|
||||
indent-blankline.enable = true;
|
||||
treesitter.enable = true;
|
||||
lastplace.enable = true;
|
||||
markdown-preview.enable = true;
|
||||
gitsigns.enable = true;
|
||||
web-devicons.enable = true;
|
||||
endwise.enable = true;
|
||||
marks.enable = true;
|
||||
trouble.enable = true;
|
||||
floaterm.enable = true;
|
||||
fugitive.enable = true;
|
||||
rustaceanvim.enable = true;
|
||||
firenvim.enable = true;
|
||||
dap = {
|
||||
enable = true;
|
||||
extensions.dap-ui.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
settings = {
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
settings = {
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
{
|
||||
plugins.vim-matchup = {
|
||||
enable = true;
|
||||
enableSurround = true;
|
||||
textObj.enable = true;
|
||||
motion = {
|
||||
enable = true;
|
||||
cursorEnd = true;
|
||||
};
|
||||
matchParen = {
|
||||
hiSurroundAlways = true;
|
||||
offscreen = {
|
||||
method = "popup";
|
||||
};
|
||||
};
|
||||
treesitterIntegration = {
|
||||
enable = true;
|
||||
includeMatchWords = true;
|
||||
};
|
||||
};
|
||||
plugins.vim-matchup = {
|
||||
enable = true;
|
||||
enableSurround = true;
|
||||
textObj.enable = true;
|
||||
motion = {
|
||||
enable = true;
|
||||
cursorEnd = true;
|
||||
};
|
||||
matchParen = {
|
||||
hiSurroundAlways = true;
|
||||
offscreen = {
|
||||
method = "popup";
|
||||
};
|
||||
};
|
||||
treesitterIntegration = {
|
||||
enable = true;
|
||||
includeMatchWords = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,14 +14,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
nixvim,
|
||||
flake-parts,
|
||||
pre-commit-hooks,
|
||||
...
|
||||
}@inputs:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
outputs = {
|
||||
nixvim,
|
||||
flake-parts,
|
||||
pre-commit-hooks,
|
||||
...
|
||||
} @ inputs:
|
||||
flake-parts.lib.mkFlake {inherit inputs;} {
|
||||
systems = [
|
||||
"aarch64-linux"
|
||||
"x86_64-linux"
|
||||
@@ -29,44 +28,41 @@
|
||||
"x86_64-darwin"
|
||||
];
|
||||
|
||||
perSystem =
|
||||
{
|
||||
system,
|
||||
pkgs,
|
||||
self',
|
||||
...
|
||||
}:
|
||||
let
|
||||
nixvim' = nixvim.legacyPackages.${system};
|
||||
nvim = nixvim'.makeNixvimWithModule {
|
||||
inherit pkgs;
|
||||
module = ./config;
|
||||
};
|
||||
in
|
||||
{
|
||||
checks = {
|
||||
pre-commit-check = pre-commit-hooks.lib.${system}.run {
|
||||
src = ./.;
|
||||
hooks = {
|
||||
statix.enable = true;
|
||||
nixfmt-rfc-style.enable = true;
|
||||
deadnix = {
|
||||
enable = true;
|
||||
settings = {
|
||||
edit = true;
|
||||
};
|
||||
perSystem = {
|
||||
system,
|
||||
pkgs,
|
||||
self',
|
||||
...
|
||||
}: let
|
||||
nixvim' = nixvim.legacyPackages.${system};
|
||||
nvim = nixvim'.makeNixvimWithModule {
|
||||
inherit pkgs;
|
||||
module = ./config;
|
||||
};
|
||||
in {
|
||||
checks = {
|
||||
pre-commit-check = pre-commit-hooks.lib.${system}.run {
|
||||
src = ./.;
|
||||
hooks = {
|
||||
statix.enable = true;
|
||||
nixfmt-rfc-style.enable = true;
|
||||
deadnix = {
|
||||
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";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, ... }@inputs:
|
||||
let
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
...
|
||||
} @ inputs: let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
|
||||
@@ -14,13 +17,13 @@
|
||||
extraFonts = pkgs.fetchFromGitHub {
|
||||
owner = "xero";
|
||||
repo = "figlet-fonts";
|
||||
rev = "master"; # Or specify a particular commit/tag
|
||||
sha256 = "sha256-dAs7N66D2Fpy4/UB5Za1r2qb1iSAJR6TMmau1asxgtY="; # Replace with actual hash
|
||||
rev = "master"; # Or specify a particular commit/tag
|
||||
sha256 = "sha256-dAs7N66D2Fpy4/UB5Za1r2qb1iSAJR6TMmau1asxgtY="; # Replace with actual hash
|
||||
};
|
||||
in {
|
||||
packages.${system} = {
|
||||
default = pkgs.toilet.overrideAttrs (oldAttrs: rec {
|
||||
buildInputs = oldAttrs.buildInputs or [] ++ [ extraFonts ];
|
||||
buildInputs = oldAttrs.buildInputs or [] ++ [extraFonts];
|
||||
|
||||
installPhase = ''
|
||||
make install PREFIX=$out
|
||||
|
||||
Reference in New Issue
Block a user