push
This commit is contained in:
parent
7b8005c867
commit
4731e545bb
44 changed files with 742 additions and 1233 deletions
|
|
@ -1,83 +1,46 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Bootloader
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
boot.kernelParams = ["transparent_hugepage=never"];
|
programs.dconf.enable = true;
|
||||||
|
# Hostname
|
||||||
networking.hostName = "navi";
|
networking.hostName = "navi";
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
services.mullvad-vpn = {
|
# Timezone & locale
|
||||||
enable = true;
|
|
||||||
package = pkgs.mullvad-vpn;
|
|
||||||
};
|
|
||||||
services.resolved.enable = true;
|
|
||||||
|
|
||||||
virtualisation.vmware.host.enable = true;
|
|
||||||
|
|
||||||
time.timeZone = "Asia/Jerusalem";
|
time.timeZone = "Asia/Jerusalem";
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_IL";
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
LC_ADDRESS = "en_US.UTF-8";
|
LC_ADDRESS = "he_IL.UTF-8";
|
||||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
LC_IDENTIFICATION = "he_IL.UTF-8";
|
||||||
LC_MEASUREMENT = "en_US.UTF-8";
|
LC_MEASUREMENT = "he_IL.UTF-8";
|
||||||
LC_MONETARY = "en_US.UTF-8";
|
LC_MONETARY = "he_IL.UTF-8";
|
||||||
LC_NAME = "en_US.UTF-8";
|
LC_NAME = "he_IL.UTF-8";
|
||||||
LC_NUMERIC = "en_US.UTF-8";
|
LC_NUMERIC = "he_IL.UTF-8";
|
||||||
LC_PAPER = "en_US.UTF-8";
|
LC_PAPER = "he_IL.UTF-8";
|
||||||
LC_TELEPHONE = "en_US.UTF-8";
|
LC_TELEPHONE = "he_IL.UTF-8";
|
||||||
LC_TIME = "en_US.UTF-8";
|
LC_TIME = "he_IL.UTF-8";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.bash = {
|
# X11 + i3 (no GNOME)
|
||||||
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
completion.enable = true;
|
windowManager.i3.enable = true;
|
||||||
interactiveShellInit = ''
|
displayManager.lightdm.enable = true;
|
||||||
eval "$(${pkgs.starship}/bin/starship init bash)"
|
xkb = {
|
||||||
'';
|
layout = "us";
|
||||||
};
|
|
||||||
|
|
||||||
services.desktopManager.gnome.enable = true;
|
|
||||||
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
withUWSM = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = with pkgs; [
|
|
||||||
xdg-desktop-portal-hyprland
|
|
||||||
xdg-desktop-portal-gtk
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.regreet.enable = true;
|
|
||||||
|
|
||||||
services.greetd = {
|
|
||||||
enable = true;
|
|
||||||
settings.default_session = {
|
|
||||||
command = "${pkgs.greetd.regreet}/bin/regreet";
|
|
||||||
user = "greeter";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.xkb = {
|
|
||||||
layout = "us,il";
|
|
||||||
variant = "";
|
variant = "";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.pulseaudio.enable = false;
|
# Sound
|
||||||
programs.dconf.enable = true;
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
services.pulseaudio.enable = false;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
alsa.enable = true;
|
alsa.enable = true;
|
||||||
|
|
@ -85,39 +48,25 @@
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# User
|
||||||
users.users.laniakea = {
|
users.users.laniakea = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "laniakea";
|
description = "laniakea";
|
||||||
extraGroups = ["networkmanager" "wheel" "input" "adbusers" "plugdev"];
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# home-manager as NixOS module
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
users.laniakea = import ./navi/default.nix;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.firefox.enable = true;
|
programs.firefox.enable = true;
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
environment.systemPackages = with pkgs; [ git ];
|
||||||
|
|
||||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
|
||||||
|
|
||||||
programs.nh = {
|
|
||||||
enable = true;
|
|
||||||
clean.enable = true;
|
|
||||||
clean.extraArgs = "--keep-since 4d --keep 3";
|
|
||||||
flake = "/etc/nixos";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
pinentryPackage = pkgs.pinentry-gnome3;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.udev.extraRules = ''
|
|
||||||
KERNEL=="hidraw*", ATTRS{idVendor}=="fc32", ATTRS{idProduct}=="0287", MODE="0666", GROUP="input"
|
|
||||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="fc32", ATTRS{idProduct}=="0287", MODE="0666", GROUP="input"
|
|
||||||
'';
|
|
||||||
|
|
||||||
services.udev.packages = with pkgs; [
|
|
||||||
vial
|
|
||||||
via
|
|
||||||
];
|
|
||||||
|
|
||||||
system.stateVersion = "24.11";
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
129
navi/flake.lock
generated
129
navi/flake.lock
generated
|
|
@ -1,42 +1,5 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"flake-compat": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1751685974,
|
|
||||||
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
|
|
||||||
"revCount": 92,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"nvf",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1769996383,
|
|
||||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -44,11 +7,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775360939,
|
"lastModified": 1775781825,
|
||||||
"narHash": "sha256-XUBlSgUFdvTh6+K5LcI5mJu5F5L8scmJDMRiZM484TM=",
|
"narHash": "sha256-L5yKTpR+alrZU2XYYvIxCeCP4LBHU5jhwSj7H1VAavg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "2097a5c82bdc099c6135eae4b111b78124604554",
|
"rev": "e35c39fca04fee829cecdf839a50eb9b54d8a701",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -57,50 +20,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mnw": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770419553,
|
|
||||||
"narHash": "sha256-b1XqsH7AtVf2dXmq2iyRr2NC1yG7skY7Z6N2MpWHlK4=",
|
|
||||||
"owner": "Gerg-L",
|
|
||||||
"repo": "mnw",
|
|
||||||
"rev": "2aaffa8030d0b262176146adbb6b0e6374ce2957",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Gerg-L",
|
|
||||||
"repo": "mnw",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ndg": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nvf",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1768214250,
|
|
||||||
"narHash": "sha256-hnBZDQWUxJV3KbtvyGW5BKLO/fAwydrxm5WHCWMQTbw=",
|
|
||||||
"owner": "feel-co",
|
|
||||||
"repo": "ndg",
|
|
||||||
"rev": "a6bd3c1ce2668d096e4fdaaa03ad7f03ba1fbca8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "feel-co",
|
|
||||||
"ref": "refs/tags/v2.6.0",
|
|
||||||
"repo": "ndg",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775036866,
|
"lastModified": 1775710090,
|
||||||
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
|
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
|
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -110,51 +36,10 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nvf": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"mnw": "mnw",
|
|
||||||
"ndg": "ndg",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1775122065,
|
|
||||||
"narHash": "sha256-ZlowJNkQOhpsXDuWbHgB1xY6W8kyzYn9coK9nJsqqNg=",
|
|
||||||
"owner": "NotAShelf",
|
|
||||||
"repo": "nvf",
|
|
||||||
"rev": "d3304af3d5771e8d5bac6ee9bbdbce56086d54f7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NotAShelf",
|
|
||||||
"repo": "nvf",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs"
|
||||||
"nvf": "nvf"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,18 @@
|
||||||
{
|
{
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nvf = {
|
|
||||||
url = "github:NotAShelf/nvf";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, nvf, ... }: {
|
outputs = { self, nixpkgs, home-manager, ... }: {
|
||||||
nixosConfigurations.navi = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.navi = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./configuration.nix
|
|
||||||
./hardware-configuration.nix
|
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
./configuration.nix
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.users.laniakea = import ./laniakea/home.nix;
|
|
||||||
home-manager.extraSpecialArgs = { inherit nvf; };
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -14,12 +14,12 @@
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/19cf3af9-df0f-46e7-ab26-f29dad2e5a63";
|
{ device = "/dev/disk/by-uuid/3fd6b3e1-e237-4c9f-9f9a-37ee711114fe";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" =
|
||||||
{ device = "/dev/disk/by-uuid/80BA-5D8C";
|
{ device = "/dev/disk/by-uuid/AE26-3C10";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
programs.anyrun = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
hideIcons = false;
|
|
||||||
ignoreExclusiveZones = false;
|
|
||||||
layer = "overlay";
|
|
||||||
hidePluginInfo = false;
|
|
||||||
closeOnClick = false;
|
|
||||||
showResultsImmediately = false;
|
|
||||||
maxEntries = null;
|
|
||||||
|
|
||||||
plugins = [
|
|
||||||
"${pkgs.anyrun}/lib/libapplications.so"
|
|
||||||
"${pkgs.anyrun}/lib/libsymbols.so"
|
|
||||||
"${pkgs.anyrun}/lib/libactions.so"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
programs.eww = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
configDir = ./eww;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/eww/get_volume.sh" = {
|
|
||||||
source = ./eww/get_volume.sh;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/eww/volume_scroll.sh" = {
|
|
||||||
source = ./eww/volume_scroll.sh;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/eww/get_wifi.sh" = {
|
|
||||||
source = ./eww/get_wifi.sh;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/eww/get_layout.sh" = {
|
|
||||||
source = ./eww/get_layout.sh;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/eww/toggle_layout.sh" = {
|
|
||||||
source = ./eww/toggle_layout.sh;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.playerctld = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
pavucontrol
|
|
||||||
libnotify
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
* {
|
|
||||||
all: unset;
|
|
||||||
font-family: IosevkaTerm Nerd Font;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspaces button {
|
|
||||||
border-radius: 5px;
|
|
||||||
padding: 4px;
|
|
||||||
padding-left: 8px;
|
|
||||||
padding-right: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inactive {
|
|
||||||
background-color: #181825;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active_workspace {
|
|
||||||
color: #181926;
|
|
||||||
background-color: #b7bdf8;
|
|
||||||
font-weight: 900;
|
|
||||||
}
|
|
||||||
|
|
||||||
.music {
|
|
||||||
border-radius: 10px;
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
color: #b4befe;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bar {
|
|
||||||
background-color: #11111b;
|
|
||||||
border-radius: 16px;
|
|
||||||
color: #cdd6f4;
|
|
||||||
margin: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.time {
|
|
||||||
color: #b4befe;
|
|
||||||
font-weight: 900;
|
|
||||||
}
|
|
||||||
|
|
||||||
.battery {
|
|
||||||
color: #cba6f7;
|
|
||||||
font-weight: 800;
|
|
||||||
}
|
|
||||||
|
|
||||||
.volume {
|
|
||||||
color: #cba6f7;
|
|
||||||
font-weight: 800;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wifi {
|
|
||||||
color: #89dceb;
|
|
||||||
font-weight: 800;
|
|
||||||
}
|
|
||||||
|
|
||||||
.layout {
|
|
||||||
color: #a6e3a1;
|
|
||||||
font-weight: 800;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip {
|
|
||||||
padding: 3px 7px;
|
|
||||||
border-radius: 10px;
|
|
||||||
background-color: #11111b;
|
|
||||||
color: white;
|
|
||||||
border-color: #b4befe;
|
|
||||||
border-width: 2px;
|
|
||||||
border-style: solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
menu {
|
|
||||||
padding: 3px 7px;
|
|
||||||
border-radius: 10px;
|
|
||||||
background-color: #11111b;
|
|
||||||
color: white;
|
|
||||||
border-color: #b4befe;
|
|
||||||
border-width: 2px;
|
|
||||||
border-style: solid;
|
|
||||||
}
|
|
||||||
|
|
@ -1,108 +0,0 @@
|
||||||
(defwidget bar []
|
|
||||||
(centerbox :orientation "h"
|
|
||||||
(workspaces)
|
|
||||||
(music)
|
|
||||||
(status)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget workspaces []
|
|
||||||
(box :class "workspaces"
|
|
||||||
:orientation "h"
|
|
||||||
:halign "start"
|
|
||||||
:spacing 10
|
|
||||||
(button
|
|
||||||
:class {active_workspace == 1 ? "active_workspace" : "inactive"}
|
|
||||||
:onclick "hyprctl dispatch workspace 1" 1
|
|
||||||
)
|
|
||||||
(button
|
|
||||||
:class {active_workspace == 2 ? "active_workspace" : "inactive"}
|
|
||||||
:onclick "hyprctl dispatch workspace 2" 2)
|
|
||||||
(button
|
|
||||||
:class {active_workspace == 3 ? "active_workspace" : "inactive"}
|
|
||||||
:onclick "hyprctl dispatch workspace 3" 3)
|
|
||||||
(button
|
|
||||||
:class {active_workspace == 4 ? "active_workspace" : "inactive"}
|
|
||||||
:onclick "hyprctl dispatch workspace 4" 4)
|
|
||||||
(button
|
|
||||||
:class {active_workspace == 5 ? "active_workspace" : "inactive"}
|
|
||||||
:onclick "hyprctl dispatch workspace 5" "")
|
|
||||||
(button
|
|
||||||
:class {active_workspace == 6 ? "active_workspace" : "inactive"}
|
|
||||||
:onclick "hyprctl dispatch workspace 6" " ")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defpoll active_workspace :interval "1s" :initial 1
|
|
||||||
"hyprctl activeworkspace -j | jq .id"
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget music []
|
|
||||||
(eventbox :class "music"
|
|
||||||
:orientation "h"
|
|
||||||
:halign "center"
|
|
||||||
:onclick "playerctl play-pause"
|
|
||||||
{music != "" ? " ${music}" : ""}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(deflisten music :initial ""
|
|
||||||
"playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true"
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget status []
|
|
||||||
(box :class "status" :orientation "h" :halign "end" :space-evenly false :spacing 20
|
|
||||||
(systray :orientation "h" :space-evenly false :spacing 10
|
|
||||||
)
|
|
||||||
(eventbox :class "layout"
|
|
||||||
:onclick "./toggle_layout.sh"
|
|
||||||
"${layout}"
|
|
||||||
)
|
|
||||||
(box :class "wifi" :tooltip wifi
|
|
||||||
"${wifi}"
|
|
||||||
)
|
|
||||||
(eventbox
|
|
||||||
:class "volume"
|
|
||||||
:timeout "1000ms"
|
|
||||||
:onclick "pavucontrol"
|
|
||||||
:onscroll "./volume_scroll.sh {}"
|
|
||||||
"${volume}%"
|
|
||||||
)
|
|
||||||
(box :class "battery" :tooltip {EWW_BATTERY.BAT0.status}
|
|
||||||
{ " ${EWW_BATTERY.BAT0.capacity}%"}
|
|
||||||
)
|
|
||||||
(box :class "time"
|
|
||||||
:tooltip date
|
|
||||||
{formattime(EWW_TIME, "%H:%M")}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defpoll volume :interval "100ms"
|
|
||||||
"./get_volume.sh"
|
|
||||||
)
|
|
||||||
|
|
||||||
(defpoll wifi :interval "5s" :initial " ..."
|
|
||||||
"./get_wifi.sh"
|
|
||||||
)
|
|
||||||
|
|
||||||
(defpoll layout :interval "1s" :initial " EN"
|
|
||||||
"./get_layout.sh"
|
|
||||||
)
|
|
||||||
|
|
||||||
(defpoll date :interval "5m"
|
|
||||||
"date +'%A, %d %B %Y'"
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow bar
|
|
||||||
:monitor 0
|
|
||||||
:windowtype "dock"
|
|
||||||
:geometry (geometry :x "0%"
|
|
||||||
:y "9px"
|
|
||||||
:width "98%"
|
|
||||||
:height "30px"
|
|
||||||
:anchor "top center"
|
|
||||||
)
|
|
||||||
:exclusive true
|
|
||||||
(bar)
|
|
||||||
)
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
layout=$(hyprctl devices -j | jq -r '.keyboards[] | select(.name == "josefadamcik-sofle") | .active_keymap')
|
|
||||||
case "$layout" in
|
|
||||||
*Hebrew*) echo " HE" ;;
|
|
||||||
*) echo " EN" ;;
|
|
||||||
esac
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
#! /bin/sh
|
|
||||||
wpctl get-volume @DEFAULT_AUDIO_SINK@ | sed -r 's/Volume: //g' | xargs -n1 | awk '{print $1*100}' | xargs -n 1 echo "$1"
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
iface=$(ip link | awk '/state UP/ && !/lo/ {print $2}' | tr -d ':' | grep -v eth | head -1)
|
|
||||||
ssid=$(iwgetid "$iface" -r 2>/dev/null)
|
|
||||||
strength=$(awk "/$iface/ {print int(\$3 * 100 / 70)}" /proc/net/wireless 2>/dev/null)
|
|
||||||
if [ -z "$ssid" ]; then
|
|
||||||
echo " disconnected"
|
|
||||||
else
|
|
||||||
if [ "$strength" -ge 75 ]; then icon=""
|
|
||||||
elif [ "$strength" -ge 50 ]; then icon=""
|
|
||||||
elif [ "$strength" -ge 25 ]; then icon=""
|
|
||||||
else icon=""
|
|
||||||
fi
|
|
||||||
echo "$icon $ssid $strength%"
|
|
||||||
fi
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
hyprctl switchxkblayout josefadamcik-sofle next
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
if [ "$1" == "up" ]; then
|
|
||||||
wpctl set-volume @DEFAULT_SINK@ 5%+ -l 1.0
|
|
||||||
else
|
|
||||||
wpctl set-volume @DEFAULT_SINK@ 5%- -l 1.0
|
|
||||||
fi
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
{
|
|
||||||
services.fnott = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
main = {
|
|
||||||
border-radius = 5;
|
|
||||||
border-size = 2;
|
|
||||||
dpi-aware = "yes";
|
|
||||||
|
|
||||||
title-color = "a6adc8ff";
|
|
||||||
summary-color = "cdd6f4ff";
|
|
||||||
body-color = "cdd6f4ff";
|
|
||||||
background = "1e1e2eff";
|
|
||||||
border-color = "89b4faff";
|
|
||||||
progress-bar-color = "6c7086ff";
|
|
||||||
};
|
|
||||||
|
|
||||||
critical = {
|
|
||||||
border-color = "fab387ff";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,126 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hyprland.nix
|
|
||||||
./neovim.nix
|
|
||||||
./librewolf.nix
|
|
||||||
./kitty.nix
|
|
||||||
./starship.nix
|
|
||||||
./fnott.nix
|
|
||||||
./anyrun.nix
|
|
||||||
./eww.nix
|
|
||||||
./vesktop.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "laniakea";
|
|
||||||
homeDirectory = "/home/laniakea";
|
|
||||||
|
|
||||||
packages = with pkgs; [
|
|
||||||
wl-clipboard
|
|
||||||
grimblast
|
|
||||||
maple-mono.NL-NF
|
|
||||||
jq
|
|
||||||
qmk
|
|
||||||
brave
|
|
||||||
qbittorrent
|
|
||||||
chromium
|
|
||||||
htop
|
|
||||||
|
|
||||||
obs-studio
|
|
||||||
gnupg
|
|
||||||
kdePackages.kleopatra
|
|
||||||
cava
|
|
||||||
pfetch
|
|
||||||
fastfetch
|
|
||||||
tidal-hifi
|
|
||||||
nerd-fonts.iosevka-term
|
|
||||||
wirelesstools
|
|
||||||
signal-desktop
|
|
||||||
element-desktop
|
|
||||||
idris2
|
|
||||||
sage
|
|
||||||
python3
|
|
||||||
vscode
|
|
||||||
nim
|
|
||||||
ghc
|
|
||||||
gcc
|
|
||||||
gnumake
|
|
||||||
gdb
|
|
||||||
zig
|
|
||||||
rustup
|
|
||||||
spotify
|
|
||||||
];
|
|
||||||
|
|
||||||
pointerCursor = {
|
|
||||||
gtk.enable = true;
|
|
||||||
package = pkgs.rose-pine-cursor;
|
|
||||||
name = "BreezeX-RosePineDawn";
|
|
||||||
size = 16;
|
|
||||||
};
|
|
||||||
|
|
||||||
sessionVariables = {
|
|
||||||
GTK_USE_PORTAL = "1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.mimeApps = {
|
|
||||||
enable = true;
|
|
||||||
defaultApplications = {
|
|
||||||
"text/html" = "librewolf.desktop";
|
|
||||||
"x-scheme-handler/http" = "librewolf.desktop";
|
|
||||||
"x-scheme-handler/https" = "librewolf.desktop";
|
|
||||||
"x-scheme-handler/about" = "librewolf.desktop";
|
|
||||||
"x-scheme-handler/unknown" = "librewolf.desktop";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "laniakea";
|
|
||||||
userEmail = "itamar@itamar.site";
|
|
||||||
|
|
||||||
# SSH signing configuration
|
|
||||||
signing = {
|
|
||||||
key = "${config.home.homeDirectory}/.ssh/id_ed25519.pub";
|
|
||||||
signByDefault = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = {
|
|
||||||
gpg.format = "ssh";
|
|
||||||
gpg.ssh.allowedSignersFile = "${config.home.homeDirectory}/.ssh/allowed_signers";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ssh = {
|
|
||||||
enable = true;
|
|
||||||
enableDefaultConfig = false;
|
|
||||||
matchBlocks."*".addKeysToAgent = "yes";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".ssh/allowed_signers".text = "* ${builtins.readFile /home/laniakea/.ssh/id_ed25519.pub}";
|
|
||||||
|
|
||||||
dconf = {
|
|
||||||
enable = true;
|
|
||||||
settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
colorScheme = "dark";
|
|
||||||
gtk3.colorScheme = "dark";
|
|
||||||
gtk4.colorScheme = "dark";
|
|
||||||
theme = {
|
|
||||||
package = pkgs.adw-gtk3;
|
|
||||||
name = "adw-gtk3-dark";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.stateVersion = "26.05";
|
|
||||||
}
|
|
||||||
|
|
@ -1,142 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
rose-pine-hyprcursor
|
|
||||||
wpaperd
|
|
||||||
];
|
|
||||||
|
|
||||||
home.file.".config/wpaperd/config.toml".text = ''
|
|
||||||
[any]
|
|
||||||
path = "/home/laniakea/.glitch.png"
|
|
||||||
'';
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
systemd.enable = false;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
"$mod" = "SUPER";
|
|
||||||
|
|
||||||
"$terminal" = "kitty";
|
|
||||||
"$filemanager" = "nautilus";
|
|
||||||
"$launcher" = "anyrun";
|
|
||||||
|
|
||||||
monitor = [
|
|
||||||
"eDP-1,1920x1080@60,2560x0,1"
|
|
||||||
];
|
|
||||||
|
|
||||||
exec-once = [
|
|
||||||
"hyprctl setcursor rose-pine-hyprcursor 24"
|
|
||||||
"wpaperd -d"
|
|
||||||
"eww daemon"
|
|
||||||
"eww open bar"
|
|
||||||
];
|
|
||||||
|
|
||||||
input = {
|
|
||||||
kb_layout = "us,il";
|
|
||||||
};
|
|
||||||
|
|
||||||
general = {
|
|
||||||
gaps_in = "5";
|
|
||||||
gaps_out = "20";
|
|
||||||
border_size = "2";
|
|
||||||
"col.active_border" = "rgb(b4befe)";
|
|
||||||
"col.inactive_border" = "rgb(6c7086)";
|
|
||||||
layout = "dwindle";
|
|
||||||
};
|
|
||||||
|
|
||||||
dwindle = {
|
|
||||||
preserve_split = "true";
|
|
||||||
};
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
rounding = "5";
|
|
||||||
rounding_power = "2";
|
|
||||||
active_opacity = "0.95";
|
|
||||||
inactive_opacity = "0.80";
|
|
||||||
blur = {
|
|
||||||
enabled = "true";
|
|
||||||
size = "10";
|
|
||||||
passes = "3";
|
|
||||||
vibrancy = "0.0";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
animations = {
|
|
||||||
enabled = "true";
|
|
||||||
};
|
|
||||||
|
|
||||||
layerrule = [
|
|
||||||
"no_anim on, match:namespace anyrun"
|
|
||||||
"blur on, ignore_alpha 1, match:namespace gtk-layer-shell"
|
|
||||||
];
|
|
||||||
|
|
||||||
windowrule = [
|
|
||||||
"float on, center on, match:class .*"
|
|
||||||
"size 800 500, match:class kitty"
|
|
||||||
"size 1000 650, match:class firefox"
|
|
||||||
"size 900 600, match:class org.gnome.Nautilus"
|
|
||||||
"workspace 5, match:class tidal-hifi"
|
|
||||||
"workspace 6, match:class vesktop"
|
|
||||||
];
|
|
||||||
|
|
||||||
bind =
|
|
||||||
[
|
|
||||||
"$mod, RETURN, exec, $terminal"
|
|
||||||
"$mod, E, exec, $filemanager"
|
|
||||||
", Print, exec, grimblast copy area"
|
|
||||||
"$mod, SPACE, exec, $launcher"
|
|
||||||
"$mod, M, exec, uwsm stop"
|
|
||||||
"$mod, Q, killactive"
|
|
||||||
"$mod, F, togglefloating"
|
|
||||||
"$mod, S, exec, grimblast copy area"
|
|
||||||
# Focus with arrows
|
|
||||||
"$mod, left, movefocus, l"
|
|
||||||
"$mod, right, movefocus, r"
|
|
||||||
"$mod, up, movefocus, u"
|
|
||||||
"$mod, down, movefocus, d"
|
|
||||||
|
|
||||||
"$mod, h, movefocus, l"
|
|
||||||
"$mod, l, movefocus, r"
|
|
||||||
"$mod, k, movefocus, u"
|
|
||||||
"$mod, j, movefocus, d"
|
|
||||||
|
|
||||||
"$mod SHIFT, h, resizeactive, -30 0"
|
|
||||||
"$mod SHIFT, l, resizeactive, 30 0"
|
|
||||||
"$mod SHIFT, k, resizeactive, 0 -30"
|
|
||||||
"$mod SHIFT, j, resizeactive, 0 30"
|
|
||||||
|
|
||||||
"$mod, mouse_down, workspace, e+1"
|
|
||||||
"$mod, mouse_up, workspace, e-1"
|
|
||||||
"$mod, escape, exec, hyprctl switchxkblayout josefadamcik-sofle next"
|
|
||||||
]
|
|
||||||
++ (
|
|
||||||
builtins.concatLists (builtins.genList (
|
|
||||||
i: let
|
|
||||||
ws = i + 1;
|
|
||||||
in [
|
|
||||||
"$mod, code:1${toString i}, workspace, ${toString ws}"
|
|
||||||
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
9)
|
|
||||||
);
|
|
||||||
|
|
||||||
bindm = [
|
|
||||||
"$mod, mouse:272, movewindow"
|
|
||||||
"$mod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindl = [
|
|
||||||
", XF86AudioNext, exec, playerctl next"
|
|
||||||
", XF86AudioPrev, exec, playerctl previous"
|
|
||||||
", XF86AudioPlay, exec, playerctl play-pause"
|
|
||||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindel = [
|
|
||||||
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
|
||||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
confirm_os_window_close = 0;
|
|
||||||
background_opacity = "0.9";
|
|
||||||
enable_audio_bell = false;
|
|
||||||
mouse_map = "right press ungrabbed paste_from_clipboard";
|
|
||||||
cursor_shape = "underline";
|
|
||||||
};
|
|
||||||
|
|
||||||
font = {
|
|
||||||
name = "IosevkaTerm Nerd Font";
|
|
||||||
};
|
|
||||||
|
|
||||||
themeFile = "Carbonfox";
|
|
||||||
shellIntegration.enableBashIntegration = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,316 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
programs.librewolf = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
profiles.default = {
|
|
||||||
isDefault = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
"toolkit.telemetry.enabled" = false;
|
|
||||||
"toolkit.telemetry.unified" = false;
|
|
||||||
"toolkit.telemetry.server" = "";
|
|
||||||
"toolkit.telemetry.archive.enabled" = false;
|
|
||||||
"toolkit.telemetry.newProfilePing.enabled" = false;
|
|
||||||
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
|
||||||
"toolkit.telemetry.updatePing.enabled" = false;
|
|
||||||
"toolkit.telemetry.bhrPing.enabled" = false;
|
|
||||||
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
|
||||||
"toolkit.telemetry.coverage.opt-out" = true;
|
|
||||||
"toolkit.coverage.opt-out" = true;
|
|
||||||
"toolkit.coverage.endpoint.base" = "";
|
|
||||||
"browser.ping-centre.telemetry" = false;
|
|
||||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
|
||||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
|
||||||
|
|
||||||
"breakpad.reportURL" = "";
|
|
||||||
"browser.tabs.crashReporting.sendReport" = false;
|
|
||||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
|
|
||||||
|
|
||||||
"app.shield.optoutstudies.enabled" = false;
|
|
||||||
"app.normandy.enabled" = false;
|
|
||||||
"app.normandy.api_url" = "";
|
|
||||||
"browser.safebrowsing.malware.enabled" = false;
|
|
||||||
"browser.safebrowsing.phishing.enabled" = false;
|
|
||||||
"browser.safebrowsing.blockedURIs.enabled" = false;
|
|
||||||
"browser.safebrowsing.provider.google4.gethashURL" = "";
|
|
||||||
"browser.safebrowsing.provider.google4.updateURL" = "";
|
|
||||||
"browser.safebrowsing.provider.google.gethashURL" = "";
|
|
||||||
"browser.safebrowsing.provider.google.updateURL" = "";
|
|
||||||
"browser.safebrowsing.downloads.remote.enabled" = false;
|
|
||||||
|
|
||||||
"geo.enabled" = false;
|
|
||||||
"geo.provider.network.url" = "";
|
|
||||||
|
|
||||||
"captivedetect.canonicalURL" = "";
|
|
||||||
"network.captive-portal-service.enabled" = false;
|
|
||||||
"network.connectivity-service.enabled" = false;
|
|
||||||
|
|
||||||
"privacy.resistFingerprinting" = true;
|
|
||||||
"privacy.resistFingerprinting.block_mozAddonManager" = true;
|
|
||||||
"privacy.window.maxInnerWidth" = 1600;
|
|
||||||
"privacy.window.maxInnerHeight" = 900;
|
|
||||||
"webgl.disabled" = true;
|
|
||||||
"webgl.enable-webgl2" = false;
|
|
||||||
"media.navigator.enabled" = false;
|
|
||||||
"media.navigator.video.enabled" = false;
|
|
||||||
|
|
||||||
"media.peerconnection.enabled" = false;
|
|
||||||
"media.peerconnection.ice.no_host" = true;
|
|
||||||
"media.peerconnection.ice.proxy_only_if_behind_proxy" = true;
|
|
||||||
"media.peerconnection.ice.default_address_only" = true;
|
|
||||||
|
|
||||||
"privacy.trackingprotection.enabled" = true;
|
|
||||||
"privacy.trackingprotection.pbmode.enabled" = true;
|
|
||||||
"privacy.trackingprotection.emailtracking.enabled" = true;
|
|
||||||
"privacy.trackingprotection.socialtracking.enabled" = true;
|
|
||||||
"privacy.trackingprotection.cryptomining.enabled" = true;
|
|
||||||
"privacy.trackingprotection.fingerprinting.enabled" = true;
|
|
||||||
"privacy.firstparty.isolate" = true;
|
|
||||||
"privacy.partition.network_state" = true;
|
|
||||||
"privacy.partition.serviceWorkers" = true;
|
|
||||||
|
|
||||||
"network.cookie.cookieBehavior" = 1;
|
|
||||||
"network.cookie.lifetimePolicy" = 0;
|
|
||||||
"browser.privatebrowsing.autostart" = false;
|
|
||||||
|
|
||||||
"signon.rememberSignons" = true;
|
|
||||||
"signon.autofillForms" = true;
|
|
||||||
"signon.generation.enabled" = true;
|
|
||||||
|
|
||||||
"network.trr.mode" = 3;
|
|
||||||
"network.trr.uri" = "https://dns.quad9.net/dns-query";
|
|
||||||
"network.trr.bootstrapAddress" = "9.9.9.9";
|
|
||||||
"network.dns.disableIPv6" = true;
|
|
||||||
"network.prefetch-next" = false;
|
|
||||||
"network.dns.disablePrefetch" = true;
|
|
||||||
"network.predictor.enabled" = false;
|
|
||||||
"network.http.speculative-parallel-limit" = 0;
|
|
||||||
"browser.places.speculativeConnect.enabled" = false;
|
|
||||||
"network.proxy.socks_remote_dns" = true;
|
|
||||||
|
|
||||||
"dom.security.https_only_mode" = true;
|
|
||||||
"dom.security.https_only_mode.upgrade_local" = true;
|
|
||||||
"security.mixed_content.block_display_content" = true;
|
|
||||||
"security.mixed_content.block_active_content" = true;
|
|
||||||
|
|
||||||
"security.tls.version.min" = 3;
|
|
||||||
"security.tls.version.max" = 4;
|
|
||||||
"security.tls.enable_0rtt_data" = false;
|
|
||||||
"security.OCSP.enabled" = 1;
|
|
||||||
"security.OCSP.require" = true;
|
|
||||||
"security.cert_pinning.enforcement_level" = 2;
|
|
||||||
"security.remote_settings.crlite_filters.enabled" = true;
|
|
||||||
"security.pki.crlite_mode" = 2;
|
|
||||||
|
|
||||||
"dom.battery.enabled" = false;
|
|
||||||
"dom.vr.enabled" = false;
|
|
||||||
"dom.vibrator.enabled" = false;
|
|
||||||
"dom.gamepad.enabled" = false;
|
|
||||||
"dom.netinfo.enabled" = false;
|
|
||||||
"dom.telephony.enabled" = false;
|
|
||||||
"dom.push.enabled" = false;
|
|
||||||
"dom.push.connection.enabled" = false;
|
|
||||||
"dom.push.serverURL" = "";
|
|
||||||
|
|
||||||
"browser.send_pings" = false;
|
|
||||||
"browser.sessionstore.privacy_level" = 2;
|
|
||||||
"browser.urlbar.speculativeConnect.enabled" = false;
|
|
||||||
"browser.urlbar.suggest.searches" = false;
|
|
||||||
"browser.search.suggest.enabled" = false;
|
|
||||||
"browser.formfill.enable" = false;
|
|
||||||
|
|
||||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
userChrome = ''
|
|
||||||
/* =============================================
|
|
||||||
Windows 95/98 Theme for LibreWolf
|
|
||||||
============================================= */
|
|
||||||
|
|
||||||
@import url("chrome://userchrome/content/userChrome.css");
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: "W95FA", "Pixelated MS Sans Serif", "Arial", sans-serif !important;
|
|
||||||
font-size: 11px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Window chrome background ---- */
|
|
||||||
:root {
|
|
||||||
--win95-bg: #c0c0c0;
|
|
||||||
--win95-dark: #808080;
|
|
||||||
--win95-darker: #404040;
|
|
||||||
--win95-light: #ffffff;
|
|
||||||
--win95-highlight: #000080;
|
|
||||||
--win95-highlight-text: #ffffff;
|
|
||||||
--win95-border-light: #dfdfdf;
|
|
||||||
--win95-border-dark: #808080;
|
|
||||||
--win95-border-darker: #404040;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Toolbar background ---- */
|
|
||||||
#navigator-toolbox,
|
|
||||||
#toolbar-menubar,
|
|
||||||
#TabsToolbar,
|
|
||||||
#nav-bar,
|
|
||||||
#PersonalToolbar {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
border-bottom: 1px solid var(--win95-dark) !important;
|
|
||||||
padding: 2px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Tab bar ---- */
|
|
||||||
#TabsToolbar {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Active tab — raised bevel */
|
|
||||||
.tab-background:is([selected], [multiselected]) {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
border-top: 2px solid var(--win95-light) !important;
|
|
||||||
border-left: 2px solid var(--win95-light) !important;
|
|
||||||
border-right: 2px solid var(--win95-darker) !important;
|
|
||||||
border-bottom: none !important;
|
|
||||||
border-radius: 0 !important;
|
|
||||||
margin-bottom: -1px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Inactive tab — sunken */
|
|
||||||
.tab-background:not([selected]) {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
border-top: 2px solid var(--win95-dark) !important;
|
|
||||||
border-left: 2px solid var(--win95-dark) !important;
|
|
||||||
border-right: 2px solid var(--win95-light) !important;
|
|
||||||
border-bottom: 1px solid var(--win95-dark) !important;
|
|
||||||
border-radius: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-label {
|
|
||||||
color: #000000 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-background:is([selected]) .tab-label {
|
|
||||||
font-weight: bold !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- URL bar — sunken inset look ---- */
|
|
||||||
#urlbar,
|
|
||||||
#urlbar-background {
|
|
||||||
background-color: #ffffff !important;
|
|
||||||
border-top: 2px solid var(--win95-dark) !important;
|
|
||||||
border-left: 2px solid var(--win95-dark) !important;
|
|
||||||
border-right: 2px solid var(--win95-light) !important;
|
|
||||||
border-bottom: 2px solid var(--win95-light) !important;
|
|
||||||
border-radius: 0 !important;
|
|
||||||
color: #000000 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#urlbar:focus-within #urlbar-background {
|
|
||||||
border-color: var(--win95-darker) !important;
|
|
||||||
outline: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Buttons — raised bevel ---- */
|
|
||||||
toolbarbutton,
|
|
||||||
.toolbarbutton-1 {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
border-top: 2px solid var(--win95-light) !important;
|
|
||||||
border-left: 2px solid var(--win95-light) !important;
|
|
||||||
border-right: 2px solid var(--win95-darker) !important;
|
|
||||||
border-bottom: 2px solid var(--win95-darker) !important;
|
|
||||||
border-radius: 0 !important;
|
|
||||||
padding: 3px 5px !important;
|
|
||||||
color: #000000 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
toolbarbutton:hover,
|
|
||||||
.toolbarbutton-1:hover {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
toolbarbutton:active,
|
|
||||||
toolbarbutton[open="true"],
|
|
||||||
.toolbarbutton-1:active {
|
|
||||||
border-top: 2px solid var(--win95-darker) !important;
|
|
||||||
border-left: 2px solid var(--win95-darker) !important;
|
|
||||||
border-right: 2px solid var(--win95-light) !important;
|
|
||||||
border-bottom: 2px solid var(--win95-light) !important;
|
|
||||||
padding: 4px 4px 2px 6px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Title bar — classic Windows blue gradient ---- */
|
|
||||||
#titlebar {
|
|
||||||
background: linear-gradient(to right, #000080, #1084d0) !important;
|
|
||||||
color: #ffffff !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Menu bar ---- */
|
|
||||||
#toolbar-menubar {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
menubar > menu {
|
|
||||||
color: #000000 !important;
|
|
||||||
border-radius: 0 !important;
|
|
||||||
padding: 2px 6px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
menubar > menu:hover,
|
|
||||||
menubar > menu[_moz-menuactive="true"] {
|
|
||||||
background-color: var(--win95-highlight) !important;
|
|
||||||
color: var(--win95-highlight-text) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Bookmarks toolbar ---- */
|
|
||||||
#PersonalToolbar toolbarbutton {
|
|
||||||
border: 1px solid transparent !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#PersonalToolbar toolbarbutton:hover {
|
|
||||||
border-top: 2px solid var(--win95-light) !important;
|
|
||||||
border-left: 2px solid var(--win95-light) !important;
|
|
||||||
border-right: 2px solid var(--win95-darker) !important;
|
|
||||||
border-bottom: 2px solid var(--win95-darker) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Sidebar ---- */
|
|
||||||
#sidebar-box {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
border-right: 2px solid var(--win95-dark) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Find bar ---- */
|
|
||||||
#FindToolbar {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
border-top: 2px solid var(--win95-dark) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Scrollbars ---- */
|
|
||||||
scrollbar {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
width: 16px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
scrollbar thumb {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
border-top: 2px solid var(--win95-light) !important;
|
|
||||||
border-left: 2px solid var(--win95-light) !important;
|
|
||||||
border-right: 2px solid var(--win95-darker) !important;
|
|
||||||
border-bottom: 2px solid var(--win95-darker) !important;
|
|
||||||
border-radius: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- Status bar ---- */
|
|
||||||
#statuspanel-label {
|
|
||||||
background-color: var(--win95-bg) !important;
|
|
||||||
border-top: 2px solid var(--win95-dark) !important;
|
|
||||||
color: #000000 !important;
|
|
||||||
border-radius: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
* {
|
|
||||||
border-radius: 0 !important;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
{ pkgs, nvf, ... }:
|
|
||||||
{
|
|
||||||
imports = [ nvf.homeManagerModules.default ];
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
alejandra
|
|
||||||
nil
|
|
||||||
statix
|
|
||||||
deadnix
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.nvf = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
vim = {
|
|
||||||
opts = {
|
|
||||||
tabstop = 2;
|
|
||||||
shiftwidth = 0;
|
|
||||||
};
|
|
||||||
clipboard = {
|
|
||||||
enable = true;
|
|
||||||
providers.wl-copy.enable = true;
|
|
||||||
};
|
|
||||||
lsp = {
|
|
||||||
enable = true;
|
|
||||||
formatOnSave = true;
|
|
||||||
inlayHints.enable = true;
|
|
||||||
trouble.enable = true;
|
|
||||||
};
|
|
||||||
treesitter = {
|
|
||||||
enable = true;
|
|
||||||
context.enable = true;
|
|
||||||
indent.enable = true;
|
|
||||||
grammars = with pkgs.vimPlugins.nvim-treesitter-parsers; [
|
|
||||||
yuck
|
|
||||||
];
|
|
||||||
};
|
|
||||||
diagnostics = {
|
|
||||||
enable = true;
|
|
||||||
config.virtual_text = true;
|
|
||||||
};
|
|
||||||
languages = {
|
|
||||||
nix = {
|
|
||||||
enable = true;
|
|
||||||
extraDiagnostics.enable = true;
|
|
||||||
lsp = {
|
|
||||||
enable = true;
|
|
||||||
servers = [ "nil" ];
|
|
||||||
};
|
|
||||||
treesitter.enable = true;
|
|
||||||
format = {
|
|
||||||
enable = true;
|
|
||||||
type = [ "alejandra" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
theme = {
|
|
||||||
enable = true;
|
|
||||||
name = "catppuccin";
|
|
||||||
style = "mocha";
|
|
||||||
transparent = true;
|
|
||||||
};
|
|
||||||
statusline.lualine.enable = true;
|
|
||||||
autocomplete.blink-cmp.enable = true;
|
|
||||||
visuals.fidget-nvim.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{lib, ...}: {
|
|
||||||
programs.starship = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
settings = {
|
|
||||||
add_newline = false;
|
|
||||||
format = lib.concatStrings [
|
|
||||||
"$directory"
|
|
||||||
"$nix_shell"
|
|
||||||
"[](fg:purple) "
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
{
|
|
||||||
programs.vesktop = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
checkUpdates = false;
|
|
||||||
hardwareAcceleration = true;
|
|
||||||
discordBranch = "stable";
|
|
||||||
};
|
|
||||||
|
|
||||||
vencord.settings = {
|
|
||||||
autoUpdate = true;
|
|
||||||
autoUpdateNotification = true;
|
|
||||||
notifyAboutUpdates = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
9
navi/navi/audio.nix
Normal file
9
navi/navi/audio.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
pavucontrol
|
||||||
|
milkytracker
|
||||||
|
rtmidi
|
||||||
|
];
|
||||||
|
}
|
||||||
16
navi/navi/browser.nix
Normal file
16
navi/navi/browser.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.librewolf = {
|
||||||
|
enable = true;
|
||||||
|
# Enable WebGL, cookies and history
|
||||||
|
settings = {
|
||||||
|
"webgl.disabled" = false;
|
||||||
|
"privacy.resistFingerprinting" = true;
|
||||||
|
"privacy.clearOnShutdown.history" = true;
|
||||||
|
"privacy.clearOnShutdown.cookies" = false;
|
||||||
|
"network.cookie.lifetimePolicy" = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
57
navi/navi/bspwm.nix
Normal file
57
navi/navi/bspwm.nix
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
xsession = {
|
||||||
|
enable = true;
|
||||||
|
windowManager.bspwm = {
|
||||||
|
enable = true;
|
||||||
|
monitors."*" = [ "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" ];
|
||||||
|
settings = {
|
||||||
|
normal_border_color = "#6E738D";
|
||||||
|
focused_border_color = "#f5bde6";
|
||||||
|
border_width = 2;
|
||||||
|
window_gap = 2;
|
||||||
|
};
|
||||||
|
rules."Zathura".state = "tiled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.sxhkd = {
|
||||||
|
enable = true;
|
||||||
|
keybindings = {
|
||||||
|
"super + d" = "rofi -show drun";
|
||||||
|
"super + Return" = "alacritty";
|
||||||
|
"super + w" = "bspc node -c";
|
||||||
|
"super + 1" = "bspc desktop -f '1'";
|
||||||
|
"super + 2" = "bspc desktop -f '2'";
|
||||||
|
"super + 3" = "bspc desktop -f '3'";
|
||||||
|
"super + 4" = "bspc desktop -f '4'";
|
||||||
|
"super + 5" = "bspc desktop -f '5'";
|
||||||
|
"super + 6" = "bspc desktop -f '6'";
|
||||||
|
"super + 7" = "bspc desktop -f '7'";
|
||||||
|
"super + 8" = "bspc desktop -f '8'";
|
||||||
|
"super + 9" = "bspc desktop -f '9'";
|
||||||
|
"super + 0" = "bspc desktop -f '10'";
|
||||||
|
"super + shift + 1" = "bspc node -d '1'";
|
||||||
|
"super + shift + 2" = "bspc node -d '2'";
|
||||||
|
"super + shift + 3" = "bspc node -d '3'";
|
||||||
|
"super + shift + 4" = "bspc node -d '4'";
|
||||||
|
"super + shift + 5" = "bspc node -d '5'";
|
||||||
|
"super + shift + 6" = "bspc node -d '6'";
|
||||||
|
"super + shift + 7" = "bspc node -d '7'";
|
||||||
|
"super + shift + 8" = "bspc node -d '8'";
|
||||||
|
"super + shift + 9" = "bspc node -d '9'";
|
||||||
|
"super + shift + 0" = "bspc node -d '10'";
|
||||||
|
"super + h" = "bspc node -f west";
|
||||||
|
"super + j" = "bspc node -f south";
|
||||||
|
"super + k" = "bspc node -f north";
|
||||||
|
"super + l" = "bspc node -f east";
|
||||||
|
"super + shift + h" = "bspc node -s west";
|
||||||
|
"super + shift + j" = "bspc node -s south";
|
||||||
|
"super + shift + k" = "bspc node -s north";
|
||||||
|
"super + shift + l" = "bspc node -s east";
|
||||||
|
"super + shift + r" = "bspc wm -r";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [ rofi ];
|
||||||
|
}
|
||||||
31
navi/navi/default.nix
Normal file
31
navi/navi/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.stateVersion = "22.05";
|
||||||
|
imports = [
|
||||||
|
./packages.nix
|
||||||
|
./programs.nix
|
||||||
|
./fonts.nix
|
||||||
|
./services.nix
|
||||||
|
./editors.nix
|
||||||
|
./terminal.nix
|
||||||
|
./ssh.nix
|
||||||
|
./git.nix
|
||||||
|
./launcher.nix
|
||||||
|
./keyboard.nix
|
||||||
|
./bspwm.nix
|
||||||
|
./notifications.nix
|
||||||
|
./polybar.nix
|
||||||
|
./screen-lock.nix
|
||||||
|
./shell.nix
|
||||||
|
./gtk-qt.nix
|
||||||
|
./devel.nix
|
||||||
|
./browser.nix
|
||||||
|
./messaging.nix
|
||||||
|
./multimedia.nix
|
||||||
|
./audio.nix
|
||||||
|
];
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
pinentryPackage = pkgs.pinentry-curses;
|
||||||
|
};
|
||||||
|
}
|
||||||
7
navi/navi/devel.nix
Normal file
7
navi/navi/devel.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
41
navi/navi/editors.nix
Normal file
41
navi/navi/editors.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
home.sessionVariables.EDITOR = "nvim";
|
||||||
|
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
".emacs.d" = {
|
||||||
|
text = "hii";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.emacs.enable = true;
|
||||||
|
programs.emacs.extraPackages = (
|
||||||
|
epkgs: (with epkgs; [
|
||||||
|
better-defaults
|
||||||
|
material-theme
|
||||||
|
org
|
||||||
|
org-bullets
|
||||||
|
org-journal
|
||||||
|
org-roam
|
||||||
|
org-super-agenda
|
||||||
|
helm-org-rifle
|
||||||
|
afternoon-theme
|
||||||
|
workgroups2
|
||||||
|
treemacs
|
||||||
|
projectile
|
||||||
|
slime
|
||||||
|
yaml
|
||||||
|
yaml-mode
|
||||||
|
markdown-mode
|
||||||
|
ox-pandoc
|
||||||
|
use-package
|
||||||
|
notmuch
|
||||||
|
])
|
||||||
|
);
|
||||||
|
}
|
||||||
0
navi/navi/emacs.d/init.el
Normal file
0
navi/navi/emacs.d/init.el
Normal file
15
navi/navi/fonts.nix
Normal file
15
navi/navi/fonts.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
jetbrains-mono
|
||||||
|
roboto
|
||||||
|
font-awesome
|
||||||
|
corefonts
|
||||||
|
vista-fonts
|
||||||
|
culmus
|
||||||
|
iosevka
|
||||||
|
];
|
||||||
|
}
|
||||||
29
navi/navi/git.nix
Normal file
29
navi/navi/git.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "laniakea";
|
||||||
|
userEmail = "itamar@itamar.site";
|
||||||
|
ignores = [ "*.swp" "result" ];
|
||||||
|
signing = {
|
||||||
|
key = "72F74E167C220C451CF29C09D8277CDCD4F544E9";
|
||||||
|
signByDefault = true;
|
||||||
|
};
|
||||||
|
extraConfig = {
|
||||||
|
commit.gpgSign = true;
|
||||||
|
tag.gpgSign = true;
|
||||||
|
push.autoSetupRemote = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gh = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
git_protocol = "ssh";
|
||||||
|
version = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [ pkgs.git-open ];
|
||||||
|
}
|
||||||
54
navi/navi/gtk-qt.nix
Normal file
54
navi/navi/gtk-qt.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
# theme = {
|
||||||
|
# name = "Catppuccin-Macchiato-Compact-Lavender-Dark";
|
||||||
|
# package = pkgs.catppuccin-gtk.override {
|
||||||
|
# variant = "macchiato";
|
||||||
|
# accents = [ "lavender" ];
|
||||||
|
# size = "compact";
|
||||||
|
# tweaks = [ "rimless" ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# iconTheme = {
|
||||||
|
# name = "Papirus-Dark";
|
||||||
|
# package = pkgs.catppuccin-papirus-folders.override {
|
||||||
|
# flavor = "macchiato";
|
||||||
|
# accent = "lavender";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
font = {
|
||||||
|
name = "Roboto 10";
|
||||||
|
package = pkgs.roboto;
|
||||||
|
};
|
||||||
|
|
||||||
|
# gtk4.extraConfig = {
|
||||||
|
# gtk-xft-antialias = 1;
|
||||||
|
# gtk-xft-hinting = 1;
|
||||||
|
# gtk-xft-hintstyle = "hintslight";
|
||||||
|
# gtk-xft-rgba = "rgb";
|
||||||
|
# gtk-enable-event-sounds = 0;
|
||||||
|
# gtk-enable-input-feedback-sounds = 0;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# gtk3.extraConfig = {
|
||||||
|
# gtk-xft-antialias = 1;
|
||||||
|
# gtk-xft-hinting = 1;
|
||||||
|
# gtk-xft-hintstyle = "hintslight";
|
||||||
|
# gtk-xft-rgba = "rgb";
|
||||||
|
# gtk-enable-event-sounds = 0;
|
||||||
|
# gtk-enable-input-feedback-sounds = 0;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# gtk2.extraConfig = ''
|
||||||
|
# gtk-xft-antialias=1
|
||||||
|
# gtk-xft-hinting=1
|
||||||
|
# gtk-xft-hintstyle="hintslight"
|
||||||
|
# gtk-xft-rgba="rgb"
|
||||||
|
# gtk-enable-event-sounds=0
|
||||||
|
# gtk-enable-input-feedback-sounds=0
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
}
|
||||||
107
navi/navi/keyboard.nix
Normal file
107
navi/navi/keyboard.nix
Normal file
|
|
@ -0,0 +1,107 @@
|
||||||
|
{
|
||||||
|
home.keyboard = {
|
||||||
|
layout = "us,il";
|
||||||
|
options = [ "grp:lalt_lshift_toggle" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
services.sxhkd = {
|
||||||
|
enable = true;
|
||||||
|
keybindings = {
|
||||||
|
# terminal emulator
|
||||||
|
"super + Return" = "alacritty";
|
||||||
|
# program launcher
|
||||||
|
"super + @space" = "rofi -show drun";
|
||||||
|
# quit/restart bspwm
|
||||||
|
"super + alt + {q,r}" = "bspc {quit,wm -r}";
|
||||||
|
|
||||||
|
# close and kill
|
||||||
|
"super + {_,shift + }w" = "bspc node -{c,k}";
|
||||||
|
|
||||||
|
# alternate between the tiled and monocle layout
|
||||||
|
"super + m" = "bspc desktop -l next";
|
||||||
|
|
||||||
|
# send the newest marked node to the newest preselected node
|
||||||
|
"super + y" = "bspc node newest.marked.local -n newest.!automatic.local";
|
||||||
|
|
||||||
|
# swap the current node and the biggest node
|
||||||
|
"super + g" = "bspc node -s biggest";
|
||||||
|
|
||||||
|
# set the window state
|
||||||
|
"super + {t,shift + t,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
|
||||||
|
|
||||||
|
# set the node flags
|
||||||
|
"super + ctrl + {m,x,y,z}" = "bspc node -g {marked,locked,sticky,private}";
|
||||||
|
|
||||||
|
# focus the node in the given direction
|
||||||
|
"super + {_,shift + }{h,j,k,l}" = "bspc node -{f,s} {west,south,north,east}";
|
||||||
|
|
||||||
|
# focus the node for the given path jump
|
||||||
|
"super + {p,b,comma,period}" = "bspc node -f @{parent,brother,first,second}";
|
||||||
|
|
||||||
|
# focus the next/previous node in the current desktop
|
||||||
|
"super + {_,shift + }c" = "bspc node -f {next,prev}.local.!hidden.window";
|
||||||
|
|
||||||
|
# focus the next/previous desktop in the current monitor
|
||||||
|
"super + bracket{left,right}" = "bspc desktop -f {prev,next}.local.!hidden.window";
|
||||||
|
|
||||||
|
# focus the last node/desktop
|
||||||
|
"super + {grave,Tab}" = "bspc {node,desktop} -f last";
|
||||||
|
|
||||||
|
# focus or send to the given desktop
|
||||||
|
"super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} '{1-9,10}'";
|
||||||
|
|
||||||
|
# preselect the direction
|
||||||
|
"super + ctrl + {h,j,k,l}" = "bspc node -p {west,south,north,east}";
|
||||||
|
|
||||||
|
# preselect the ratio
|
||||||
|
"super + ctrl + {1-9}" = "bspc node -o 0.{1-9}";
|
||||||
|
|
||||||
|
# cancel the preselection for the focused node
|
||||||
|
"super + ctrl + space" = "bspc node -p cancel";
|
||||||
|
|
||||||
|
# cancel the preselection for the focused desktop
|
||||||
|
"super + ctrl + shift + space" = "bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel";
|
||||||
|
|
||||||
|
# move a floating window
|
||||||
|
"super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}";
|
||||||
|
|
||||||
|
# Rotate tree
|
||||||
|
"super + shift + {d,a}" = "bspc node @/ -C {forward,backward}";
|
||||||
|
|
||||||
|
#### MULTIMEDIA KEYS ####
|
||||||
|
|
||||||
|
"XF86Audio{Prev,Next,Play}" = "mpc -q {prev,next,toggle}";
|
||||||
|
|
||||||
|
"XF86Audio{Raise,Lower}Volume" = "pulsemixer --change-volume {+,-}5";
|
||||||
|
|
||||||
|
"XF86AudioMute" = "pulsemixer --toggle-mute";
|
||||||
|
|
||||||
|
"XF86AudioMicMute" = "pulsemixer --id source-42 --toggle-mute";
|
||||||
|
|
||||||
|
# Launch programs
|
||||||
|
"alt + 1" = "librewolf";
|
||||||
|
|
||||||
|
"alt + 2" = "Discord";
|
||||||
|
|
||||||
|
"alt + 3" = "nemo";
|
||||||
|
|
||||||
|
# Brightness control
|
||||||
|
"XF86MonBrightness{Up,Down}" = "light -{A,U} 10";
|
||||||
|
|
||||||
|
# Screenshoting
|
||||||
|
"super + shift + s" = "maim -s | xclip -selection clipboard -t image/png";
|
||||||
|
|
||||||
|
"Print" = "maim | xclip -selection clipboard -t image/png && notify-send 'maim' 'Screenshot captured'";
|
||||||
|
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
# Expand/contract a window by moving one of its side outward/inward
|
||||||
|
super + alt + {h,j,k,l}
|
||||||
|
STEP=20; SELECTION={1,2,3,4}; \
|
||||||
|
bspc node -z $(echo "left -$STEP 0,bottom 0 $STEP,top 0 -$STEP,right $STEP 0" | cut -d',' -f$SELECTION) || \
|
||||||
|
bspc node -z $(echo "right -$STEP 0,top 0 $STEP,bottom 0 -$STEP,left $STEP 0" | cut -d',' -f$SELECTION)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
43
navi/navi/launcher.nix
Normal file
43
navi/navi/launcher.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
font = "JetBrains Mono 8";
|
||||||
|
extraConfig = {
|
||||||
|
modi = [ "drun" ];
|
||||||
|
matching = "fuzzy";
|
||||||
|
};
|
||||||
|
# theme =
|
||||||
|
# let
|
||||||
|
# inherit (config.lib.formats.rasi) mkLiteral;
|
||||||
|
# in
|
||||||
|
# {
|
||||||
|
# # catppuccin macchiato
|
||||||
|
# "*" = {
|
||||||
|
# background-color = mkLiteral "#24273A";
|
||||||
|
# text-color = mkLiteral "#CAD3F5";
|
||||||
|
# border-color = mkLiteral "#91D7E3";
|
||||||
|
# };
|
||||||
|
# window.width = mkLiteral "25%";
|
||||||
|
# mainbox = {
|
||||||
|
# border = 3;
|
||||||
|
# padding = 10;
|
||||||
|
# };
|
||||||
|
# listview = {
|
||||||
|
# lines = 8;
|
||||||
|
# spacing = 5;
|
||||||
|
# padding = mkLiteral "5 0 0";
|
||||||
|
# };
|
||||||
|
# element.padding = 2;
|
||||||
|
# "element.selected".background-color = mkLiteral "#363A4F";
|
||||||
|
# element-text.background-color = mkLiteral "inherit";
|
||||||
|
# inputbar = {
|
||||||
|
# spacing = 5;
|
||||||
|
# padding = 5;
|
||||||
|
# border = mkLiteral "0 0 1";
|
||||||
|
# border-color = mkLiteral "#A6DA95";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
17
navi/navi/messaging.nix
Normal file
17
navi/navi/messaging.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
#discord
|
||||||
|
element-desktop
|
||||||
|
|
||||||
|
(pkgs.discord.override {
|
||||||
|
# remove any overrides that you don't want
|
||||||
|
withOpenASAR = true;
|
||||||
|
withVencord = true;
|
||||||
|
})];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
15
navi/navi/multimedia.nix
Normal file
15
navi/navi/multimedia.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
ffmpeg
|
||||||
|
ffmpegthumbnailer
|
||||||
|
feh
|
||||||
|
gimp
|
||||||
|
transmission_4
|
||||||
|
xdg-utils
|
||||||
|
xdg-user-dirs
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
34
navi/navi/notifications.nix
Normal file
34
navi/navi/notifications.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global.font = "JetBrains Mono 10";
|
||||||
|
|
||||||
|
# catppuccin macchiato
|
||||||
|
global = {
|
||||||
|
frame_color = "#8AADF4";
|
||||||
|
separator_color = "frame";
|
||||||
|
};
|
||||||
|
|
||||||
|
urgency_low = {
|
||||||
|
background = "#24273A";
|
||||||
|
foreground = "#CAD3F5";
|
||||||
|
};
|
||||||
|
|
||||||
|
urgency_normal = {
|
||||||
|
background = "#24273A";
|
||||||
|
foreground = "#CAD3F5";
|
||||||
|
};
|
||||||
|
|
||||||
|
urgency_critical = {
|
||||||
|
background = "#24273A";
|
||||||
|
foreground = "#CAD3F5";
|
||||||
|
frame_color = "#F5A97F";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [ pkgs.libnotify ];
|
||||||
|
}
|
||||||
38
navi/navi/packages.nix
Normal file
38
navi/navi/packages.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# wget
|
||||||
|
keepassxc
|
||||||
|
# yt-dlp
|
||||||
|
p7zip
|
||||||
|
# tdesktop
|
||||||
|
# killall
|
||||||
|
xclip
|
||||||
|
maim
|
||||||
|
calc sage nim zig gcc gnumake gnupg ghc idris2 python3 vim unzip wget
|
||||||
|
# htop
|
||||||
|
ranger
|
||||||
|
# pulsemixer
|
||||||
|
tree
|
||||||
|
# fzf
|
||||||
|
# gnome.gnome-disk-utility
|
||||||
|
# nextcloud-client
|
||||||
|
# lm_sensors
|
||||||
|
# ffmpegthumbnailer
|
||||||
|
# ffmpeg
|
||||||
|
# piper
|
||||||
|
# thunderbird-bin
|
||||||
|
# ookla-speedtest
|
||||||
|
# nixpkgs-fmt
|
||||||
|
# nixpkgs-review
|
||||||
|
# nix-update
|
||||||
|
# acpi
|
||||||
|
# ripgrep
|
||||||
|
# fd
|
||||||
|
# sd
|
||||||
|
# discord
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
113
navi/navi/polybar.nix
Normal file
113
navi/navi/polybar.nix
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.polybar = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.polybarFull;
|
||||||
|
script = ''
|
||||||
|
polybar leftbar &
|
||||||
|
polybar centerbar &
|
||||||
|
polybar rightbar &
|
||||||
|
'';
|
||||||
|
config = {
|
||||||
|
"colors" = {
|
||||||
|
base = "#24273a";
|
||||||
|
mantle = "#1e2030";
|
||||||
|
surface0 = "#363a4f";
|
||||||
|
surface1 = "#494d64";
|
||||||
|
text = "#cad3f5";
|
||||||
|
mauve = "#c6a0f6";
|
||||||
|
red = "#ed8796";
|
||||||
|
maroon = "#ee99a0";
|
||||||
|
green = "#a6da95";
|
||||||
|
peach = "#f5a97f";
|
||||||
|
sapphire = "#7dc4e4";
|
||||||
|
yellow = "#eed49f";
|
||||||
|
};
|
||||||
|
"section/base" = {
|
||||||
|
height = 20;
|
||||||
|
offset-y = 2;
|
||||||
|
background = "\${colors.base}";
|
||||||
|
foreground = "\${colors.text}";
|
||||||
|
border-color = "\${colors.mauve}";
|
||||||
|
border-size = 2;
|
||||||
|
font-0 = "Iosevka:size=15;2";
|
||||||
|
font-1 = "Iosevka:size=14;2";
|
||||||
|
wm-restack = "bspwm";
|
||||||
|
};
|
||||||
|
"bar/leftbar" = {
|
||||||
|
"inherit" = "section/base";
|
||||||
|
modules-left = "bspwm";
|
||||||
|
offset-x = 10;
|
||||||
|
width = 221;
|
||||||
|
};
|
||||||
|
"module/bspwm" = {
|
||||||
|
type = "internal/bspwm";
|
||||||
|
label-active = "%index%";
|
||||||
|
label-active-background = "\${colors.mauve}";
|
||||||
|
label-active-foreground = "\${colors.base}";
|
||||||
|
label-active-padding = 1;
|
||||||
|
label-empty = "%index%";
|
||||||
|
label-empty-padding = 1;
|
||||||
|
label-occupied = "%index%";
|
||||||
|
label-occupied-background = "\${colors.surface0}";
|
||||||
|
label-occupied-padding = 1;
|
||||||
|
label-urgent = "%index%";
|
||||||
|
label-urgent-background = "\${colors.red}";
|
||||||
|
label-urgent-foreground = "\${colors.base}";
|
||||||
|
label-urgent-padding = 1;
|
||||||
|
};
|
||||||
|
"bar/centerbar" = {
|
||||||
|
"inherit" = "section/base";
|
||||||
|
modules-center = "mpd";
|
||||||
|
offset-x = "50%:-175";
|
||||||
|
width = 350;
|
||||||
|
};
|
||||||
|
"module/mpd".type = "internal/mpd";
|
||||||
|
"bar/rightbar" = {
|
||||||
|
"inherit" = "section/base";
|
||||||
|
modules-right = "xkeyboard cpu memory pulseaudio date";
|
||||||
|
offset-x = "100%:-460";
|
||||||
|
width = 450;
|
||||||
|
};
|
||||||
|
"module/xkeyboard" = {
|
||||||
|
type = "internal/xkeyboard";
|
||||||
|
format-foreground = "\${colors.maroon}";
|
||||||
|
format-padding = 1;
|
||||||
|
};
|
||||||
|
"module/cpu" = {
|
||||||
|
type = "internal/cpu";
|
||||||
|
format-foreground = "\${colors.green}";
|
||||||
|
format-padding = 1;
|
||||||
|
label = " %percentage%%";
|
||||||
|
};
|
||||||
|
"module/memory" = {
|
||||||
|
type = "internal/memory";
|
||||||
|
format-foreground = "\${colors.peach}";
|
||||||
|
format-padding = 1;
|
||||||
|
label = " %percentage_used%%";
|
||||||
|
};
|
||||||
|
"module/pulseaudio" = {
|
||||||
|
type = "internal/pulseaudio";
|
||||||
|
format-muted-background = "\${colors.red}";
|
||||||
|
format-muted-foreground = "\${colors.base}";
|
||||||
|
format-muted-padding = 1;
|
||||||
|
format-volume = "<ramp-volume> <label-volume>";
|
||||||
|
format-volume-foreground = "\${colors.sapphire}";
|
||||||
|
format-volume-padding = 1;
|
||||||
|
label-muted = "MUTED";
|
||||||
|
ramp-volume-0 = "";
|
||||||
|
ramp-volume-1 = "";
|
||||||
|
ramp-volume-2 = "";
|
||||||
|
};
|
||||||
|
"module/date" = {
|
||||||
|
type = "internal/date";
|
||||||
|
date = "%d";
|
||||||
|
date-alt = "%A";
|
||||||
|
time = "%H:%M";
|
||||||
|
format-foreground = "\${colors.yellow}";
|
||||||
|
format-padding = 1;
|
||||||
|
label = "%date% %time%";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
22
navi/navi/programs.nix
Normal file
22
navi/navi/programs.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
bat = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
paging = "never";
|
||||||
|
style = "numbers";
|
||||||
|
theme = "catppuccin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
zathura = {
|
||||||
|
enable = true;
|
||||||
|
options = {
|
||||||
|
font = "JetBrains Mono 8";
|
||||||
|
recolor = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
10
navi/navi/screen-lock.nix
Normal file
10
navi/navi/screen-lock.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.screen-locker = {
|
||||||
|
enable = true;
|
||||||
|
xautolock.detectSleep = true;
|
||||||
|
inactiveInterval = 15;
|
||||||
|
lockCmd = lib.getExe pkgs.xsecurelock;
|
||||||
|
};
|
||||||
|
}
|
||||||
6
navi/navi/services.nix
Normal file
6
navi/navi/services.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
8
navi/navi/shell.nix
Normal file
8
navi/navi/shell.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
8
navi/navi/ssh.nix
Normal file
8
navi/navi/ssh.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
hashKnownHosts = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
14
navi/navi/terminal.nix
Normal file
14
navi/navi/terminal.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
env.WINIT_X11_SCALE_FACTOR = "1";
|
||||||
|
font = {
|
||||||
|
normal.family = "Iosevka";
|
||||||
|
size = 14;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue