mirror of
https://github.com/eRgo35/nix-config.git
synced 2026-02-05 07:26:11 +01:00
Compare commits
119 Commits
cbfbe20592
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9b18c146ca | |||
| 7028adda9f | |||
| 716eaa17d4 | |||
| c6e3be2b21 | |||
| b41556e49e | |||
| d3de11cb35 | |||
| 99daf9c58a | |||
| e82bd4f4dc | |||
| c093d8ee00 | |||
| ca979091dc | |||
| bbb753d81d | |||
| 228f91da74 | |||
| a23e1dbe3c | |||
| 4b125c5802 | |||
| 3a8fa615f9 | |||
| 8a5f705a96 | |||
| a6a5876a23 | |||
| a1241fd833 | |||
| b1da20e832 | |||
| 9fa2da65f3 | |||
| 3aa43f8a07 | |||
| edc6aecb09 | |||
| 38c84946c5 | |||
| 11d3b28513 | |||
| e375c19c7d | |||
| e2886da8d6 | |||
| 1d68abb4c5 | |||
| 6189e52e4d | |||
| c57a67a6d0 | |||
| b7d8c84b4b | |||
| 3b2cbc6e04 | |||
| 7c030a594b | |||
| 6be617f26a | |||
| 70e2a7f007 | |||
| c893411fb8 | |||
| 4aab349158 | |||
| e0d676b63d | |||
| 8d0f158b98 | |||
| 85ed0392e9 | |||
| 2b48f21d59 | |||
| f966d071dc | |||
| 7a0c575b7e | |||
| d5e2fd9b52 | |||
| 0d2a1e8e5a | |||
| 589e5de4c9 | |||
| b2c70116a2 | |||
| 6ffe616413 | |||
| 0a39ffcfe8 | |||
| c68bca72fb | |||
| 8d9254286c | |||
| 7a9125551f | |||
| 9759690a12 | |||
| c59a154396 | |||
| 6670b3275a | |||
| 529ae42cbc | |||
| 0bb957fa2a | |||
| 7646c5e541 | |||
| a7db8b89fd | |||
| 64f426da76 | |||
| 802345c8eb | |||
| 05209efc31 | |||
| d0e2836e36 | |||
| 245276ad76 | |||
| c35cd3ee48 | |||
| ef36e6c289 | |||
| e2bf162c92 | |||
| 3cc7976d8e | |||
| 594dfa5aea | |||
| f33f6fe33a | |||
| 5358654237 | |||
| 04a5d87446 | |||
| fdd2570e87 | |||
| a3841b8c00 | |||
| 2619a635b3 | |||
| 233a967f75 | |||
| 618a5a2b55 | |||
| 0be65ea0ba | |||
| 89c162f8b7 | |||
| 8711006139 | |||
| 2b937eb25f | |||
| eb6ef3926e | |||
| 1565d96f71 | |||
| 4a7dbefca9 | |||
| 2034cde3e5 | |||
| 11773ca0c2 | |||
| 61fd9f1ba9 | |||
| 296e20fc70 | |||
| 43ea71f619 | |||
| 014cc94c37 | |||
| 49f4b87e74 | |||
| 6490d5669d | |||
| 6f5142bfc6 | |||
| 3d4b7910c0 | |||
| 371024a209 | |||
| e51e56069c | |||
| 8e40b3dc02 | |||
| 3b63a0873f | |||
| 6b8cec9963 | |||
| f57164d8e1 | |||
| dff3e8cd9e | |||
| 8f77d9894f | |||
| d7328f61f0 | |||
| 048e272fb6 | |||
| 9f80444506 | |||
| ca32d99d41 | |||
| 7ceec2ac09 | |||
| 2efc1ac3f4 | |||
| 33fa39628c | |||
| af171e26f9 | |||
| 90e06eb0ec | |||
| a551e28e24 | |||
| 9a63e0423e | |||
| 91d567d5a5 | |||
| 46dcd0753e | |||
| 942fdc8944 | |||
| ffab3aa91b | |||
| 3b6cbf4398 | |||
| 34e94621b8 | |||
| 720c05f9b0 |
1767
flake.lock
generated
1767
flake.lock
generated
File diff suppressed because it is too large
Load Diff
119
flake.nix
119
flake.nix
@@ -2,71 +2,79 @@
|
|||||||
description = "Mike's Flake";
|
description = "Mike's Flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# Nixpkgs
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||||
nixpkgs.url = "nixpkgs/nixos-23.11";
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
# You can access packages and modules from different nixpkgs revs
|
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||||
# at the same time. Here's an working example:
|
nur.url = "github:nix-community/NUR";
|
||||||
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
nix-alien.url = "github:thiagokokada/nix-alien";
|
||||||
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
|
zen-browser.url = "github:eRgo35/zen-browser-flake";
|
||||||
|
rosepine-kvantum.url = "github:eRgo35/RosePine-Kvantum";
|
||||||
|
|
||||||
# Home manager
|
hyprsunset.url = "github:hyprwm/hyprsunset";
|
||||||
home-manager = {
|
hyprsysteminfo.url = "github:/hyprwm/hyprsysteminfo";
|
||||||
url = "github:nix-community/home-manager/release-23.11";
|
hyprpolkitagent.url = "github:hyprwm/hyprpolkitagent";
|
||||||
|
|
||||||
|
rust-overlay = {
|
||||||
|
url = "github:oxalica/rust-overlay";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# TODO: Add any other flake you might need
|
|
||||||
# hardware.url = "github:nixos/nixos-hardware";
|
|
||||||
|
|
||||||
# Shameless plug: looking for a way to nixify your themes and make
|
|
||||||
# everything match nicely? Try nix-colors!
|
|
||||||
nix-colors.url = "github:misterio77/nix-colors";
|
|
||||||
|
|
||||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
|
||||||
|
|
||||||
nvim-flake = {
|
|
||||||
url = "github:Gerg-L/nvim-flake";
|
|
||||||
};
|
|
||||||
|
|
||||||
hyprland = {
|
hyprland = {
|
||||||
url = "github:hyprwm/hyprland";
|
type = "git";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
url = "https://github.com/hyprwm/Hyprland";
|
||||||
};
|
submodules = true;
|
||||||
|
|
||||||
hyprwm-contrib = {
|
|
||||||
url = "github:hyprwm/contrib";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprland-plugins = {
|
hyprland-plugins = {
|
||||||
url = "github:hyprwm/hyprland-plugins";
|
url = "github:hyprwm/hyprland-plugins";
|
||||||
inputs.hyprland.follows = "hyprland";
|
inputs.hyprland.follows = "hyprland";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
split-monitor-workspaces = {
|
||||||
|
url = "github:Duckonaut/split-monitor-workspaces";
|
||||||
|
inputs.hyprland.follows = "hyprland"; # <- make sure this line is present for the plugin to work as intended
|
||||||
|
};
|
||||||
|
|
||||||
|
lanzaboote = {
|
||||||
|
url = "github:nix-community/lanzaboote/v0.4.1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.pre-commit-hooks-nix.follows = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/release-24.11";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
spicetify-nix = {
|
||||||
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
url = "github:danth/stylix/release-24.11";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-unstable,
|
|
||||||
home-manager,
|
home-manager,
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
# Supported systems for your flake packages, shell, etc.
|
|
||||||
systems = [
|
systems = [
|
||||||
"aarch64-linux"
|
|
||||||
"i686-linux"
|
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
"aarch64-darwin"
|
"aarch64-linux"
|
||||||
"x86_64-darwin"
|
|
||||||
];
|
];
|
||||||
# This is a function that generates an attribute by calling a function you
|
|
||||||
# pass to it, with each system as an argument
|
|
||||||
forAllSystems = nixpkgs.lib.genAttrs systems;
|
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||||
in {
|
in {
|
||||||
# Your custom packages
|
# Your custom packages
|
||||||
# Accessible through 'nix build', 'nix shell', etc
|
# Accessible through 'nix build', 'nix shell', etc
|
||||||
# packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
|
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
|
||||||
# Formatter for your nix files, available through 'nix fmt'
|
# Formatter for your nix files, available through 'nix fmt'
|
||||||
# Other options beside 'alejandra' include 'nixpkgs-fmt'
|
# Other options beside 'alejandra' include 'nixpkgs-fmt'
|
||||||
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
|
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
|
||||||
@@ -81,40 +89,59 @@
|
|||||||
homeManagerModules = import ./modules/home-manager;
|
homeManagerModules = import ./modules/home-manager;
|
||||||
|
|
||||||
# NixOS configuration entrypoint
|
# NixOS configuration entrypoint
|
||||||
# Available through 'nixos-rebuild --flake .#hostname'
|
# Available through 'nixos-rebuild --flake .#your-hostname'
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
zion = nixpkgs.lib.nixosSystem {
|
zion = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
# > Main NixOS configuration file <
|
# > Our main nixos configuration file <
|
||||||
./hosts/zion/configuration.nix
|
./hosts/zion/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
thor = nixpkgs.lib.nixosSystem {
|
thor = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
# > Main NixOS configuration file <
|
# > Our main nixos configuration file <
|
||||||
./hosts/thor/configuration.nix
|
./hosts/thor/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
server = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {inherit inputs outputs;};
|
||||||
|
modules = [
|
||||||
|
# > Our main nixos configuration file <
|
||||||
|
./hosts/server/configuration.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Standalone home-manager configuration entrypoint
|
# Standalone home-manager configuration entrypoint
|
||||||
# Available through 'home-manager --flake .#username@hostname'
|
# Available through 'home-manager --flake .#your-username@your-hostname'
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
"mike@zion" = home-manager.lib.homeManagerConfiguration {
|
"mike@zion" = home-manager.lib.homeManagerConfiguration {
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # home-manager requires 'pkgs' instance
|
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||||
extraSpecialArgs = {inherit inputs outputs;};
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
# > Main home-manager configuration file <
|
# > Our main home-manager configuration file <
|
||||||
./home-manager/home.nix
|
./home-manager/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
"mike@thor" = home-manager.lib.homeManagerConfiguration {
|
"mike@thor" = home-manager.lib.homeManagerConfiguration {
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # home-manager requires 'pkgs' instance
|
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||||
extraSpecialArgs = {inherit inputs outputs;};
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
# > Main home-manager configuration file <
|
# > Our main home-manager configuration file <
|
||||||
|
./home-manager/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"mike@server" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||||
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
|
modules = [
|
||||||
|
# > Our main home-manager configuration file <
|
||||||
./home-manager/home.nix
|
./home-manager/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -18,7 +18,6 @@
|
|||||||
lsd = "eza -laD";
|
lsd = "eza -laD";
|
||||||
|
|
||||||
cls = "clear";
|
cls = "clear";
|
||||||
# df="df -ahiT --total";
|
|
||||||
userlist = "cut -d: -f1 /etc/passwd";
|
userlist = "cut -d: -f1 /etc/passwd";
|
||||||
free = "free -mt";
|
free = "free -mt";
|
||||||
du = "du -ach | sort -h";
|
du = "du -ach | sort -h";
|
||||||
@@ -27,7 +26,7 @@
|
|||||||
sudo = "sudo ";
|
sudo = "sudo ";
|
||||||
reload = "exec $SHELL -l";
|
reload = "exec $SHELL -l";
|
||||||
|
|
||||||
xclip = "xclip -selection c";
|
hibernate = "systemctl hibernate";
|
||||||
|
|
||||||
mkdir = "mkdir -pv";
|
mkdir = "mkdir -pv";
|
||||||
psmem = "ps -e -orss=,args= | sort -b -k1 -nr";
|
psmem = "ps -e -orss=,args= | sort -b -k1 -nr";
|
||||||
@@ -35,6 +34,32 @@
|
|||||||
pscpu = "ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr";
|
pscpu = "ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr";
|
||||||
pscpu10 = "ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr | head -10";
|
pscpu10 = "ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr | head -10";
|
||||||
|
|
||||||
|
xclip = "xclip -selection c";
|
||||||
|
|
||||||
gua = "git remote | xargs -L1 git push --all";
|
gua = "git remote | xargs -L1 git push --all";
|
||||||
|
|
||||||
|
fetch = "fastfetch";
|
||||||
|
rebuild = "nh os switch";
|
||||||
|
update = "nh os switch --update";
|
||||||
|
garbage = "nh clean all && sudo bootctl cleanup ";
|
||||||
|
|
||||||
|
hxd = "hx ~/.files/";
|
||||||
|
hxc = "hx ~/code/";
|
||||||
|
|
||||||
|
lr = "eza -R";
|
||||||
|
tree = "eza -T";
|
||||||
|
|
||||||
|
startupctl = "systemctl list-unit-files --type=service | grep enabled";
|
||||||
|
|
||||||
|
ga = "git add .";
|
||||||
|
gap = "git add -p";
|
||||||
|
gc = "git commit -m";
|
||||||
|
gu = "git push";
|
||||||
|
gp = "git pull";
|
||||||
|
gs = "git status";
|
||||||
|
gd = "git diff";
|
||||||
|
|
||||||
|
vim = "nvim";
|
||||||
|
vi = "nvim";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
7
home-manager/configs/keys.nix
Normal file
7
home-manager/configs/keys.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{lib}: {
|
||||||
|
options.local.keys = lib.mkOption {};
|
||||||
|
|
||||||
|
config.local.keys = {
|
||||||
|
senpai = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBehbdWBTyhs8Tqnc7w172XhWcPAcAM6BC9Gny3i8An";
|
||||||
|
};
|
||||||
|
}
|
||||||
135
home-manager/configs/rose-pine.rasi
Normal file
135
home-manager/configs/rose-pine.rasi
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
@import "default"
|
||||||
|
|
||||||
|
* {
|
||||||
|
bg: #191724;
|
||||||
|
cur: #1f1d2e;
|
||||||
|
fgd: #e0def4;
|
||||||
|
cmt: #6e6a86;
|
||||||
|
cya: #9ccfd8;
|
||||||
|
grn: #31748f;
|
||||||
|
ora: #ebbcba;
|
||||||
|
pur: #c4a7e7;
|
||||||
|
red: #eb6f92;
|
||||||
|
yel: #f6c177;
|
||||||
|
|
||||||
|
font: "Cartograph CF 12";
|
||||||
|
|
||||||
|
foreground: @fgd;
|
||||||
|
background: @bg;
|
||||||
|
active-background: @grn;
|
||||||
|
urgent-background: @red;
|
||||||
|
|
||||||
|
selected-background: @active-background;
|
||||||
|
selected-urgent-background: @urgent-background;
|
||||||
|
selected-active-background: @active-background;
|
||||||
|
separatorcolor: @active-background;
|
||||||
|
bordercolor: @ora;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
background-color: @background;
|
||||||
|
border: 3;
|
||||||
|
border-radius: 6;
|
||||||
|
border-color: @bordercolor;
|
||||||
|
padding: 5;
|
||||||
|
}
|
||||||
|
#mainbox {
|
||||||
|
border: 0;
|
||||||
|
padding: 5;
|
||||||
|
}
|
||||||
|
#message {
|
||||||
|
border: 1px dash 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
#textbox {
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#listview {
|
||||||
|
fixed-height: 0;
|
||||||
|
border: 2px dash 0px 0px ;
|
||||||
|
border-color: @bordercolor;
|
||||||
|
spacing: 2px ;
|
||||||
|
scrollbar: false;
|
||||||
|
padding: 2px 0px 0px ;
|
||||||
|
}
|
||||||
|
#element {
|
||||||
|
border: 0;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
#element.normal.normal {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#element.normal.urgent {
|
||||||
|
background-color: @urgent-background;
|
||||||
|
text-color: @urgent-foreground;
|
||||||
|
}
|
||||||
|
#element.normal.active {
|
||||||
|
background-color: @active-background;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
#element.selected.normal {
|
||||||
|
background-color: @selected-background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#element.selected.urgent {
|
||||||
|
background-color: @selected-urgent-background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#element.selected.active {
|
||||||
|
background-color: @selected-active-background;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
#element.alternate.normal {
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#element.alternate.urgent {
|
||||||
|
background-color: @urgent-background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#element.alternate.active {
|
||||||
|
background-color: @active-background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#scrollbar {
|
||||||
|
width: 2px ;
|
||||||
|
border: 0;
|
||||||
|
handle-width: 8px ;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
#sidebar {
|
||||||
|
border: 2px dash 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
}
|
||||||
|
#button.selected {
|
||||||
|
background-color: @selected-background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#inputbar {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @foreground;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
#case-indicator {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#entry {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @cya;
|
||||||
|
}
|
||||||
|
#prompt {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @grn;
|
||||||
|
}
|
||||||
|
#inputbar {
|
||||||
|
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||||
|
}
|
||||||
|
#textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: ":";
|
||||||
|
margin: 0px 0.3em 0em 0em;
|
||||||
|
text-color: @grn;
|
||||||
|
}
|
||||||
491
home-manager/configs/rosepine-kvantum/rosepine-kvantum.kvconfig
Normal file
491
home-manager/configs/rosepine-kvantum/rosepine-kvantum.kvconfig
Normal file
@@ -0,0 +1,491 @@
|
|||||||
|
[%General]
|
||||||
|
author=Sourav Gope
|
||||||
|
comment=rosepine kvantum theme
|
||||||
|
x11drag=menubar_and_primary_toolbar
|
||||||
|
alt_mnemonic=true
|
||||||
|
left_tabs=true
|
||||||
|
attach_active_tab=true
|
||||||
|
mirror_doc_tabs=true
|
||||||
|
group_toolbar_buttons=false
|
||||||
|
toolbar_item_spacing=1
|
||||||
|
toolbar_interior_spacing=3
|
||||||
|
spread_progressbar=true
|
||||||
|
composite=true
|
||||||
|
menu_shadow_depth=5
|
||||||
|
menu_separator_height=6
|
||||||
|
tooltip_shadow_depth=6
|
||||||
|
splitter_width=4
|
||||||
|
scroll_width=6
|
||||||
|
scroll_arrows=false
|
||||||
|
scroll_min_extent=60
|
||||||
|
slider_width=2
|
||||||
|
slider_handle_width=18
|
||||||
|
slider_handle_length=18
|
||||||
|
center_toolbar_handle=true
|
||||||
|
check_size=14
|
||||||
|
textless_progressbar=false
|
||||||
|
progressbar_thickness=2
|
||||||
|
menubar_mouse_tracking=true
|
||||||
|
toolbutton_style=1
|
||||||
|
double_click=false
|
||||||
|
translucent_windows=true
|
||||||
|
blurring=true
|
||||||
|
popup_blurring=true
|
||||||
|
vertical_spin_indicators=false
|
||||||
|
spin_button_width=32
|
||||||
|
fill_rubberband=false
|
||||||
|
merge_menubar_with_toolbar=true
|
||||||
|
small_icon_size=16
|
||||||
|
large_icon_size=32
|
||||||
|
button_icon_size=16
|
||||||
|
toolbar_icon_size=22
|
||||||
|
combo_as_lineedit=true
|
||||||
|
animate_states=false
|
||||||
|
button_contents_shift=false
|
||||||
|
combo_menu=true
|
||||||
|
hide_combo_checkboxes=true
|
||||||
|
combo_focus_rect=true
|
||||||
|
groupbox_top_label=true
|
||||||
|
inline_spin_indicators=false
|
||||||
|
joined_inactive_tabs=false
|
||||||
|
layout_spacing=6
|
||||||
|
layout_margin=9
|
||||||
|
scrollbar_in_view=true
|
||||||
|
transient_scrollbar=true
|
||||||
|
transient_groove=false
|
||||||
|
submenu_overlap=0
|
||||||
|
tooltip_delay=-1
|
||||||
|
tree_branch_line=true
|
||||||
|
dark_titlebar=true
|
||||||
|
opaque=QMPlay2,kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam
|
||||||
|
reduce_window_opacity=18
|
||||||
|
scrollable_menu=false
|
||||||
|
submenu_delay=250
|
||||||
|
no_inactiveness=false
|
||||||
|
no_window_pattern=false
|
||||||
|
reduce_menu_opacity=0
|
||||||
|
respect_DE=true
|
||||||
|
contrast=1.00
|
||||||
|
dialog_button_layout=0
|
||||||
|
intensity=1.00
|
||||||
|
saturation=1.00
|
||||||
|
|
||||||
|
[GeneralColors]
|
||||||
|
window.color=#26233a
|
||||||
|
base.color=#26233a
|
||||||
|
alt.base.color=#1f1d2e
|
||||||
|
button.color=#3c4454
|
||||||
|
light.color=#1f1d2e
|
||||||
|
mid.light.color=#1f1d2e
|
||||||
|
dark.color=#1f1d2e
|
||||||
|
mid.color=#1f1d2e
|
||||||
|
highlight.color=#524f67
|
||||||
|
inactive.highlight.color=#1f1d2e
|
||||||
|
text.color=#e0def4
|
||||||
|
window.text.color=#e0def4
|
||||||
|
button.text.color=#e0def4
|
||||||
|
disabled.text.color=#e0def4
|
||||||
|
tooltip.text.color=#e0def4
|
||||||
|
highlight.text.color=#e0def4
|
||||||
|
link.color=#9ccfd8
|
||||||
|
link.visited.color=#31748f
|
||||||
|
progress.indicator.text.color=#e0def4
|
||||||
|
|
||||||
|
[Hacks]
|
||||||
|
transparent_ktitle_label=true
|
||||||
|
transparent_dolphin_view=true
|
||||||
|
transparent_pcmanfm_sidepane=true
|
||||||
|
blur_translucent=true
|
||||||
|
transparent_menutitle=true
|
||||||
|
respect_darkness=true
|
||||||
|
kcapacitybar_as_progressbar=true
|
||||||
|
force_size_grip=true
|
||||||
|
iconless_pushbutton=false
|
||||||
|
iconless_menu=false
|
||||||
|
disabled_icon_opacity=70
|
||||||
|
lxqtmainmenu_iconsize=22
|
||||||
|
normal_default_pushbutton=true
|
||||||
|
single_top_toolbar=true
|
||||||
|
tint_on_mouseover=0
|
||||||
|
transparent_pcmanfm_view=true
|
||||||
|
middle_click_scroll=false
|
||||||
|
no_selection_tint=false
|
||||||
|
opaque_colors=false
|
||||||
|
scroll_jump_workaround=false
|
||||||
|
|
||||||
|
[PanelButtonCommand]
|
||||||
|
frame=true
|
||||||
|
frame.element=button
|
||||||
|
frame.top=3
|
||||||
|
frame.bottom=3
|
||||||
|
frame.left=3
|
||||||
|
frame.right=3
|
||||||
|
interior=true
|
||||||
|
interior.element=button
|
||||||
|
indicator.size=8
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#e0def4
|
||||||
|
text.press.color=#e0def4
|
||||||
|
text.toggle.color=#e0def4
|
||||||
|
text.shadow=0
|
||||||
|
text.margin=1
|
||||||
|
text.iconspacing=4
|
||||||
|
indicator.element=arrow
|
||||||
|
text.margin.top=2
|
||||||
|
text.margin.bottom=2
|
||||||
|
text.margin.left=2
|
||||||
|
text.margin.right=2
|
||||||
|
min_width=+0.3font
|
||||||
|
min_height=+0.3font
|
||||||
|
frame.expansion=6
|
||||||
|
|
||||||
|
[PanelButtonTool]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
|
||||||
|
[Dock]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=dock
|
||||||
|
frame.element=dock
|
||||||
|
frame.top=1
|
||||||
|
frame.bottom=1
|
||||||
|
frame.left=1
|
||||||
|
frame.right=1
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
|
||||||
|
[DockTitle]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=false
|
||||||
|
interior=false
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#c8c8ca
|
||||||
|
text.bold=false
|
||||||
|
|
||||||
|
[IndicatorSpinBox]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=true
|
||||||
|
interior=true
|
||||||
|
frame.left=1
|
||||||
|
indicator.element=spin
|
||||||
|
indicator.size=10
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
|
||||||
|
[RadioButton]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=false
|
||||||
|
interior.element=radio
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#908caa
|
||||||
|
|
||||||
|
[CheckBox]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=false
|
||||||
|
interior.element=checkbox
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#908caa
|
||||||
|
|
||||||
|
[Focus]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=true
|
||||||
|
frame.element=focus
|
||||||
|
frame.top=1
|
||||||
|
frame.bottom=1
|
||||||
|
frame.left=1
|
||||||
|
frame.right=1
|
||||||
|
frame.patternsize=20
|
||||||
|
|
||||||
|
[GenericFrame]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=true
|
||||||
|
interior=false
|
||||||
|
frame.element=common
|
||||||
|
interior.element=common
|
||||||
|
frame.top=1
|
||||||
|
frame.bottom=1
|
||||||
|
frame.left=1
|
||||||
|
frame.right=1
|
||||||
|
|
||||||
|
[LineEdit]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=lineedit
|
||||||
|
interior.element=lineedit
|
||||||
|
text.margin.left=0
|
||||||
|
text.margin.right=0
|
||||||
|
|
||||||
|
[DropDownButton]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
indicator.element=arrow-down
|
||||||
|
|
||||||
|
[IndicatorArrow]
|
||||||
|
indicator.element=arrow
|
||||||
|
indicator.size=8
|
||||||
|
|
||||||
|
[ToolboxTab]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#908caa
|
||||||
|
text.press.color=#908caa
|
||||||
|
|
||||||
|
[Tab]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=tab
|
||||||
|
text.margin.left=8
|
||||||
|
text.margin.right=8
|
||||||
|
text.margin.top=2
|
||||||
|
text.margin.bottom=2
|
||||||
|
frame.element=tab
|
||||||
|
indicator.element=tab
|
||||||
|
frame.top=4
|
||||||
|
frame.bottom=4
|
||||||
|
frame.left=4
|
||||||
|
frame.right=4
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#e0def4
|
||||||
|
text.toggle.color=#e0def4
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[TabFrame]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=tabframe
|
||||||
|
interior.element=tabframe
|
||||||
|
frame.top=4
|
||||||
|
frame.bottom=4
|
||||||
|
frame.left=4
|
||||||
|
frame.right=4
|
||||||
|
|
||||||
|
[TreeExpander]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
indicator.size=12
|
||||||
|
indicator.element=tree
|
||||||
|
|
||||||
|
[HeaderSection]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=header
|
||||||
|
frame.element=header
|
||||||
|
frame.top=1
|
||||||
|
frame.bottom=1
|
||||||
|
frame.left=1
|
||||||
|
frame.right=1
|
||||||
|
text.bold=false
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#908caa
|
||||||
|
text.press.color=#e0def4
|
||||||
|
text.toggle.color=#e0def4
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[SizeGrip]
|
||||||
|
indicator.element=resize-grip
|
||||||
|
|
||||||
|
[Toolbar]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
indicator.element=toolbar
|
||||||
|
indicator.size=5
|
||||||
|
text.margin=0
|
||||||
|
frame=true
|
||||||
|
interior.element=menubar
|
||||||
|
frame.element=menubar
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#908caa
|
||||||
|
frame.left=0
|
||||||
|
frame.right=0
|
||||||
|
frame.top=0
|
||||||
|
frame.bottom=1
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[Slider]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=slider
|
||||||
|
interior.element=slider
|
||||||
|
frame.top=3
|
||||||
|
frame.bottom=3
|
||||||
|
frame.left=3
|
||||||
|
frame.right=3
|
||||||
|
|
||||||
|
[SliderCursor]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=false
|
||||||
|
interior.element=slidercursor
|
||||||
|
|
||||||
|
[Progressbar]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=progress
|
||||||
|
interior.element=progress
|
||||||
|
text.margin=0
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#e0def4
|
||||||
|
text.press.color=#e0def4
|
||||||
|
text.toggle.color=#e0def4
|
||||||
|
text.bold=false
|
||||||
|
frame.expansion=8
|
||||||
|
|
||||||
|
[ProgressbarContents]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=true
|
||||||
|
frame.element=progress-pattern
|
||||||
|
interior.element=progress-pattern
|
||||||
|
|
||||||
|
[ItemView]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
text.margin=0
|
||||||
|
frame.element=itemview
|
||||||
|
interior.element=itemview
|
||||||
|
frame.top=2
|
||||||
|
frame.bottom=2
|
||||||
|
frame.left=2
|
||||||
|
frame.right=2
|
||||||
|
text.margin.top=2
|
||||||
|
text.margin.bottom=2
|
||||||
|
text.margin.left=4
|
||||||
|
text.margin.right=4
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#e0def4
|
||||||
|
text.press.color=#e0def4
|
||||||
|
text.toggle.color=#e0def4
|
||||||
|
min_width=+0.3font
|
||||||
|
min_height=+0.3font
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[Splitter]
|
||||||
|
indicator.size=48
|
||||||
|
|
||||||
|
[Scrollbar]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
indicator.element=arrow
|
||||||
|
indicator.size=8
|
||||||
|
|
||||||
|
[ScrollbarSlider]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=scrollbarslider
|
||||||
|
interior=true
|
||||||
|
frame=false
|
||||||
|
frame.expansion=48
|
||||||
|
|
||||||
|
[ScrollbarGroove]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=scrollbargroove
|
||||||
|
interior=true
|
||||||
|
frame=false
|
||||||
|
frame.expansion=48
|
||||||
|
|
||||||
|
[MenuItem]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=true
|
||||||
|
frame.element=menuitem
|
||||||
|
interior.element=menuitem
|
||||||
|
indicator.element=menuitem
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#e0def4
|
||||||
|
text.margin.top=1
|
||||||
|
text.margin.bottom=1
|
||||||
|
text.margin.left=4
|
||||||
|
text.margin.right=4
|
||||||
|
frame.top=3
|
||||||
|
frame.bottom=3
|
||||||
|
frame.left=3
|
||||||
|
frame.right=3
|
||||||
|
text.bold=false
|
||||||
|
min_width=+0.3font
|
||||||
|
min_height=+0.3font
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[MenuBar]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=menubar
|
||||||
|
interior.element=menubar
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
frame.bottom=0
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[MenuBarItem]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior=true
|
||||||
|
interior.element=menubaritem
|
||||||
|
frame.element=menubaritem
|
||||||
|
frame.top=2
|
||||||
|
frame.bottom=2
|
||||||
|
frame.left=2
|
||||||
|
frame.right=2
|
||||||
|
text.margin.left=4
|
||||||
|
text.margin.right=4
|
||||||
|
text.margin.top=0
|
||||||
|
text.margin.bottom=0
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#e0def4
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[TitleBar]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=false
|
||||||
|
text.margin.top=2
|
||||||
|
text.margin.bottom=2
|
||||||
|
text.margin.left=2
|
||||||
|
text.margin.right=2
|
||||||
|
interior.element=titlebar
|
||||||
|
indicator.size=16
|
||||||
|
indicator.element=mdi
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#e0def4
|
||||||
|
text.bold=true
|
||||||
|
text.italic=false
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[ComboBox]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=combo
|
||||||
|
frame.element=combo
|
||||||
|
text.press.color=#e0def4
|
||||||
|
indicator.element=carrow
|
||||||
|
|
||||||
|
[Menu]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.top=1
|
||||||
|
frame.bottom=1
|
||||||
|
frame.left=1
|
||||||
|
frame.right=1
|
||||||
|
frame.element=menu
|
||||||
|
interior.element=menu
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.shadow=false
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[GroupBox]
|
||||||
|
inherits=GenericFrame
|
||||||
|
frame=false
|
||||||
|
text.shadow=0
|
||||||
|
text.margin=0
|
||||||
|
text.normal.color=#e0def4
|
||||||
|
text.focus.color=#e0def4
|
||||||
|
text.bold=true
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[TabBarFrame]
|
||||||
|
inherits=GenericFrame
|
||||||
|
frame=true
|
||||||
|
frame.element=tabBarFrame
|
||||||
|
interior=false
|
||||||
|
frame.top=4
|
||||||
|
frame.bottom=4
|
||||||
|
frame.left=4
|
||||||
|
frame.right=4
|
||||||
|
|
||||||
|
[ToolTip]
|
||||||
|
inherits=GenericFrame
|
||||||
|
frame.top=3
|
||||||
|
frame.bottom=3
|
||||||
|
frame.left=3
|
||||||
|
frame.right=3
|
||||||
|
interior=true
|
||||||
|
text.shadow=0
|
||||||
|
text.margin=0
|
||||||
|
interior.element=tooltip
|
||||||
|
frame.element=tooltip
|
||||||
|
frame.expansion=0
|
||||||
|
|
||||||
|
[StatusBar]
|
||||||
|
inherits=GenericFrame
|
||||||
|
frame=false
|
||||||
|
interior=false
|
||||||
|
interior=false
|
||||||
|
|
||||||
|
[Window]
|
||||||
|
interior=true
|
||||||
|
interior.element=window
|
||||||
6799
home-manager/configs/rosepine-kvantum/rosepine-kvantum.svg
Normal file
6799
home-manager/configs/rosepine-kvantum/rosepine-kvantum.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 226 KiB |
48
home-manager/features/desktop/dwm/.xinitrc → home-manager/dwm/.xinitrc
Executable file → Normal file
48
home-manager/features/desktop/dwm/.xinitrc → home-manager/dwm/.xinitrc
Executable file → Normal file
@@ -68,10 +68,48 @@ setxkbmap pl &
|
|||||||
# xset s on &
|
# xset s on &
|
||||||
# xset -dpms &
|
# xset -dpms &
|
||||||
# xset s 900 &
|
# xset s 900 &
|
||||||
xset +dpms &
|
# Host-specific rules
|
||||||
xset dpms 1200 1800 2100 &
|
if [ "$(hostname)" = "zion" ]; then
|
||||||
xset s on &
|
# Zion rules (Desktop)
|
||||||
xset s 900 &
|
# Enable DPMS and set longer timeouts for desktop
|
||||||
|
# xset +dpms
|
||||||
|
# xset dpms 1200 2400 3600 # Standby: 20 min, Suspend: 40 min, Off: 60 min
|
||||||
|
|
||||||
|
# Enable screen blanking and set timeout to 20 minutes
|
||||||
|
# xset s on
|
||||||
|
xset s off
|
||||||
|
xset s noblank
|
||||||
|
xset -dpms
|
||||||
|
# xset s 1200
|
||||||
|
|
||||||
|
xidlehook \
|
||||||
|
--socket /tmp/xidlehook.sock \
|
||||||
|
--not-when-fullscreen \
|
||||||
|
--not-when-audio \
|
||||||
|
--timer 600 "xset dpms force standby" "" \
|
||||||
|
--timer 1800 "xset dpms force suspend" "" \
|
||||||
|
--timer 3600 "xset dpms force off" "" &
|
||||||
|
|
||||||
|
elif [ "$(hostname)" = "thor" ]; then
|
||||||
|
# Thor rules (Laptop)
|
||||||
|
# Enable DPMS and set shorter timeouts for laptop
|
||||||
|
# xset +dpms
|
||||||
|
# xset dpms 300 600 900 # Standby: 5 min, Suspend: 10 min, Off: 15 min
|
||||||
|
|
||||||
|
# Enable screen blanking and set timeout to 10 minutes
|
||||||
|
# xset s on
|
||||||
|
# xset s 600
|
||||||
|
|
||||||
|
# Laptop-specific xidlehook rules
|
||||||
|
xidlehook \
|
||||||
|
--socket /tmp/xidlehook.sock
|
||||||
|
--not-when-fullscreen \
|
||||||
|
--not-when-audio \
|
||||||
|
--timer 450 "brightnessctl -s set 5%" "brightnessctl -s set 100%" \
|
||||||
|
--timer 600 "loginctl lock-session" "" \
|
||||||
|
--timer 750 "xset dpms force standby" "" \
|
||||||
|
--timer 900 "systemctl suspend" "" &
|
||||||
|
fi
|
||||||
|
|
||||||
# auths
|
# auths
|
||||||
# /usr/lib/mate-polkit/polkit-mate-authentication-agent-1 &
|
# /usr/lib/mate-polkit/polkit-mate-authentication-agent-1 &
|
||||||
@@ -126,7 +164,7 @@ flameshot &
|
|||||||
#hash dockd && dockd --daemon &
|
#hash dockd && dockd --daemon &
|
||||||
|
|
||||||
# status bar
|
# status bar
|
||||||
bash bar.sh & disown
|
bash $HOME/.config/bar.sh & disown
|
||||||
|
|
||||||
dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
|
dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
|
||||||
|
|
||||||
136
home-manager/dwm/bar.sh
Executable file
136
home-manager/dwm/bar.sh
Executable file
@@ -0,0 +1,136 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Rosé Pine color palette
|
||||||
|
BASE=#191724
|
||||||
|
SURFACE=#1f1d2e
|
||||||
|
OVERLAY=#26233a
|
||||||
|
|
||||||
|
MUTED=#6e6a86
|
||||||
|
SUBTLE=#908caa
|
||||||
|
TEXT=#e0def4
|
||||||
|
|
||||||
|
LOVE=#eb6f92
|
||||||
|
GOLD=#f6c177
|
||||||
|
ROSE=#ebbcba
|
||||||
|
PINE=#31748f
|
||||||
|
FOAM=#9ccfd8
|
||||||
|
IRIS=#c4a7e7
|
||||||
|
|
||||||
|
HIGHLIGHT_LOW=#21202e
|
||||||
|
HIGHLIGHT_MED=#403d52
|
||||||
|
HIGHLIGHT_HIGH=#524f67
|
||||||
|
|
||||||
|
# Function to get CPU usage
|
||||||
|
get_cpu_usage() {
|
||||||
|
cpu_usage=$(awk '{u=$2+$4; t=$2+$4+$5; if (NR==1){u1=u; t1=t;} else print int(($2+$4-u1) * 100 / (t-t1)); }' \
|
||||||
|
<(grep 'cpu ' /proc/stat) <(sleep 1; grep 'cpu ' /proc/stat))
|
||||||
|
|
||||||
|
echo "^c$FOAM^CPU: $cpu_usage%"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to get memory usage
|
||||||
|
get_memory_usage() {
|
||||||
|
# Extract used and total memory in kilobytes
|
||||||
|
mem_info=$(free -k | awk '/^Mem:/ {print $3, $2}')
|
||||||
|
used_mem=$(echo $mem_info | awk '{print $1}')
|
||||||
|
total_mem=$(echo $mem_info | awk '{print $2}')
|
||||||
|
|
||||||
|
# Calculate memory usage percentage
|
||||||
|
mem_percent=$(awk "BEGIN {printf \"%.0f%%\", ($used_mem / $total_mem) * 100}")
|
||||||
|
|
||||||
|
# Output the result with color
|
||||||
|
echo "^c$IRIS^MEM: $mem_percent"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to get volume level
|
||||||
|
get_volume() {
|
||||||
|
# Get the default sink (output device) and its volume/mute status
|
||||||
|
default_sink=$(pactl get-default-sink)
|
||||||
|
volume=$(pactl get-sink-volume $default_sink | grep -o '[0-9]*%' | head -1)
|
||||||
|
is_muted=$(pactl get-sink-mute $default_sink | grep -o 'yes\|no')
|
||||||
|
|
||||||
|
# Replace "yes" with "MUT" and "no" with the volume level
|
||||||
|
if [ "$is_muted" = "yes" ]; then
|
||||||
|
volume="MUT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the default source (input device) and its volume/mute status
|
||||||
|
default_source=$(pactl get-default-source)
|
||||||
|
mic_level=$(pactl get-source-volume $default_source | grep -o '[0-9]*%' | head -1)
|
||||||
|
is_mic_muted=$(pactl get-source-mute $default_source | grep -o 'yes\|no')
|
||||||
|
|
||||||
|
# Replace "yes" with "MUT" and "no" with the microphone level
|
||||||
|
if [ "$is_mic_muted" = "yes" ]; then
|
||||||
|
mic_level="MUT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Output the results with colors
|
||||||
|
echo "^c$PINE^VOL: $volume MIC: $mic_level"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to get brightness percentage
|
||||||
|
get_brightness() {
|
||||||
|
# Get the current brightness level (adjust path if needed)
|
||||||
|
brightness=$(cat /sys/class/backlight/intel_backlight/brightness)
|
||||||
|
max_brightness=$(cat /sys/class/backlight/intel_backlight/max_brightness)
|
||||||
|
|
||||||
|
# Calculate brightness percentage
|
||||||
|
brightness_percent=$(awk "BEGIN {printf \"%.0f%%\", ($brightness / $max_brightness) * 100}")
|
||||||
|
|
||||||
|
# Output the result with color
|
||||||
|
echo "^c$ROSE^BRT: $brightness_percent"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to get weighted average battery level
|
||||||
|
get_battery_level() {
|
||||||
|
# Get battery levels (adjust paths if needed)
|
||||||
|
battery0_level=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||||
|
battery1_level=$(cat /sys/class/power_supply/BAT1/capacity)
|
||||||
|
|
||||||
|
battery0_energy_full=$(cat /sys/class/power_supply/BAT0/energy_full)
|
||||||
|
battery1_energy_full=$(cat /sys/class/power_supply/BAT1/energy_full)
|
||||||
|
|
||||||
|
# Calculate weights based on energy capacity
|
||||||
|
weight0=$(awk "BEGIN {printf \"%.2f\", $battery0_energy_full / ($battery0_energy_full + $battery1_energy_full)}")
|
||||||
|
weight1=$(awk "BEGIN {printf \"%.2f\", $battery1_energy_full / ($battery0_energy_full + $battery1_energy_full)}")
|
||||||
|
|
||||||
|
# Calculate weighted average
|
||||||
|
weighted_avg=$(awk "BEGIN {printf \"%.0f%%\", ($battery0_level * $weight0 + $battery1_level * $weight1)}")
|
||||||
|
|
||||||
|
# Output the result with color
|
||||||
|
echo "^c$LOVE^BAT: $weighted_avg"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to get date and time in American 12-hour format
|
||||||
|
get_datetime() {
|
||||||
|
datetime=$(date +"%a %d %b %I:%M %p")
|
||||||
|
echo "^c$GOLD^$datetime"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to detect if the system is a laptop
|
||||||
|
is_laptop() {
|
||||||
|
# Check if battery and brightness files exist
|
||||||
|
if [ -d /sys/class/power_supply/BAT0 ] && [ -d /sys/class/backlight/intel_backlight ]; then
|
||||||
|
return 0 # Laptop
|
||||||
|
else
|
||||||
|
return 1 # PC
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main loop to update xsetroot
|
||||||
|
while true; do
|
||||||
|
# Combine all status components
|
||||||
|
if is_laptop; then
|
||||||
|
# Include battery and brightness for laptops
|
||||||
|
status="$(get_volume) ^c$TEXT^| $(get_cpu_usage) ^c$TEXT^| $(get_memory_usage) ^c$TEXT^| $(get_brightness) ^c$TEXT^| $(get_battery_level) ^c$TEXT^| $(get_datetime)"
|
||||||
|
else
|
||||||
|
# Exclude battery and brightness for PCs
|
||||||
|
status="$(get_volume) ^c$TEXT^| $(get_cpu_usage) ^c$TEXT^| $(get_memory_usage) ^c$TEXT^| $(get_datetime)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update the root window name with a darker background
|
||||||
|
xsetroot -name "$status"
|
||||||
|
|
||||||
|
# Sleep for 250 milis before updating
|
||||||
|
sleep 0.25
|
||||||
|
done
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
services.betterlockscreen = {
|
services.betterlockscreen = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.unstable.betterlockscreen;
|
package = pkgs.betterlockscreen;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -6,11 +6,11 @@
|
|||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./picom.nix
|
./picom.nix
|
||||||
./rofi.nix
|
# ./rofi.nix
|
||||||
./flameshot.nix
|
./flameshot.nix
|
||||||
./betterlockscreen.nix
|
./betterlockscreen.nix
|
||||||
./easyeffects.nix
|
./easyeffects.nix
|
||||||
./theming.nix
|
# ./theming.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -33,11 +33,14 @@
|
|||||||
xorg.xinit
|
xorg.xinit
|
||||||
xorg.xinput
|
xorg.xinput
|
||||||
brightnessctl
|
brightnessctl
|
||||||
|
playerctl
|
||||||
|
qt6ct
|
||||||
|
xautolock
|
||||||
xclip
|
xclip
|
||||||
# gnome.gnome-keyring
|
# gnome.gnome-keyring
|
||||||
feh
|
feh
|
||||||
alsaUtils
|
alsa-utils
|
||||||
cinnamon.nemo
|
nemo
|
||||||
pulseaudioFull
|
pulseaudioFull
|
||||||
arandr
|
arandr
|
||||||
neomutt
|
neomutt
|
||||||
@@ -52,18 +55,11 @@
|
|||||||
eww
|
eww
|
||||||
fontconfig
|
fontconfig
|
||||||
freetype
|
freetype
|
||||||
fuse-common
|
|
||||||
gimp
|
|
||||||
gnugrep
|
gnugrep
|
||||||
gnumake
|
|
||||||
gparted
|
gparted
|
||||||
nfs-utils
|
nfs-utils
|
||||||
ninja
|
|
||||||
nodejs
|
|
||||||
openssl
|
openssl
|
||||||
nerdfonts
|
|
||||||
polkit_gnome
|
polkit_gnome
|
||||||
qemu
|
|
||||||
ripgrep
|
ripgrep
|
||||||
stdenv
|
stdenv
|
||||||
tldr
|
tldr
|
||||||
@@ -71,6 +67,7 @@
|
|||||||
virt-manager
|
virt-manager
|
||||||
xfce.thunar
|
xfce.thunar
|
||||||
dconf
|
dconf
|
||||||
|
xidlehook
|
||||||
];
|
];
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
@@ -80,8 +77,8 @@
|
|||||||
".zprofile" = {
|
".zprofile" = {
|
||||||
source = ./.zprofile;
|
source = ./.zprofile;
|
||||||
};
|
};
|
||||||
".config/picom/black_to_transparent.frag" = {
|
".config/bar.sh" = {
|
||||||
source = ./black_to_transparent.frag;
|
source = ./bar.sh;
|
||||||
};
|
};
|
||||||
# ".Xresources" = {
|
# ".Xresources" = {
|
||||||
# text = ''
|
# text = ''
|
||||||
257
home-manager/dwm/picom-animations.conf
Normal file
257
home-manager/dwm/picom-animations.conf
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
# Animations for NORMAL windows.
|
||||||
|
{
|
||||||
|
match = "window_type = 'normal'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
opacity = {
|
||||||
|
curve = "linear";
|
||||||
|
duration = 0.1;
|
||||||
|
start = "window-raw-opacity-before";
|
||||||
|
end = 0;
|
||||||
|
};
|
||||||
|
blur-opacity = "opacity";
|
||||||
|
shadow-opacity = "opacity";
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
opacity = {
|
||||||
|
curve = "cubic-bezier(0,1,1,1)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = 0;
|
||||||
|
end = "window-raw-opacity";
|
||||||
|
};
|
||||||
|
blur-opacity = "opacity";
|
||||||
|
shadow-opacity = "opacity";
|
||||||
|
offset-x = "(1 - scale-x) / 2 * window-width";
|
||||||
|
offset-y = "(1 - scale-y) / 2 * window-height";
|
||||||
|
scale-x = {
|
||||||
|
curve = "cubic-bezier(0,1.3,1,1)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = 0.6;
|
||||||
|
end = 1;
|
||||||
|
};
|
||||||
|
scale-y = "scale-x";
|
||||||
|
shadow-scale-x = "scale-x";
|
||||||
|
shadow-scale-y = "scale-y";
|
||||||
|
shadow-offset-x = "offset-x";
|
||||||
|
shadow-offset-y = "offset-y";
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["geometry"];
|
||||||
|
scale-x = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = "window-width-before / window-width";
|
||||||
|
end = 1;
|
||||||
|
}
|
||||||
|
scale-y = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = "window-height-before / window-height";
|
||||||
|
end = 1;
|
||||||
|
}
|
||||||
|
# offset-x = {
|
||||||
|
# curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
# duration = 0.5;
|
||||||
|
# start = 0;
|
||||||
|
# end = 0;
|
||||||
|
# }
|
||||||
|
# offset-y = {
|
||||||
|
# curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
# duration = 0.3;
|
||||||
|
# start = "window-height";
|
||||||
|
# end = 0;
|
||||||
|
# }
|
||||||
|
# offset-x = {
|
||||||
|
# curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
# duration = 0.3;
|
||||||
|
# start = "window-x-before - window-monitor-x - window-x";
|
||||||
|
# end = 0;
|
||||||
|
# }
|
||||||
|
offset-y = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
duration = 0.3;
|
||||||
|
start = "window-height / 2";
|
||||||
|
end = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
shadow-scale-x = "scale-x";
|
||||||
|
shadow-scale-y = "scale-y";
|
||||||
|
# shadow-offset-x = "offset-x";
|
||||||
|
shadow-offset-y = "offset-y";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Rofi launchers.
|
||||||
|
{
|
||||||
|
match = "class_g = 'Rofi'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "disappear";
|
||||||
|
duration = 0.05;
|
||||||
|
scale = 0.5;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "appear";
|
||||||
|
duration = 0.2;
|
||||||
|
scale = 0.5;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
# Animations for Flameshot.
|
||||||
|
{
|
||||||
|
match = "class_g = 'flameshot'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "disappear";
|
||||||
|
duration = 0.1;
|
||||||
|
scale = 1;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "appear";
|
||||||
|
duration = 0.1;
|
||||||
|
scale = 1;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Dunst notifications.
|
||||||
|
{
|
||||||
|
match = "class_g = 'Dunst'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "fly-out"; #-dunst-close-preset
|
||||||
|
direction = "up"; #-dunst-close-direction
|
||||||
|
duration = 0.2;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "fly-in"; #-dunst-open-preset
|
||||||
|
direction = "up"; #-dunst-open-direction
|
||||||
|
duration = 0.2;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# # Animations for Jgmenu.
|
||||||
|
# {
|
||||||
|
# match = "class_g = 'jgmenu'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "disappear";
|
||||||
|
# duration = 0.08;
|
||||||
|
# scale = 0.5;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "appear";
|
||||||
|
# duration = 0.15;
|
||||||
|
# scale = 0.5;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
# # Animations for Scratchpad.
|
||||||
|
# {
|
||||||
|
# match = "class_g = 'Scratch'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "fly-out";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "fly-in";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
# # Animations for Eww Profile card.
|
||||||
|
# {
|
||||||
|
# match = "name = 'Eww - launchermenu'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "slide-out";
|
||||||
|
# direction = "right";
|
||||||
|
# duration = 0.2;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "slide-in";
|
||||||
|
# direction = "right";
|
||||||
|
# duration = 0.2;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
# # Animations for Eww Music player.
|
||||||
|
# {
|
||||||
|
# match = "name = 'Eww - music'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "slide-out";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "slide-in";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
# # Animations for Eww calendar.
|
||||||
|
# {
|
||||||
|
# match = "name = 'Eww - date'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "fly-out";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "fly-in";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
# # Animations for Eww Cheatsheet.
|
||||||
|
# {
|
||||||
|
# match = "name = 'Eww - csheet'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "disappear";
|
||||||
|
# duration = 0.08;
|
||||||
|
# scale = 0.5;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "appear";
|
||||||
|
# duration = 0.15;
|
||||||
|
# scale = 0.5;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# }
|
||||||
146
home-manager/dwm/picom.conf
Normal file
146
home-manager/dwm/picom.conf
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
## ----- Shadows ----- ##
|
||||||
|
|
||||||
|
shadow = true;
|
||||||
|
|
||||||
|
shadow-radius = 7;
|
||||||
|
#shadow-opacity = .6
|
||||||
|
shadow-offset-x = -7;
|
||||||
|
shadow-offset-y = -7;
|
||||||
|
shadow-color = "#000000"
|
||||||
|
|
||||||
|
## ----- Fading ----- ##
|
||||||
|
|
||||||
|
fading = true;
|
||||||
|
|
||||||
|
fade-in-step = 0.03;
|
||||||
|
fade-out-step = 0.03;
|
||||||
|
fade-delta = 5
|
||||||
|
no-fading-openclose = false
|
||||||
|
no-fading-destroyed-argb = false
|
||||||
|
|
||||||
|
## ----- Transparency ----- ##
|
||||||
|
|
||||||
|
frame-opacity = 1.0;
|
||||||
|
|
||||||
|
# inactive-dim-fixed = true
|
||||||
|
|
||||||
|
## ----- Corners ----- ##
|
||||||
|
|
||||||
|
corner-radius = 10
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# General Settings #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Available backends "xrender" "glx" "egl"
|
||||||
|
backend = "glx"
|
||||||
|
|
||||||
|
dithered-present = false;
|
||||||
|
vsync = true;
|
||||||
|
|
||||||
|
detect-rounded-corners = true;
|
||||||
|
detect-client-opacity = true;
|
||||||
|
detect-transient = true;
|
||||||
|
|
||||||
|
use-damage = true;
|
||||||
|
# xrender-sync-fence = false
|
||||||
|
# transparent-clipping = false
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Rules #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
blur:
|
||||||
|
|
||||||
|
{
|
||||||
|
method = "gaussian";
|
||||||
|
size = 90;
|
||||||
|
deviation = 30;
|
||||||
|
}
|
||||||
|
|
||||||
|
rules: (
|
||||||
|
|
||||||
|
{
|
||||||
|
blur-background = false;
|
||||||
|
fade = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'normal'";
|
||||||
|
fade = true; #-fade-switch
|
||||||
|
shadow = true; #-shadow-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'dialog'";
|
||||||
|
shadow = true; #-shadow-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'tooltip'";
|
||||||
|
corner-radius = 0;
|
||||||
|
opacity = 0.90;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'dock'";
|
||||||
|
corner-radius = 0;
|
||||||
|
fade = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'dropdown_menu' || window_type = 'menu' || window_type = 'popup' || window_type = 'popup_menu'";
|
||||||
|
corner-radius = 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "class_g = 'Alacritty' || class_g = 'kitty' || class_g = 'FloaTerm'";
|
||||||
|
opacity = 0.95; #-term-opacity-switch
|
||||||
|
blur-background = true; #-blur-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "class_g = 'Scratch' || class_g = 'Updating'";
|
||||||
|
opacity = 0.93;
|
||||||
|
blur-background = false; #-blur-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "class_g = 'Polybar' || "
|
||||||
|
"class_g = 'eww-bar' || "
|
||||||
|
"class_g = 'Viewnior' || "
|
||||||
|
"class_g = 'Rofi' || "
|
||||||
|
"class_g = 'mpv' || "
|
||||||
|
"class_g = 'scratch' || "
|
||||||
|
"class_g = 'Dunst' || "
|
||||||
|
"class_g = 'retroarch'";
|
||||||
|
corner-radius = 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "name = 'Notification' || "
|
||||||
|
"class_g ?= 'Notify-osd' || "
|
||||||
|
"class_g = 'Dunst' || "
|
||||||
|
"class_g = 'Polybar' || "
|
||||||
|
"class_g = 'jgmenu' || "
|
||||||
|
"class_g = 'scratch' || "
|
||||||
|
"class_g = 'Spotify' || "
|
||||||
|
"class_g = 'retroarch' || "
|
||||||
|
"class_g = 'firefox' || "
|
||||||
|
"class_g = 'Rofi' || "
|
||||||
|
"class_g = 'Screenkey' || "
|
||||||
|
"class_g = 'mpv' || "
|
||||||
|
"class_g = 'Viewnior' || "
|
||||||
|
"_GTK_FRAME_EXTENTS@";
|
||||||
|
shadow = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "class_g = 'i3lock'";
|
||||||
|
shader = "black_to_transparent.frag";
|
||||||
|
blur-background = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
@include "picom-animations.conf"
|
||||||
|
|
||||||
|
)
|
||||||
117
home-manager/dwm/picom.nix
Normal file
117
home-manager/dwm/picom.nix
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# home.file = {
|
||||||
|
# ".config/picom/picom.conf" = {
|
||||||
|
# text = builtins.readFile ./picom.conf;
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# ".config/picom/picom-animations.conf" = {
|
||||||
|
# text = builtins.readFile ./picom-animations.conf;
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# ".config/picom/black_to_transparent.frag" = {
|
||||||
|
# text = builtins.readFile ./black_to_transparent.frag;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
picom
|
||||||
|
];
|
||||||
|
|
||||||
|
# services.picom = {
|
||||||
|
# enable = true;
|
||||||
|
# package = pkgs.picom;
|
||||||
|
# backend = "glx";
|
||||||
|
#
|
||||||
|
# shadow = true;
|
||||||
|
# shadowOpacity = 0.2;
|
||||||
|
# shadowOffsets = [1 1];
|
||||||
|
#
|
||||||
|
# shadowExclude = [
|
||||||
|
# "name = 'Notification'"
|
||||||
|
# "class_g = 'Conky'"
|
||||||
|
# "_GTK_FRAME_EXTENTS@:c"
|
||||||
|
# "override_redirect = 1 && !WM_CLASS@:s"
|
||||||
|
# "class_g ?= 'Dmenu'"
|
||||||
|
# "class_g ?= 'Dunst'"
|
||||||
|
# "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||||
|
# "_GTK_FRAME_EXTENTS@:c"
|
||||||
|
# "_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'"
|
||||||
|
# "class_g ?= 'i3-frame'"
|
||||||
|
# "class_g = 'Rofi'"
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# fade = true;
|
||||||
|
# fadeSteps = [0.08 0.05];
|
||||||
|
#
|
||||||
|
# vSync = true;
|
||||||
|
#
|
||||||
|
# settings = {
|
||||||
|
# shadow = {
|
||||||
|
# radius = 3;
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# corner-radius = 9;
|
||||||
|
# rounder-corners-exclude = [
|
||||||
|
# "window_type = 'dock'"
|
||||||
|
# "window_type = 'desktop'"
|
||||||
|
# "class_g = 'Dunst'"
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# blur = {
|
||||||
|
# method = "dual_kawase";
|
||||||
|
# strength = 10;
|
||||||
|
# background = false;
|
||||||
|
# background-frame = false;
|
||||||
|
# background-fixed = false;
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# blur-kern = "3x3box";
|
||||||
|
#
|
||||||
|
# # xprop | grep -i 'class'
|
||||||
|
# opacity-rule = [
|
||||||
|
# "90:class_g = 'neovide'"
|
||||||
|
# "90:class_g = 'code-oss'"
|
||||||
|
# "90:class_g = 'discord'"
|
||||||
|
# "90:class_g = 'Emacs'"
|
||||||
|
# "90:class_g = 'TelegramDesktop'"
|
||||||
|
# "90:class_g = 'Spotify'"
|
||||||
|
# "90:class_g = 'easyeffects'"
|
||||||
|
# "90:class_g = 'kitty'"
|
||||||
|
# "90:class_g = 'Nemo'"
|
||||||
|
# "97:class_g = 'firefox'"
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# # Exclude conditions for background blur.
|
||||||
|
# # blur-background-exclude = []
|
||||||
|
# blur-background-exclude = [
|
||||||
|
# "window_type = 'dock'"
|
||||||
|
# "window_type = 'desktop'"
|
||||||
|
# "_GTK_FRAME_EXTENTS@:c"
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# mark-wmwin-focused = true;
|
||||||
|
# mark-ovredir-focused = true;
|
||||||
|
# detect-rounded-corners = true;
|
||||||
|
# detect-client-opacity = true;
|
||||||
|
# unredir-if-possible = false;
|
||||||
|
# detect-transient = true;
|
||||||
|
# detect-client-leader = true;
|
||||||
|
# use-damage = true;
|
||||||
|
#
|
||||||
|
# window-shader-fg-rule = [
|
||||||
|
# # "black_to_transparent.frag:class_g = 'stalonetray'",
|
||||||
|
# # "black_to_transparent.frag:class_g = 'Minecraft 1.7.10'",
|
||||||
|
# # "black_to_transparent.frag:class_g = 'i3lock'"
|
||||||
|
# # "black_to_transparent.frag:focused = true"
|
||||||
|
# # "black_to_transparent.frag:focused != true",
|
||||||
|
# #"sphere.glsl:focused != true"
|
||||||
|
# #"nordify.glsl:class_g = 'miru'"
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
}
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
let
|
|
||||||
cli = import ./aliases.nix;
|
|
||||||
in {
|
|
||||||
programs.bash = {
|
|
||||||
enable = true;
|
|
||||||
shellAliases = cli.myAliases;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
imports = [
|
|
||||||
./bash.nix
|
|
||||||
./git.nix
|
|
||||||
./zsh
|
|
||||||
./gpg.nix
|
|
||||||
];
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
killall
|
|
||||||
comma
|
|
||||||
distrobox
|
|
||||||
bc
|
|
||||||
bottom
|
|
||||||
ncdu
|
|
||||||
ltex-ls
|
|
||||||
nil
|
|
||||||
alejandra
|
|
||||||
timer
|
|
||||||
jq
|
|
||||||
diffsitter
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Michał Czyż";
|
|
||||||
userEmail = "mike@c2yz.com";
|
|
||||||
signing = {
|
|
||||||
key = "78D4829A477DAB25";
|
|
||||||
signByDefault = true;
|
|
||||||
};
|
|
||||||
extraConfig = {
|
|
||||||
push = {
|
|
||||||
default = "simple";
|
|
||||||
};
|
|
||||||
rerere = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
column = {
|
|
||||||
ui = "auto";
|
|
||||||
};
|
|
||||||
branch = {
|
|
||||||
sort = "-committerdate";
|
|
||||||
};
|
|
||||||
init = {
|
|
||||||
defaultBranch = "main";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
defaultCacheTtl = 1800;
|
|
||||||
enableSshSupport = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
cli = import ../aliases.nix;
|
|
||||||
in {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
|
|
||||||
history.size = 10000000;
|
|
||||||
history.path = "${config.xdg.dataHome}/zsh/history";
|
|
||||||
|
|
||||||
shellAliases = cli.myAliases;
|
|
||||||
|
|
||||||
plugins = [
|
|
||||||
{
|
|
||||||
name = "powerlevel10k";
|
|
||||||
src = pkgs.zsh-powerlevel10k;
|
|
||||||
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
enableAutosuggestions = true;
|
|
||||||
|
|
||||||
syntaxHighlighting = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
historySubstringSearch = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
initExtra = ''
|
|
||||||
[[ ! -f ${./p10k.zsh} ]] || source ${./p10k.zsh}
|
|
||||||
eval "$(zoxide init --cmd cd zsh)"
|
|
||||||
if [ -x "$(command -v tmux)" ] && [ -n "$DISPLAY" ] && [ -z "$TMUX" ]; then
|
|
||||||
# exec tmux new-session -A -s $USER >/dev/null 2>&1
|
|
||||||
exec tmux new-session -t $USER >/dev/null 2>&1 | tmux new-session -A -s $USER >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
];
|
|
||||||
|
|
||||||
# dconf.settings."org/gnome/desktop/interface".color-scheme =
|
|
||||||
# if config.colorscheme.variant == "dark"
|
|
||||||
# then "prefer-dark"
|
|
||||||
# else if config.colorscheme.variant == "light"
|
|
||||||
# then "prefer-light"
|
|
||||||
# else "default";
|
|
||||||
|
|
||||||
# xdg.portal.enable = true;
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
imports = [];
|
|
||||||
|
|
||||||
xdg.mimeApps.enable = true;
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
grim
|
|
||||||
gtk3
|
|
||||||
imv
|
|
||||||
mimeo
|
|
||||||
# primary-xwayland
|
|
||||||
pulseaudio
|
|
||||||
slurp
|
|
||||||
waypipe
|
|
||||||
wf-recorder
|
|
||||||
wl-clipboard
|
|
||||||
wl-mirror
|
|
||||||
# wl-mirror-pick
|
|
||||||
xdg-utils
|
|
||||||
ydotool
|
|
||||||
];
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
MOZ_ENABLE_WAYLAND = 1;
|
|
||||||
QT_QPA_PLATFORM = "wayland";
|
|
||||||
LIBSEAT_BACKEND = "logind";
|
|
||||||
};
|
|
||||||
|
|
||||||
# xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-wlr];
|
|
||||||
}
|
|
||||||
@@ -1,181 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
function lighten_color() {
|
|
||||||
offset=20
|
|
||||||
|
|
||||||
hex_color=$1
|
|
||||||
hex_color=${hex_color:1}
|
|
||||||
|
|
||||||
red=${hex_color:0:2}
|
|
||||||
green=${hex_color:2:2}
|
|
||||||
blue=${hex_color:4:2}
|
|
||||||
|
|
||||||
red_dec=$(printf "%d" 0x$red)
|
|
||||||
green_dec=$(printf "%d" 0x$green)
|
|
||||||
blue_dec=$(printf "%d" 0x$blue)
|
|
||||||
|
|
||||||
if [[ $red_dec -lt 128 ]]; then
|
|
||||||
red_dec_l=$((red_dec+offset))
|
|
||||||
green_dec_l=$((green_dec+offset))
|
|
||||||
blue_dec_l=$((blue_dec+offset))
|
|
||||||
else
|
|
||||||
red_dec_l=$((red_dec-offset))
|
|
||||||
green_dec_l=$((green_dec-offset))
|
|
||||||
blue_dec_l=$((blue_dec-offset))
|
|
||||||
fi
|
|
||||||
|
|
||||||
red=$(printf "%02X" $red_dec_l)
|
|
||||||
green=$(printf "%02X" $green_dec_l)
|
|
||||||
blue=$(printf "%02X" $blue_dec_l)
|
|
||||||
|
|
||||||
echo "#$red$green$blue"
|
|
||||||
}
|
|
||||||
|
|
||||||
# ^c$var^ = fg color
|
|
||||||
# ^b$var^ = bg color
|
|
||||||
|
|
||||||
interval=0
|
|
||||||
|
|
||||||
# load colors
|
|
||||||
# . ~/.config/bar_themes/onedark
|
|
||||||
|
|
||||||
# colors
|
|
||||||
|
|
||||||
rosewater=#f4dbd6
|
|
||||||
flamingo=#f0c6c6
|
|
||||||
pink=#f5bde6
|
|
||||||
mauve=#c6a0f6
|
|
||||||
red=#fb4934
|
|
||||||
maroon=#ee99a0
|
|
||||||
peach=#f5a97f
|
|
||||||
yellow=#eed49f
|
|
||||||
green=#b8bb26
|
|
||||||
teal=#8bd5ca
|
|
||||||
sky=#91d7e3
|
|
||||||
sapphire=#7dc4e4
|
|
||||||
blue=#8aadf4
|
|
||||||
lavender=#b7bdf8
|
|
||||||
text=#cad3f5
|
|
||||||
subtext1=#b8c0e0
|
|
||||||
subtext0=#a5adcb
|
|
||||||
overlay2=#939ab7
|
|
||||||
overlay1=#8087a2
|
|
||||||
overlay0=#6e738d
|
|
||||||
surface2=#5b6078
|
|
||||||
surface1=#494d64
|
|
||||||
surface0=#363a4f
|
|
||||||
base=#24273a
|
|
||||||
mantle=#1e2030
|
|
||||||
crust=#181926
|
|
||||||
|
|
||||||
# Special
|
|
||||||
background=#282828
|
|
||||||
foreground=#ebdbb2
|
|
||||||
cursor=#ebdbb2
|
|
||||||
|
|
||||||
# Colors
|
|
||||||
color0=#05090e
|
|
||||||
color1=#425965
|
|
||||||
color2=#016b86
|
|
||||||
color3=#1f7284
|
|
||||||
color4=#48717a
|
|
||||||
color5=#358292
|
|
||||||
color6=#79796b
|
|
||||||
color7=#828486
|
|
||||||
color8=#43464a
|
|
||||||
color9=#597787
|
|
||||||
color10=#028FB3
|
|
||||||
color11=#2A99B1
|
|
||||||
color12=#6097A3
|
|
||||||
color13=#47AEC3
|
|
||||||
color14=#A2A28F
|
|
||||||
color15=#c0c1c2
|
|
||||||
|
|
||||||
background0=$(lighten_color $background)
|
|
||||||
background1=$(lighten_color $background0)
|
|
||||||
background2=$(lighten_color $background1)
|
|
||||||
|
|
||||||
pulse () {
|
|
||||||
VOL=$(pamixer --get-volume)
|
|
||||||
STATE=$(pamixer --get-mute)
|
|
||||||
|
|
||||||
printf "%s" "$SEP1"
|
|
||||||
if [ "$STATE" = "true" ] || [ "$VOL" -eq 0 ]; then
|
|
||||||
printf "AMUT%%"
|
|
||||||
elif [ "$VOL" -gt 0 ] && [ "$VOL" -le 33 ]; then
|
|
||||||
printf "A%s%%" "$VOL"
|
|
||||||
elif [ "$VOL" -gt 33 ] && [ "$VOL" -le 66 ]; then
|
|
||||||
printf "A%s%%" "$VOL"
|
|
||||||
else
|
|
||||||
printf "A%s%%" "$VOL"
|
|
||||||
fi
|
|
||||||
printf "%s\n" "$SEP2"
|
|
||||||
}
|
|
||||||
|
|
||||||
cpu() {
|
|
||||||
cpu_val=$(grep -o "^[^ ]*" /proc/loadavg)
|
|
||||||
|
|
||||||
printf "^c$background^ ^b$yellow^ "
|
|
||||||
printf "^c$background^ ^b$yellow^$cpu_val"
|
|
||||||
}
|
|
||||||
|
|
||||||
battery() {
|
|
||||||
capacity_0="$(cat /sys/class/power_supply/BAT0/capacity)"
|
|
||||||
capacity_1="$(cat /sys/class/power_supply/BAT1/capacity)"
|
|
||||||
|
|
||||||
capacity="$capacity_0+$capacity_1"
|
|
||||||
# capacity=$(((capacity_0 + capacity_1) / 2))
|
|
||||||
|
|
||||||
printf " B$capacity%% "
|
|
||||||
}
|
|
||||||
|
|
||||||
brightness() {
|
|
||||||
value=$(cat /sys/class/backlight/*/brightness)
|
|
||||||
percentage=$(echo "scale=2; $value / 8.54" | bc)
|
|
||||||
printf "L%.0f%%" "$percentage"
|
|
||||||
}
|
|
||||||
|
|
||||||
mem() {
|
|
||||||
printf "^c$background^^b$green^ "
|
|
||||||
printf "^c$background^^b$green^ $(free -h | awk '/^Mem/ { print $3 }' | sed s/i//g)"
|
|
||||||
}
|
|
||||||
|
|
||||||
wlan() {
|
|
||||||
case "$(cat /sys/class/net/wl*/operstate 2>/dev/null)" in
|
|
||||||
up) printf "^c$background^ ^b$blue^ ^c$background^ ^b$blue^Connected" ;;
|
|
||||||
down) printf "^c$background^ ^b$blue^ ^c$background^ ^b$blue^Disconnected" ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
clock() {
|
|
||||||
printf " $(date '+%I:%M %P') "
|
|
||||||
}
|
|
||||||
|
|
||||||
today() {
|
|
||||||
printf " $(date '+%b %e') "
|
|
||||||
}
|
|
||||||
|
|
||||||
net() {
|
|
||||||
if nc -zw1 c2yz.com 443; then
|
|
||||||
printf "^c$background^^b$green^ i "
|
|
||||||
else
|
|
||||||
printf "^c$background^^b$red^ ! "
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
|
|
||||||
# [ $interval = 0 ] || [ $(($interval % 3600)) = 0 ] && updates=$(pkg_updates)
|
|
||||||
# interval=$((interval + 1))
|
|
||||||
|
|
||||||
# sleep 1 && xsetroot -name "$updates $(battery) $(brightness) $(cpu) $(mem) $(wlan) $(clock)"
|
|
||||||
# sleep 1 && xsetroot -name "$(battery) $(brightness) $(cpu) $(mem) $(wlan) $(clock)"
|
|
||||||
# if hash dockd 2>/dev/null; then
|
|
||||||
# sleep 1 && xsetroot -name "^c$foreground^^b$background1^ $(brightness) ^b$background0^ $(battery) $(net)^c$foreground^^b$background0^ $(today) ^b$background1^ $(clock) ^b$background2^ $(pulse) "
|
|
||||||
# else
|
|
||||||
sleep 1 && xsetroot -name "^c$foreground^$(net)^c$foreground^^b$background0^ $(today) ^b$background1^ $(clock) ^b$background2^ $(pulse) "
|
|
||||||
xsetroot -cursor_name left_ptr
|
|
||||||
# fi
|
|
||||||
|
|
||||||
done
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services.picom = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.unstable.picom;
|
|
||||||
backend = "glx";
|
|
||||||
|
|
||||||
shadow = true;
|
|
||||||
shadowOpacity = 0.2;
|
|
||||||
shadowOffsets = [1 1];
|
|
||||||
|
|
||||||
shadowExclude = [
|
|
||||||
"name = 'Notification'"
|
|
||||||
"class_g = 'Conky'"
|
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
|
||||||
"override_redirect = 1 && !WM_CLASS@:s"
|
|
||||||
"class_g ?= 'Dmenu'"
|
|
||||||
"class_g ?= 'Dunst'"
|
|
||||||
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
|
||||||
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'"
|
|
||||||
"class_g ?= 'i3-frame'"
|
|
||||||
"class_g = 'Rofi'"
|
|
||||||
];
|
|
||||||
|
|
||||||
fade = true;
|
|
||||||
fadeSteps = [0.08 0.05];
|
|
||||||
|
|
||||||
vSync = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
shadow = {
|
|
||||||
radius = 3;
|
|
||||||
};
|
|
||||||
|
|
||||||
corner-radius = 9;
|
|
||||||
rounder-corners-exclude = [
|
|
||||||
"window_type = 'dock'"
|
|
||||||
"window_type = 'desktop'"
|
|
||||||
"class_g = 'Dunst'"
|
|
||||||
];
|
|
||||||
|
|
||||||
blur = {
|
|
||||||
method = "dual_kawase";
|
|
||||||
strength = 10;
|
|
||||||
background = false;
|
|
||||||
background-frame = false;
|
|
||||||
background-fixed = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
blur-kern = "3x3box";
|
|
||||||
|
|
||||||
# xprop | grep -i 'class'
|
|
||||||
opacity-rule = [
|
|
||||||
"90:class_g = 'neovide'"
|
|
||||||
"90:class_g = 'code-oss'"
|
|
||||||
"90:class_g = 'discord'"
|
|
||||||
"90:class_g = 'Emacs'"
|
|
||||||
"90:class_g = 'TelegramDesktop'"
|
|
||||||
"90:class_g = 'Spotify'"
|
|
||||||
"90:class_g = 'easyeffects'"
|
|
||||||
"90:class_g = 'kitty'"
|
|
||||||
"90:class_g = 'Nemo'"
|
|
||||||
"97:class_g = 'firefox'"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Exclude conditions for background blur.
|
|
||||||
# blur-background-exclude = []
|
|
||||||
blur-background-exclude = [
|
|
||||||
"window_type = 'dock'"
|
|
||||||
"window_type = 'desktop'"
|
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
|
||||||
];
|
|
||||||
|
|
||||||
mark-wmwin-focused = true;
|
|
||||||
mark-ovredir-focused = true;
|
|
||||||
detect-rounded-corners = true;
|
|
||||||
detect-client-opacity = true;
|
|
||||||
unredir-if-possible = false;
|
|
||||||
detect-transient = true;
|
|
||||||
detect-client-leader = true;
|
|
||||||
use-damage = true;
|
|
||||||
|
|
||||||
window-shader-fg-rule = [
|
|
||||||
# "black_to_transparent.frag:class_g = 'stalonetray'",
|
|
||||||
# "black_to_transparent.frag:class_g = 'Minecraft 1.7.10'",
|
|
||||||
# "black_to_transparent.frag:class_g = 'i3lock'"
|
|
||||||
# "black_to_transparent.frag:focused = true",
|
|
||||||
# "black_to_transparent.frag:focused != true",
|
|
||||||
#"sphere.glsl:focused != true"
|
|
||||||
#"nordify.glsl:class_g = 'miru'"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{imports = [../common];}
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
{lib, ...}: {
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
|
||||||
bindm = [
|
|
||||||
"SUPER,mouse:272,movewindow"
|
|
||||||
"SUPER,mouse:273,resizewindow"
|
|
||||||
];
|
|
||||||
|
|
||||||
bind = let
|
|
||||||
workspaces = [
|
|
||||||
"0"
|
|
||||||
"1"
|
|
||||||
"2"
|
|
||||||
"3"
|
|
||||||
"4"
|
|
||||||
"5"
|
|
||||||
"6"
|
|
||||||
"7"
|
|
||||||
"8"
|
|
||||||
"9"
|
|
||||||
"F1"
|
|
||||||
"F2"
|
|
||||||
"F3"
|
|
||||||
"F4"
|
|
||||||
"F5"
|
|
||||||
"F6"
|
|
||||||
"F7"
|
|
||||||
"F8"
|
|
||||||
"F9"
|
|
||||||
"F10"
|
|
||||||
"F11"
|
|
||||||
"F12"
|
|
||||||
];
|
|
||||||
# Map keys (arrows and hjkl) to hyprland directions (l, r, u, d)
|
|
||||||
directions = rec {
|
|
||||||
left = "l";
|
|
||||||
right = "r";
|
|
||||||
up = "u";
|
|
||||||
down = "d";
|
|
||||||
h = left;
|
|
||||||
l = right;
|
|
||||||
k = up;
|
|
||||||
j = down;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
[
|
|
||||||
"SUPERSHIFT,q,killactive"
|
|
||||||
"SUPERSHIFT,e,exit"
|
|
||||||
|
|
||||||
"SUPER,s,togglesplit"
|
|
||||||
"SUPER,f,fullscreen,1"
|
|
||||||
"SUPERSHIFT,f,fullscreen,0"
|
|
||||||
"SUPERSHIFT,space,togglefloating"
|
|
||||||
|
|
||||||
"SUPER,minus,splitratio,-0.25"
|
|
||||||
"SUPERSHIFT,minus,splitratio,-0.3333333"
|
|
||||||
|
|
||||||
"SUPER,equal,splitratio,0.25"
|
|
||||||
"SUPERSHIFT,equal,splitratio,0.3333333"
|
|
||||||
|
|
||||||
"SUPER,g,togglegroup"
|
|
||||||
"SUPER,t,lockactivegroup,toggle"
|
|
||||||
"SUPER,tab,changegroupactive,f"
|
|
||||||
"SUPERSHIFT,tab,changegroupactive,b"
|
|
||||||
|
|
||||||
"SUPER,apostrophe,workspace,previous"
|
|
||||||
|
|
||||||
"SUPER,u,togglespecialworkspace"
|
|
||||||
"SUPERSHIFT,u,movetoworkspacesilent,special"
|
|
||||||
"SUPER,i,pseudo"
|
|
||||||
]
|
|
||||||
++
|
|
||||||
# Change workspace
|
|
||||||
(map (n: "SUPER,${n},workspace,name:${n}") workspaces)
|
|
||||||
++
|
|
||||||
# Move window to workspace
|
|
||||||
(map (n: "SUPERSHIFT,${n},movetoworkspacesilent,name:${n}") workspaces)
|
|
||||||
++
|
|
||||||
# Move focus
|
|
||||||
(lib.mapAttrsToList (key: direction: "SUPER,${key},movefocus,${direction}") directions)
|
|
||||||
++
|
|
||||||
# Swap windows
|
|
||||||
(lib.mapAttrsToList (key: direction: "SUPERSHIFT,${key},swapwindow,${direction}") directions)
|
|
||||||
++
|
|
||||||
# Move windows
|
|
||||||
(lib.mapAttrsToList (
|
|
||||||
key: direction: "SUPERCONTROL,${key},movewindoworgroup,${direction}"
|
|
||||||
)
|
|
||||||
directions)
|
|
||||||
++
|
|
||||||
# Move monitor focus
|
|
||||||
(lib.mapAttrsToList (key: direction: "SUPERALT,${key},focusmonitor,${direction}") directions)
|
|
||||||
++
|
|
||||||
# Move workspace to other monitor
|
|
||||||
(lib.mapAttrsToList (
|
|
||||||
key: direction: "SUPERALTSHIFT,${key},movecurrentworkspacetomonitor,${direction}"
|
|
||||||
)
|
|
||||||
directions);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
# hyprland = pkgs.inputs.hyprland.hyprland.override {wrapRuntimeDeps = false;};
|
|
||||||
# xdhp = pkgs.inputs.hyprland.xdg-desktop-portal-hyprland.override {inherit hyprland;};
|
|
||||||
in {
|
|
||||||
imports = [
|
|
||||||
../common
|
|
||||||
../common/wayland-wm
|
|
||||||
];
|
|
||||||
|
|
||||||
# xdg.portal = {
|
|
||||||
# extraPortals = [xdhp];
|
|
||||||
# configPackages = [hyprland];
|
|
||||||
# };
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
# inputs.hyprwm-contrib.grimblast
|
|
||||||
# hyprslurp
|
|
||||||
hyprpicker
|
|
||||||
hyprpaper
|
|
||||||
waybar
|
|
||||||
xdg-desktop-portal-hyprland
|
|
||||||
];
|
|
||||||
|
|
||||||
# wayland.windowManger.hyprland = {
|
|
||||||
# enable = true;
|
|
||||||
# # package = hyprland;
|
|
||||||
# systemd = {
|
|
||||||
# enable = true;
|
|
||||||
# # Same as default but stop graphical-session too
|
|
||||||
# extraCommands = lib.mkBefore [
|
|
||||||
# "systemctl --user stop graphical-session.target"
|
|
||||||
# "systemctl --user start hyprland-session.target"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# #TODO: Add hyprland config
|
|
||||||
# };
|
|
||||||
}
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
hyprbars =
|
|
||||||
(pkgs.inputs.hyprland-plugins.hyprbars.override {
|
|
||||||
# Make sure it's using the same hyprland package as we are
|
|
||||||
hyprland = config.wayland.windowManager.hyprland.package;
|
|
||||||
})
|
|
||||||
.overrideAttrs
|
|
||||||
(old: {
|
|
||||||
# Yeet the initialization notification (I hate it)
|
|
||||||
postPatch =
|
|
||||||
(old.postPatch or "")
|
|
||||||
+ ''
|
|
||||||
${lib.getExe pkgs.gnused} -i '/Initialized successfully/d' main.cpp
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
in {
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
plugins = [hyprbars];
|
|
||||||
settings = {
|
|
||||||
"plugin:hyprbars" = {
|
|
||||||
bar_height = 25;
|
|
||||||
#bar_color = "0xdd${config.colorscheme.colors.base00}";
|
|
||||||
#"col.text" = "0xee${config.colorscheme.colors.base05}";
|
|
||||||
#bar_text_font = config.fontProfiles.regular.family;
|
|
||||||
bar_text_size = 12;
|
|
||||||
bar_part_of_window = true;
|
|
||||||
hyprbars-button = let
|
|
||||||
closeAction = "hyprctl dispatch killactive";
|
|
||||||
|
|
||||||
isOnSpecial = ''hyprctl activewindow -j | jq -re 'select(.workspace.name == "special")' >/dev/null'';
|
|
||||||
moveToSpecial = "hyprctl dispatch movetoworkspacesilent special";
|
|
||||||
moveToActive = "hyprctl dispatch movetoworkspacesilent name:$(hyprctl -j activeworkspace | jq -re '.name')";
|
|
||||||
minimizeAction = "${isOnSpecial} && ${moveToActive} || ${moveToSpecial}";
|
|
||||||
|
|
||||||
maximizeAction = "hyprctl dispatch togglefloating";
|
|
||||||
in [
|
|
||||||
# Red close button
|
|
||||||
#"rgb(${config.colorscheme.colors.base08}),12,,${closeAction}"
|
|
||||||
# Yellow "minimize" (send to special workspace) button
|
|
||||||
#"rgb(${config.colorscheme.colors.base0A}),12,,${minimizeAction}"
|
|
||||||
# Green "maximize" (togglefloating) button
|
|
||||||
#"rgb(${config.colorscheme.colors.base0B}),12,,${maximizeAction}"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
bind = let
|
|
||||||
barsEnabled = "hyprctl -j getoption plugin:hyprbars:bar_height | ${lib.getExe pkgs.jq} -re '.int != 0'";
|
|
||||||
setBarHeight = height: "hyprctl keyword plugin:hyprbars:bar_height ${toString height}";
|
|
||||||
toggleOn = setBarHeight config.wayland.windowManager.hyprland.settings."plugin:hyprbars".bar_height;
|
|
||||||
toggleOff = setBarHeight 0;
|
|
||||||
in ["SUPER,m,exec,${barsEnabled} && ${toggleOff} || ${toggleOn}"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
programs.emacs = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.unstable.emacs;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
programs.helix = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
theme = "gruvbox_dark_soft";
|
|
||||||
editor.cursor-shape = {
|
|
||||||
normal = "block";
|
|
||||||
insert = "bar";
|
|
||||||
select = "underline";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
languages.language = [{
|
|
||||||
name = "nix";
|
|
||||||
auto-format = true;
|
|
||||||
formatter.command = "${pkgs.nixfmt}/bin/nixfmt";
|
|
||||||
}];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
font = {
|
|
||||||
name = "FiraCode Nerd Font";
|
|
||||||
size = 12;
|
|
||||||
};
|
|
||||||
|
|
||||||
theme = "Gruvbox Dark";
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
confirm_os_window_close = 0;
|
|
||||||
detect_urls = true;
|
|
||||||
enable_audio_bell = false;
|
|
||||||
resize_in_steps = true;
|
|
||||||
# window_padding_width = 16;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
inputs.neovim-nightly-overlay.overlay
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.neovim-nightly;
|
|
||||||
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
vimdiffAlias = true;
|
|
||||||
|
|
||||||
defaultEditor = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,27 +1,53 @@
|
|||||||
# This is your home-manager configuration file
|
# This is your home-manager configuration file
|
||||||
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
||||||
{ inputs, outputs, pkgs, ... }: {
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
# You can import other home-manager modules here
|
# You can import other home-manager modules here
|
||||||
imports = [
|
imports = [
|
||||||
# If you want to use modules your own flake exports (from modules/home-manager):
|
# If you want to use modules your own flake exports (from modules/home-manager):
|
||||||
# outputs.homeManagerModules.example
|
# outputs.homeManagerModules.example
|
||||||
|
|
||||||
# Or modules exported from other flakes (such as nix-colors):
|
# Or modules exported from other flakes (such as nix-colors):
|
||||||
inputs.nix-colors.homeManagerModules.default
|
# inputs.nix-colors.homeManagerModules.default
|
||||||
|
|
||||||
# You can also split up your configuration and import pieces of it here:
|
# You can also split up your configuration and import pieces of it here:
|
||||||
# ./nvim.nix
|
# ./nvim.nix
|
||||||
./features/cli
|
./programs/btop.nix
|
||||||
./features/desktop/dwm
|
./programs/fastfetch.nix
|
||||||
./features/kitty.nix
|
# ./programs/foot.nix
|
||||||
./features/neovim.nix
|
./programs/git.nix
|
||||||
./features/tmux.nix
|
./programs/gpg.nix
|
||||||
./features/neovide.nix
|
./programs/helix.nix
|
||||||
./features/emacs.nix
|
./programs/kitty.nix
|
||||||
./features/helix.nix
|
./programs/neovide.nix
|
||||||
];
|
./programs/neovim.nix
|
||||||
|
./programs/packages.nix
|
||||||
|
./programs/shell.nix
|
||||||
|
./programs/tmux.nix
|
||||||
|
./programs/vscodium.nix
|
||||||
|
|
||||||
colorScheme = inputs.nix-colors.colorSchemes.gruvbox-dark-medium;
|
./dwm
|
||||||
|
# ./programs/yazi.nix
|
||||||
|
# ./programs/zathura.nix
|
||||||
|
|
||||||
|
# ./configs/keys.nix
|
||||||
|
|
||||||
|
./system/dunst.nix
|
||||||
|
# ./system/hypr.nix
|
||||||
|
# ./system/hyprland.nix
|
||||||
|
./system/rofi.nix
|
||||||
|
./system/stylix.nix
|
||||||
|
./system/theme.nix
|
||||||
|
./system/waybar.nix
|
||||||
|
./system/wlsunset.nix
|
||||||
|
./system/wofi.nix
|
||||||
|
];
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
# You can add overlays here
|
# You can add overlays here
|
||||||
@@ -45,136 +71,25 @@
|
|||||||
config = {
|
config = {
|
||||||
# Disable if you don't want unfree packages
|
# Disable if you don't want unfree packages
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
# Workaround for https://github.com/nix-community/home-manager/issues/2942
|
|
||||||
allowUnfreePredicate = _: true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Username to manage
|
|
||||||
home = {
|
home = {
|
||||||
username = "mike";
|
username = "mike";
|
||||||
homeDirectory = "/home/mike";
|
homeDirectory = "/home/mike";
|
||||||
file = {
|
|
||||||
# Building this configuration will create a copy of 'dotfiles/screenrc' in
|
|
||||||
# the Nix store. Activating the configuration will then make '~/.screenrc' a
|
|
||||||
# symlink to the Nix store copy.
|
|
||||||
# ".screenrc".source = dotfiles/screenrc;
|
|
||||||
|
|
||||||
# You can also set the file content immediately.
|
|
||||||
# ".gradle/gradle.properties".text = ''
|
|
||||||
# org.gradle.console=verbose
|
|
||||||
# org.gradle.daemon.idletimeout=3600000
|
|
||||||
# '';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# The home.packages option allows you to install Nix packages into your
|
# Add stuff for your user as you see fit:
|
||||||
# environment.
|
# programs.neovim.enable = true;
|
||||||
home.packages = with pkgs; [
|
# home.packages = with pkgs; [ steam ];
|
||||||
# > graphics <
|
|
||||||
tuxpaint
|
|
||||||
krita
|
|
||||||
|
|
||||||
# > terminal <
|
# Enable home-manager and git
|
||||||
kitty
|
|
||||||
kitty-themes
|
|
||||||
|
|
||||||
# > tools <
|
|
||||||
git
|
|
||||||
wget
|
|
||||||
eza
|
|
||||||
yt-dlp
|
|
||||||
ffmpeg
|
|
||||||
# texliveFull
|
|
||||||
texlive.combined.scheme-full
|
|
||||||
pgf-umlcd
|
|
||||||
fastfetch
|
|
||||||
pgf-umlsd
|
|
||||||
zoxide
|
|
||||||
neofetch
|
|
||||||
pavucontrol
|
|
||||||
htop
|
|
||||||
woeusb
|
|
||||||
steam-run
|
|
||||||
unzip
|
|
||||||
gnome.adwaita-icon-theme
|
|
||||||
R
|
|
||||||
openvpn
|
|
||||||
wol
|
|
||||||
direnv
|
|
||||||
p7zip
|
|
||||||
czkawka
|
|
||||||
insomnia
|
|
||||||
|
|
||||||
# > media <
|
|
||||||
spotify
|
|
||||||
vlc
|
|
||||||
mpv
|
|
||||||
obs-studio
|
|
||||||
okular
|
|
||||||
|
|
||||||
# > desktop <
|
|
||||||
firefox
|
|
||||||
discord
|
|
||||||
telegram-desktop
|
|
||||||
libreoffice-fresh
|
|
||||||
# vscodium
|
|
||||||
unstable.vscode
|
|
||||||
google-chrome
|
|
||||||
lunarvim
|
|
||||||
unstable.evolution
|
|
||||||
rstudio
|
|
||||||
unstable.obsidian
|
|
||||||
foliate
|
|
||||||
helio-workstation
|
|
||||||
|
|
||||||
# > gaming <
|
|
||||||
prismlauncher
|
|
||||||
classicube
|
|
||||||
steam
|
|
||||||
|
|
||||||
# > development <
|
|
||||||
docker
|
|
||||||
docker-compose
|
|
||||||
gnome.seahorse
|
|
||||||
lmstudio
|
|
||||||
unstable.arduino-ide
|
|
||||||
iwgtk
|
|
||||||
kwallet-pam
|
|
||||||
kwalletcli
|
|
||||||
kwalletmanager
|
|
||||||
];
|
|
||||||
|
|
||||||
services.gnome-keyring = {
|
|
||||||
enable = true;
|
|
||||||
components = [ "ssh" "secrets" "pkcs11" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# programs.keychain = {
|
|
||||||
# enable = true;
|
|
||||||
# enableZshIntegration = true;
|
|
||||||
# keys = [
|
|
||||||
# "id_rsa"
|
|
||||||
# ];
|
|
||||||
# enableXsessionIntegration = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# systemd.user.sessionVariables.SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh";
|
|
||||||
|
|
||||||
home.sessionVariables = { EDITOR = "nvim"; };
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
programs.git.enable = true;
|
||||||
|
|
||||||
# Nicely reload system units when changing configs
|
# Nicely reload system units when changing configs
|
||||||
systemd.user.startServices = "sd-switch";
|
systemd.user.startServices = "sd-switch";
|
||||||
|
|
||||||
# This value determines the Home Manager release that your configuration is
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
home.stateVersion = "24.11";
|
||||||
# introduces backwards incompatible changes.
|
|
||||||
#
|
|
||||||
# You should not change this value, even if you update Home Manager. If you do
|
|
||||||
# want to update the value, then make sure to first check the Home Manager
|
|
||||||
# release notes.
|
|
||||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
|
||||||
}
|
}
|
||||||
|
|||||||
11
home-manager/programs/btop.nix
Normal file
11
home-manager/programs/btop.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
programs.btop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
update_ms = 1000;
|
||||||
|
rounded_corners = false;
|
||||||
|
proc_sorting = "memory";
|
||||||
|
shown_boxes = "proc cpu ";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
120
home-manager/programs/fastfetch.nix
Normal file
120
home-manager/programs/fastfetch.nix
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
{
|
||||||
|
programs.fastfetch = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json";
|
||||||
|
|
||||||
|
logo = {
|
||||||
|
type = "kitty";
|
||||||
|
height = 20;
|
||||||
|
padding = {
|
||||||
|
top = 0;
|
||||||
|
right = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
display = {
|
||||||
|
separator = " ➜ ";
|
||||||
|
};
|
||||||
|
|
||||||
|
modules = [
|
||||||
|
"break"
|
||||||
|
{
|
||||||
|
type = "os";
|
||||||
|
key = "OS ";
|
||||||
|
keyColor = "31";
|
||||||
|
format = "{2} {8}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "kernel";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "31";
|
||||||
|
format = "{2}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "packages";
|
||||||
|
format = "{} (nixpkgs)";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "31";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "shell";
|
||||||
|
key = " └ ";
|
||||||
|
keyColor = "31";
|
||||||
|
}
|
||||||
|
"break"
|
||||||
|
{
|
||||||
|
type = "wm";
|
||||||
|
key = "WM ";
|
||||||
|
keyColor = "32";
|
||||||
|
format = "{2}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "wmtheme";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "icons";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "cursor";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "terminal";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "terminalfont";
|
||||||
|
key = " └ ";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
"break"
|
||||||
|
{
|
||||||
|
type = "host";
|
||||||
|
format = "{5} {1}";
|
||||||
|
key = "PC ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "cpu";
|
||||||
|
format = "AMD Ryzen 7 8845HS";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "gpu";
|
||||||
|
format = "AMD Radeon 780M";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "memory";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "swap";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "disk";
|
||||||
|
key = " ├ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "monitor";
|
||||||
|
key = " └ ";
|
||||||
|
keyColor = "33";
|
||||||
|
format = "{2}x{3} px";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
41
home-manager/programs/foot.nix
Normal file
41
home-manager/programs/foot.nix
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
programs.foot = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
pad = "5x0";
|
||||||
|
dpi-aware = "yes";
|
||||||
|
};
|
||||||
|
|
||||||
|
mouse = {
|
||||||
|
hide-when-typing = "yes";
|
||||||
|
};
|
||||||
|
|
||||||
|
tweak = {
|
||||||
|
font-monospace-warn = "no";
|
||||||
|
};
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
foreground = "cdd6f4";
|
||||||
|
background = "1e1e2e";
|
||||||
|
regular0 = "1e1e2e"; # black
|
||||||
|
regular1 = "f38ba8"; # red
|
||||||
|
regular2 = "a6e3a1"; # green
|
||||||
|
regular3 = "f9e2af"; # yellow
|
||||||
|
regular4 = "89b4fa"; # blue
|
||||||
|
regular5 = "cba6f7"; # magenta
|
||||||
|
regular6 = "94e2d5"; # cyan
|
||||||
|
regular7 = "cdd6f4"; # white
|
||||||
|
bright0 = "45475a"; # bright black
|
||||||
|
bright1 = "f38ba8"; # bright red
|
||||||
|
bright2 = "a6e3a1"; # bright green
|
||||||
|
bright3 = "f9e2af"; # bright yellow
|
||||||
|
bright4 = "89b4fa"; # bright blue
|
||||||
|
bright5 = "cba6f7"; # bright magenta
|
||||||
|
bright6 = "94e2d5"; # bright cyan
|
||||||
|
bright7 = "b4befe"; # bright white
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
26
home-manager/programs/freetube.nix
Normal file
26
home-manager/programs/freetube.nix
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
programs.freetube = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
allowDashAv1Formats = true;
|
||||||
|
defaultQuality = "1080";
|
||||||
|
useSponsorBlock = true;
|
||||||
|
|
||||||
|
backendFallback = true;
|
||||||
|
|
||||||
|
autoplayPlaylists = false;
|
||||||
|
autoplayVideos = false;
|
||||||
|
expandSideBar = false;
|
||||||
|
hideLabelsSideBar = true;
|
||||||
|
|
||||||
|
checkForBlogPosts = false;
|
||||||
|
checkForUpdates = false;
|
||||||
|
|
||||||
|
mainColor = "CatppuccinMochaMauve";
|
||||||
|
secColor = "CatppuccinMochaPink";
|
||||||
|
baseTheme = "catppuccinMocha";
|
||||||
|
barColor = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
26
home-manager/programs/git.nix
Normal file
26
home-manager/programs/git.nix
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
userName = "Michał Czyż";
|
||||||
|
userEmail = "mike@c2yz.com";
|
||||||
|
|
||||||
|
signing = {
|
||||||
|
key = "9745B9E27E2B1ABB";
|
||||||
|
signByDefault = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
push.autoSetupRemote = true;
|
||||||
|
commit.gpgsign = true;
|
||||||
|
push.enabled = true;
|
||||||
|
column.ui = "auto";
|
||||||
|
branch.sort = "-committerdate";
|
||||||
|
pull.rebase = "false";
|
||||||
|
rerere.enabled = true;
|
||||||
|
tag.gpgSign = true;
|
||||||
|
push.gpgsign = "if-asked";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
16
home-manager/programs/gpg.nix
Normal file
16
home-manager/programs/gpg.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
defaultCacheTtl = 1800;
|
||||||
|
# enableSshSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# programs.ssh = {
|
||||||
|
# startAgent = true;
|
||||||
|
# # agentTimeout = "1h";
|
||||||
|
# extraConfig = ''
|
||||||
|
# AddKeysToAgent yes
|
||||||
|
# IdentityFile ~/.ssh/senpai_ed25519;
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
|
}
|
||||||
173
home-manager/programs/helix.nix
Normal file
173
home-manager/programs/helix.nix
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.helix = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# languages Configuration
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
languages = {
|
||||||
|
language = [
|
||||||
|
{
|
||||||
|
name = "nix";
|
||||||
|
auto-format = true;
|
||||||
|
language-servers = ["nixd" "nil"];
|
||||||
|
formatter = {
|
||||||
|
command = "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt";
|
||||||
|
# command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
|
||||||
|
# command = "${pkgs.alejandra}/bin/alejandra";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "bash";
|
||||||
|
auto-format = true;
|
||||||
|
language-servers = ["bash-language-server"];
|
||||||
|
formatter = {
|
||||||
|
command = "${pkgs.shfmt}/bin/shfmt";
|
||||||
|
args = ["-i" "2" "-ci"];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "python";
|
||||||
|
auto-format = true;
|
||||||
|
language-servers = ["pyright"];
|
||||||
|
formatter = {
|
||||||
|
command = "${pkgs.black}/bin/black";
|
||||||
|
args = ["--quiet" "-"];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "rust";
|
||||||
|
auto-format = false;
|
||||||
|
file-types = ["rs"];
|
||||||
|
language-servers = ["rust-analyzer"];
|
||||||
|
formatter = {command = "${pkgs.rustfmt}/bin/rustfmt";};
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "zig";
|
||||||
|
auto-format = true;
|
||||||
|
language-servers = ["zsl"];
|
||||||
|
formatter = {command = "${pkgs.zig}/bin/zig";};
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "html";
|
||||||
|
auto-format = true;
|
||||||
|
language-servers = ["vscode-langservers-extracted"];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "javascript";
|
||||||
|
auto-format = true;
|
||||||
|
language-servers = ["typescript-language-server"];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# Language Server Protocol Configuration
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
language-servers = {
|
||||||
|
nil = {command = "${pkgs.nixd}/bin/nixd";};
|
||||||
|
|
||||||
|
rust-analyzer = {
|
||||||
|
config = {
|
||||||
|
check = {command = "${pkgs.clippy}/bin/cargo-clippy";};
|
||||||
|
# cargo.features = "all";
|
||||||
|
checkOnSave.command = "${pkgs.clippy}/bin/cargo-clippy";
|
||||||
|
completion.autoimport.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
typescript-language-server = {
|
||||||
|
command = "${pkgs.nodePackages_latest.typescript-language-server}/bin/typescript-language-server";
|
||||||
|
args = ["--stdio"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# Needed Packages
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
# DEBUG
|
||||||
|
lldb_18
|
||||||
|
|
||||||
|
# lldb-vscode :
|
||||||
|
# c
|
||||||
|
# cpp
|
||||||
|
|
||||||
|
# = < NIX > =
|
||||||
|
# = Language Server Protocol =
|
||||||
|
nil
|
||||||
|
nixd
|
||||||
|
# = DAP =
|
||||||
|
|
||||||
|
# = Formatter =
|
||||||
|
# nixfmt
|
||||||
|
nixfmt-rfc-style
|
||||||
|
# alejandra
|
||||||
|
|
||||||
|
# = < Bash > =
|
||||||
|
# = Language Server Protocol =
|
||||||
|
nodePackages.bash-language-server
|
||||||
|
# = DAP =
|
||||||
|
# = Formatter =
|
||||||
|
shfmt
|
||||||
|
|
||||||
|
# = < Python > =
|
||||||
|
# = Language Server Protocol =
|
||||||
|
pyright
|
||||||
|
# = DAP =
|
||||||
|
# = Formatter =
|
||||||
|
black
|
||||||
|
|
||||||
|
# = < Rust > =
|
||||||
|
# = Language Server Protocol =
|
||||||
|
rust-analyzer
|
||||||
|
# = DAP =
|
||||||
|
lldb
|
||||||
|
# = Formatter =
|
||||||
|
# rust-fmt
|
||||||
|
clippy # Good place ?
|
||||||
|
|
||||||
|
# = < lua > =
|
||||||
|
# = Language Server Protocol =
|
||||||
|
lua-language-server
|
||||||
|
# = DAP =
|
||||||
|
# = Formatter =
|
||||||
|
|
||||||
|
# = < Zig > =
|
||||||
|
# = Language Server Protocol =
|
||||||
|
zls
|
||||||
|
# = DAP =
|
||||||
|
# lldb (commented because already called)
|
||||||
|
# = Formatter =
|
||||||
|
zig
|
||||||
|
|
||||||
|
# = < HTML > =
|
||||||
|
# = Language Server Protocol =
|
||||||
|
# vscode-html-language-server
|
||||||
|
vscode-langservers-extracted
|
||||||
|
# = DAP =
|
||||||
|
# = Formatter =
|
||||||
|
|
||||||
|
# = < CSS > =
|
||||||
|
# = Language Server Protocol =
|
||||||
|
nodePackages_latest.typescript-language-server
|
||||||
|
# = DAP =
|
||||||
|
# = Formatter =
|
||||||
|
|
||||||
|
# = Language Server Protocol =
|
||||||
|
docker-compose-language-service
|
||||||
|
dockerfile-language-server-nodejs
|
||||||
|
yaml-language-server
|
||||||
|
ansible-language-server
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
19
home-manager/programs/kitty.nix
Normal file
19
home-manager/programs/kitty.nix
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{lib, ...}: {
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
font = {
|
||||||
|
name = lib.mkForce "FiraCode Nerd Font";
|
||||||
|
size = 12;
|
||||||
|
};
|
||||||
|
|
||||||
|
themeFile = "rose-pine";
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
confirm_os_window_close = 0;
|
||||||
|
window_padding_width = 10;
|
||||||
|
scrollback_lines = 10000;
|
||||||
|
enable_audio_bell = false;
|
||||||
|
mouse_hide_wait = 60;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
10
home-manager/programs/librewolf.nix
Normal file
10
home-manager/programs/librewolf.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
programs.librewolf = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"browser.sessionstore.resume_from_crash" = false;
|
||||||
|
"DisableSystemAddonUpdate" = true;
|
||||||
|
"DisableSetDesktopBackground" = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
20
home-manager/programs/neovim.nix
Normal file
20
home-manager/programs/neovim.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# programs.neovim = {
|
||||||
|
# enable = true;
|
||||||
|
# # package = pkgs.neovim;
|
||||||
|
|
||||||
|
# # viAlias = true;
|
||||||
|
# # vimAlias = true;
|
||||||
|
# # vimdiffAlias = true;
|
||||||
|
|
||||||
|
# # defaultEditor = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
neovim
|
||||||
|
];
|
||||||
|
}
|
||||||
95
home-manager/programs/packages.nix
Normal file
95
home-manager/programs/packages.nix
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.direnv.enable = true;
|
||||||
|
programs.direnv.nix-direnv.enable = true;
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# > graphics < #
|
||||||
|
tuxpaint
|
||||||
|
# krita
|
||||||
|
gimp
|
||||||
|
|
||||||
|
# > terminal < #
|
||||||
|
kitty
|
||||||
|
kitty-themes
|
||||||
|
|
||||||
|
# > tools < #
|
||||||
|
git
|
||||||
|
wget
|
||||||
|
eza
|
||||||
|
yt-dlp
|
||||||
|
ffmpeg
|
||||||
|
texlive.combined.scheme-full
|
||||||
|
fastfetch
|
||||||
|
zoxide
|
||||||
|
btop
|
||||||
|
htop
|
||||||
|
killall
|
||||||
|
woeusb
|
||||||
|
pavucontrol
|
||||||
|
steam-run
|
||||||
|
unzip
|
||||||
|
openvpn
|
||||||
|
wol
|
||||||
|
direnv
|
||||||
|
p7zip
|
||||||
|
hoppscotch
|
||||||
|
networkmanagerapplet
|
||||||
|
protonvpn-cli_2
|
||||||
|
python3
|
||||||
|
pwvucontrol
|
||||||
|
|
||||||
|
# > media < #
|
||||||
|
spotify
|
||||||
|
vlc
|
||||||
|
mpv
|
||||||
|
obs-studio
|
||||||
|
okular
|
||||||
|
|
||||||
|
# > desktop < #
|
||||||
|
firefox
|
||||||
|
httrack
|
||||||
|
# whatsapp-for-linux
|
||||||
|
# telegram-desktop
|
||||||
|
kotatogram-desktop
|
||||||
|
# google-chrome
|
||||||
|
# chromium
|
||||||
|
brave
|
||||||
|
evolution
|
||||||
|
obsidian
|
||||||
|
foliate
|
||||||
|
helio-workstation
|
||||||
|
# vesktop
|
||||||
|
equibop
|
||||||
|
# inputs.zen-browser.packages."${system}".default
|
||||||
|
papers
|
||||||
|
|
||||||
|
|
||||||
|
# > gaming < #
|
||||||
|
prismlauncher
|
||||||
|
classicube
|
||||||
|
|
||||||
|
# > development < #
|
||||||
|
android-studio
|
||||||
|
seahorse
|
||||||
|
iwgtk
|
||||||
|
imv
|
||||||
|
feh
|
||||||
|
zed-editor
|
||||||
|
zint
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
|
pavucontrol
|
||||||
|
libreoffice
|
||||||
|
qalculate-gtk
|
||||||
|
file-roller
|
||||||
|
vim
|
||||||
|
# nixfmt-rfc-style
|
||||||
|
nemo
|
||||||
|
nixd
|
||||||
|
glfw-wayland-minecraft
|
||||||
|
];
|
||||||
|
}
|
||||||
61
home-manager/programs/qutebrowser.nix
Normal file
61
home-manager/programs/qutebrowser.nix
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
programs.qutebrowser = {
|
||||||
|
enable = false;
|
||||||
|
|
||||||
|
searchEngines = {
|
||||||
|
"DEFAULT" = "https://priv.au/search?q={}";
|
||||||
|
"d" = "https://duckduckgo.com/?q={}&ia=web";
|
||||||
|
|
||||||
|
"n" = "https://mynixos.com/search?q={}";
|
||||||
|
"nixo" = "https://search.nixos.org/options?channel=unstable&query={}";
|
||||||
|
"nixp" = "https://search.nixos.org/packages?channel=unstable&query={}";
|
||||||
|
"gt" = "https://github.com/search?q={}&type=repositories";
|
||||||
|
};
|
||||||
|
|
||||||
|
quickmarks = {
|
||||||
|
nwiki = "https://wiki.nixos.org/wiki/NixOS_Wiki";
|
||||||
|
nflake = "https://nixos-and-flakes.thiscute.world/introduction/";
|
||||||
|
nixy = "https://github.com/anotherhadi/nixy?tab=readme-ov-file";
|
||||||
|
nca = "https://github.com/nix-community/awesome-nix";
|
||||||
|
nc = "https://github.com/nix-community";
|
||||||
|
|
||||||
|
yb = "https://youatb.unibocconi.it/";
|
||||||
|
bk = "https://blackboard.unibocconi.it/ultra/stream";
|
||||||
|
pz = "https://piazza.com/class/m0nl57y6g4z1wh";
|
||||||
|
|
||||||
|
om = "https://outlook.office.com/mail/";
|
||||||
|
pm = "https://mail.proton.me/u/0/inbox";
|
||||||
|
tm = "https://app.tuta.com/mail/";
|
||||||
|
|
||||||
|
mai = "https://chat.mistral.ai/chat";
|
||||||
|
cai = "https://claude.ai/new";
|
||||||
|
|
||||||
|
chess = "https://www.chess.com/home";
|
||||||
|
lichess = "https://lichess.org/";
|
||||||
|
|
||||||
|
git = "https://github.com/dashboard";
|
||||||
|
berg = "https://codeberg.org/PyNEL/Dotfiles";
|
||||||
|
|
||||||
|
box = "http://192.168.1.254/#";
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
content = {
|
||||||
|
autoplay = false;
|
||||||
|
javascript.clipboard = "access";
|
||||||
|
prefers_reduced_motion = true;
|
||||||
|
cookies.accept = "no-3rdparty";
|
||||||
|
pdfjs = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
qt = {
|
||||||
|
highdpi = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
scrolling = {
|
||||||
|
bar = "never";
|
||||||
|
smooth = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
72
home-manager/programs/shell.nix
Normal file
72
home-manager/programs/shell.nix
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
{pkgs, ...}: let
|
||||||
|
cli = import ../configs/aliases.nix;
|
||||||
|
in {
|
||||||
|
programs = {
|
||||||
|
zoxide.enable = true;
|
||||||
|
|
||||||
|
eza = {
|
||||||
|
enable = true;
|
||||||
|
icons = "auto";
|
||||||
|
extraOptions = [
|
||||||
|
"--group-directories-first"
|
||||||
|
"--header"
|
||||||
|
"--icons"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
starship = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
add_newline = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
zellij = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
ui = {
|
||||||
|
pane_frames.hide_session_name = true;
|
||||||
|
pane_borderless = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
bash = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
shellAliases = cli.myAliases;
|
||||||
|
};
|
||||||
|
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
history.size = 10000000;
|
||||||
|
|
||||||
|
shellAliases = cli.myAliases;
|
||||||
|
|
||||||
|
# plugins = [
|
||||||
|
# {
|
||||||
|
# name = "powerlevel10k";
|
||||||
|
# src = pkgs.zsh-powerlevel10k;
|
||||||
|
# file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
|
||||||
|
autosuggestion = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
syntaxHighlighting = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
historySubstringSearch = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
initExtra = ''
|
||||||
|
eval "$(zoxide init --cmd cd zsh)"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
home-manager/programs/spicetify.nix
Normal file
18
home-manager/programs/spicetify.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [inputs.spicetify-nix.homeManagerModules.default];
|
||||||
|
|
||||||
|
programs.spicetify = {
|
||||||
|
enable = true;
|
||||||
|
#theme = spicePkgs.themes.catppuccin;
|
||||||
|
#colorScheme = "mocha";
|
||||||
|
enabledExtensions = with inputs.spicetify-nix.legacyPackages.${pkgs.system}.extensions; [
|
||||||
|
fullAppDisplay
|
||||||
|
shuffle
|
||||||
|
hidePodcasts
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
plugins = with pkgs.tmuxPlugins; [
|
plugins = with pkgs.tmuxPlugins; [
|
||||||
sensible
|
sensible
|
||||||
vim-tmux-navigator
|
vim-tmux-navigator
|
||||||
gruvbox
|
rose-pine
|
||||||
yank
|
yank
|
||||||
];
|
];
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
74
home-manager/programs/vscodium.nix
Normal file
74
home-manager/programs/vscodium.nix
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscode.fhsWithPackages (
|
||||||
|
ps:
|
||||||
|
with ps; [
|
||||||
|
rustup
|
||||||
|
zlib
|
||||||
|
openssl.dev
|
||||||
|
pkg-config
|
||||||
|
# nixfmt-rfc-style
|
||||||
|
python3
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
# extensions = with pkgs.vscode-extensions; [
|
||||||
|
# ms-python.python
|
||||||
|
# ms-python.debugpy
|
||||||
|
# jnoortheen.nix-ide
|
||||||
|
# mkhl.direnv
|
||||||
|
# arrterian.nix-env-selector
|
||||||
|
# mvllow.rose-pine
|
||||||
|
# github.copilot
|
||||||
|
# # github.copilot-chat
|
||||||
|
# ms-vsliveshare.vsliveshare
|
||||||
|
# rust-lang.rust-analyzer
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# userSettings = {
|
||||||
|
# "editor.fontSize" = 16;
|
||||||
|
# "editor.fontFamily" = "FiraCode Nerd Font";
|
||||||
|
# "explorer.confirmDelete" = false;
|
||||||
|
# "disable-hardware-acceleration" = true;
|
||||||
|
# "explorer.confirmDragAndDrop" = true;
|
||||||
|
# "git.openRepositoryInParentFolders" = "never";
|
||||||
|
#
|
||||||
|
# "[python]" = {
|
||||||
|
# "editor.defaultFormatter" = "ms-python.black-formatter";
|
||||||
|
# "editor.formatOnSave" = true;
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "nix.enableLanguageServer" = true;
|
||||||
|
# "nix.serverPath" = "${pkgs.nixd}/bin/nixd";
|
||||||
|
# "nix.serverSettings" = {
|
||||||
|
# "nixd" = {
|
||||||
|
# "formatting" = {
|
||||||
|
# "command" = ["${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt"];
|
||||||
|
# };
|
||||||
|
# "nixpkgs" = {
|
||||||
|
# "expr" = "import <nixpkgs> { }";
|
||||||
|
# "options" = {
|
||||||
|
# "nixos" = {
|
||||||
|
# "expr" = ''(builtins.getFlake "/home/mike/.files").nixosConfigurations.zion.options'';
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "editor.formatOnSave" = true;
|
||||||
|
#
|
||||||
|
# "editor.fontLigatures" = true;
|
||||||
|
# "editor.formatOnPaste" = true;
|
||||||
|
# "editor.minimap.enabled" = false;
|
||||||
|
#
|
||||||
|
# # "symbols.hidesExplorerArrows" = false;
|
||||||
|
#
|
||||||
|
# "workbench.iconTheme" = "rose-pine-icons";
|
||||||
|
# "workbench.colorTheme" = "Rosé Pine";
|
||||||
|
# "workbench.preferredDarkColorTheme" = "Rosé Pine";
|
||||||
|
# "workbench.preferredHighContrastColorTheme" = "Rosé Pine";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
12
home-manager/programs/yazi.nix
Normal file
12
home-manager/programs/yazi.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
programs.yazi = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
manager = {
|
||||||
|
sort_by = "alphabetical";
|
||||||
|
show_hidden = true;
|
||||||
|
show_symlink = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
home-manager/programs/zathura.nix
Normal file
14
home-manager/programs/zathura.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# Zathura is a PDF viewer
|
||||||
|
{
|
||||||
|
programs.zathura = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
options = {
|
||||||
|
guioptions = "v";
|
||||||
|
adjust-open = "width";
|
||||||
|
statusbar-basename = true;
|
||||||
|
render-loading = false;
|
||||||
|
scroll-step = 120;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
8
home-manager/system/dunst.nix
Normal file
8
home-manager/system/dunst.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = with pkgs; [libnotify];
|
||||||
|
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.dunst;
|
||||||
|
};
|
||||||
|
}
|
||||||
11
home-manager/system/hypr.nix
Normal file
11
home-manager/system/hypr.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
hostname,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
hypr
|
||||||
|
];
|
||||||
|
}
|
||||||
791
home-manager/system/hyprland.nix
Normal file
791
home-manager/system/hyprland.nix
Normal file
@@ -0,0 +1,791 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
hostname = "zion";
|
||||||
|
in {
|
||||||
|
# ------------------------------------------------
|
||||||
|
# Needed Packages
|
||||||
|
# ------------------------------------------------
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
qt6ct
|
||||||
|
qt6.qtwayland
|
||||||
|
|
||||||
|
hyprshot
|
||||||
|
hyprshade
|
||||||
|
hyprpicker
|
||||||
|
|
||||||
|
inputs.hyprsunset.packages."${pkgs.system}".hyprsunset
|
||||||
|
inputs.hyprsysteminfo.packages."${pkgs.system}".hyprsysteminfo
|
||||||
|
inputs.hyprpolkitagent.packages."${pkgs.system}".hyprpolkitagent
|
||||||
|
|
||||||
|
xdg-desktop-portal-hyprland
|
||||||
|
|
||||||
|
wev
|
||||||
|
wlr-randr
|
||||||
|
wdisplays
|
||||||
|
wl-clipboard
|
||||||
|
# wl-copy
|
||||||
|
# wl-paste
|
||||||
|
# wf-recorder
|
||||||
|
# wl-screenrec
|
||||||
|
|
||||||
|
playerctl
|
||||||
|
brightnessctl
|
||||||
|
];
|
||||||
|
|
||||||
|
# ------------------------------------------------
|
||||||
|
# Hyprland Config
|
||||||
|
# ------------------------------------------------
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||||
|
|
||||||
|
plugins = [
|
||||||
|
inputs.split-monitor-workspaces.packages."${pkgs.system}".split-monitor-workspaces
|
||||||
|
];
|
||||||
|
|
||||||
|
# ------------------------------------------------
|
||||||
|
# Configuration
|
||||||
|
# ------------------------------------------------
|
||||||
|
|
||||||
|
# settings = {
|
||||||
|
|
||||||
|
# "$mod" = "SUPER";
|
||||||
|
# "$shiftMod" = "SUPER_SHIFT";
|
||||||
|
# "$Alt_L" = "ALT";
|
||||||
|
|
||||||
|
# # App
|
||||||
|
# "$terminal" = "kitty";
|
||||||
|
# "$browser" = "firefox";
|
||||||
|
# "$launcher" = "rofi -show drun";
|
||||||
|
# "$file-manager" = "nemo";
|
||||||
|
# "$Tfile-manager" = "$terminal -e yazi";
|
||||||
|
# "$audio-manager" = "com.saivert.pwvucontrol";
|
||||||
|
# "$password-manager" = "org.keepassxc.KeePassXC";
|
||||||
|
# "$bluetooth-manager" = "io.github.kaii_lb.Overskride";
|
||||||
|
|
||||||
|
# # ------------------------------------------------
|
||||||
|
# # Envirronement variables
|
||||||
|
# # ------------------------------------------------
|
||||||
|
|
||||||
|
# env = [
|
||||||
|
# "XDG_SESSION_TYPE,wayland"
|
||||||
|
# "XDG_CURRENT_DESKTOP,Hyprland"
|
||||||
|
# "XDG_SESSION_DESKTOP,Hyprland"
|
||||||
|
|
||||||
|
# "DISABLE_QT5_COMPAT,1"
|
||||||
|
# "QT_QPA_PLATFORM,wayland"
|
||||||
|
# "QT_AUTO_SCREEN_SCALE_FACTOR,1"
|
||||||
|
# "QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
||||||
|
|
||||||
|
# "NIXOS_OZONE_WL,1"
|
||||||
|
# "ELECTRON_OZONE_PLATFORM_HINT,auto"
|
||||||
|
|
||||||
|
# "GTK_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# # ------------------------------------------------
|
||||||
|
# # Startup
|
||||||
|
# # ------------------------------------------------
|
||||||
|
|
||||||
|
# exec-once = [
|
||||||
|
# "waybar"
|
||||||
|
# # "systemctl --user start hyprpolkitagent"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# # ------------------------------------------------
|
||||||
|
# # Monitors
|
||||||
|
# # ------------------------------------------------
|
||||||
|
|
||||||
|
# monitor = [
|
||||||
|
# "HDMI-A-1, preferred, 0x360, 1"
|
||||||
|
# "DP-1, highrr, 4480x0, 1"
|
||||||
|
# "DP-2, highrr, 1920x0, 1"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# # ------------------------------------------------
|
||||||
|
# # Window Rules
|
||||||
|
# # ------------------------------------------------
|
||||||
|
|
||||||
|
# windowrule = [
|
||||||
|
# "float, ^($terminal)$"
|
||||||
|
# "size 45% 45%,^($terminal)$"
|
||||||
|
|
||||||
|
# "float, ^($password-manager)$"
|
||||||
|
# "size 50% 40%,^($password-manager)$"
|
||||||
|
|
||||||
|
# "float, ^($bluetooth-manager)$"
|
||||||
|
# "size 50% 60%,^($bluetooth-manager)$"
|
||||||
|
|
||||||
|
# "float, ^($audio-manager)$"
|
||||||
|
# "size 50% 30%,^($audio-manager)$"
|
||||||
|
|
||||||
|
# "noblur, class:^(steam)"
|
||||||
|
# "forcergbx, class:^(steam)"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# # ------------------------------------------------
|
||||||
|
# # Keybidings
|
||||||
|
# # ------------------------------------------------
|
||||||
|
|
||||||
|
# bind = [
|
||||||
|
# # Apps
|
||||||
|
# "ALT, code:10, exec, $browser"
|
||||||
|
# "ALT, code:11, exec, $file-manager"
|
||||||
|
# "ALT, code:12, exec, $Tfile-manager"
|
||||||
|
|
||||||
|
# # System
|
||||||
|
# "SUPER, RETURN, exec, $terminal"
|
||||||
|
# "SUPER, X, exec, powermenu"
|
||||||
|
# "SUPER, R, exec, $launcher"
|
||||||
|
|
||||||
|
# "SUPER, Q, killactive"
|
||||||
|
# "SUPER, F, fullscreen"
|
||||||
|
# "SUPER, T, togglefloating"
|
||||||
|
|
||||||
|
# # Screenshot
|
||||||
|
# "ALT, S , exec , hyprshot -m region --clipboard-only"
|
||||||
|
# "CONTROL&ALT , S , exec , hyprshot -m region "
|
||||||
|
# "CONTROL&ALT&SHIFT_L , S , exec , hyprshot -m output"
|
||||||
|
|
||||||
|
# # Window Focus
|
||||||
|
# "SUPER, h, movefocus, l"
|
||||||
|
# "SUPER, l, movefocus, r"
|
||||||
|
# "SUPER, k, movefocus, u"
|
||||||
|
# "SUPER, j, movefocus, d"
|
||||||
|
|
||||||
|
# # Switch workspaces with mainMod + [0-9]
|
||||||
|
# "SUPER, code:10, workspace, 1"
|
||||||
|
# "SUPER, code:11, workspace, 2"
|
||||||
|
# "SUPER, code:12, workspace, 3"
|
||||||
|
# "SUPER, code:13, workspace, 4"
|
||||||
|
# "SUPER, code:14, workspace, 5"
|
||||||
|
# "SUPER, code:15, workspace, 6"
|
||||||
|
# "SUPER, code:16, workspace, 7"
|
||||||
|
# "SUPER, code:17, workspace, 8"
|
||||||
|
# "SUPER, code:18, workspace, 9"
|
||||||
|
# "SUPER, code:19, workspace, 10"
|
||||||
|
|
||||||
|
# # Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
# "SUPER SHIFT, code:10, movetoworkspace, 1"
|
||||||
|
# "SUPER SHIFT, code:11, movetoworkspace, 2"
|
||||||
|
# "SUPER SHIFT, code:12, movetoworkspace, 3"
|
||||||
|
# "SUPER SHIFT, code:13, movetoworkspace, 4"
|
||||||
|
# "SUPER SHIFT, code:14, movetoworkspace, 5"
|
||||||
|
# "SUPER SHIFT, code:15, movetoworkspace, 6"
|
||||||
|
# "SUPER SHIFT, code:16, movetoworkspace, 7"
|
||||||
|
# "SUPER SHIFT, code:17, movetoworkspace, 8"
|
||||||
|
# "SUPER SHIFT, code:18, movetoworkspace, 9"
|
||||||
|
# "SUPER SHIFT, code:19, movetoworkspace, 10"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# bindm = [
|
||||||
|
# "SUPER, mouse:272, movewindow"
|
||||||
|
# "SUPER, mouse:273, resizewindow"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# bindl = [
|
||||||
|
# ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
# ",switch:Lid Switch, exec, pidof hyprlock || hyprlock"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# bindle = [
|
||||||
|
# ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ -l 1"
|
||||||
|
# ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"
|
||||||
|
|
||||||
|
# ", XF86AudioPlay , exec , playerctl play-pause"
|
||||||
|
# ", XF86AudioStop , exec , playerctl pause"
|
||||||
|
# ", XF86AudioPrev , exec , playerctl previous"
|
||||||
|
# ", XF86AudioNext , exec , playerctl next"
|
||||||
|
|
||||||
|
# ", XF86MonBrightnessUp, exec, brightnessctl -q s 5%+"
|
||||||
|
# ", XF86MonBrightnessDown, exec, brightnessctl -q s 5%-"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# # ------------------------------------------------
|
||||||
|
# # Sections
|
||||||
|
# # ------------------------------------------------
|
||||||
|
|
||||||
|
# xwayland = { enabled = false; };
|
||||||
|
# opengl = { force_introspection = 1; };
|
||||||
|
|
||||||
|
# animations = { enabled = false; };
|
||||||
|
# decoration = { drop_shadow = false; blur = { enabled = false; }; };
|
||||||
|
|
||||||
|
# general = {
|
||||||
|
# gaps_in = 4;
|
||||||
|
# gaps_out = 0;
|
||||||
|
# border_size = 2;
|
||||||
|
# "col.active_border" = "rgb(F5A97F) rgb(ED8796) rgb(C6A0F6) rgb(8AADF4) rgb(A6DA95) rgb(EED49F)";
|
||||||
|
|
||||||
|
# layout = "dwindle";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# misc = {
|
||||||
|
# vfr = true;
|
||||||
|
# vrr = 1;
|
||||||
|
|
||||||
|
# focus_on_activate = true;
|
||||||
|
|
||||||
|
# disable_autoreload = true;
|
||||||
|
# disable_hyprland_logo = true;
|
||||||
|
# disable_splash_rendering = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# input = {
|
||||||
|
# kb_layout = "us";
|
||||||
|
# kb_variant = "";
|
||||||
|
|
||||||
|
# follow_mouse = 1;
|
||||||
|
# accel_profile = "flat";
|
||||||
|
# sensitivity = 0.4;
|
||||||
|
# repeat_delay = 300;
|
||||||
|
# repeat_rate = 50;
|
||||||
|
|
||||||
|
# touchpad = {
|
||||||
|
# natural_scroll = true;
|
||||||
|
# clickfinger_behavior = true;
|
||||||
|
# disable_while_typing = true;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
extraConfig = ''
|
||||||
|
# This is an example Hyprland config file.
|
||||||
|
# Refer to the wiki for more information.
|
||||||
|
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
|
||||||
|
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
|
||||||
|
# You can split this configuration into multiple files
|
||||||
|
# Create your files separately and then link them to this file like this:
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
|
||||||
|
################
|
||||||
|
### MONITORS ###
|
||||||
|
################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor=, preferred, auto, 1
|
||||||
|
monitor=HDMI-A-1, preferred, 0x360, 1
|
||||||
|
monitor=DP-1, highrr, 4480x0, 1
|
||||||
|
monitor=DP-2, highrr, 1920x0, 1
|
||||||
|
|
||||||
|
|
||||||
|
###################
|
||||||
|
### MY PROGRAMS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
|
||||||
|
# Set programs that you use
|
||||||
|
$terminal = kitty
|
||||||
|
$fileManager = nemo
|
||||||
|
$menu = rofi -show drun
|
||||||
|
$lock = pidof hyprlock || hyprlock
|
||||||
|
$editor = zed
|
||||||
|
$browser = zen-browser
|
||||||
|
$picker = hyprpicker -a -f hex
|
||||||
|
|
||||||
|
#################
|
||||||
|
### AUTOSTART ###
|
||||||
|
#################
|
||||||
|
|
||||||
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||||
|
|
||||||
|
# exec-once = hyprpm reload -n
|
||||||
|
exec-once = hypridle
|
||||||
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
# exec-once=zsh $HOME/.config/hypr/autostart.sh
|
||||||
|
exec-once = waybar
|
||||||
|
# exec-once = keepassxc
|
||||||
|
|
||||||
|
#############################
|
||||||
|
### ENVIRONMENT VARIABLES ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||||
|
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = XCURSOR_THEME,/usr/share/icons/Gruvbox-Dark/index.theme
|
||||||
|
env = HYPRCURSOR_SIZE,24
|
||||||
|
env = HYPRCURSOR_THEME,/usr/share/icons/Gruvbox-Dark/index.theme
|
||||||
|
|
||||||
|
env = CLUTTER_BACKEND,wayland
|
||||||
|
env = GDK_BACKEND,wayland,x11
|
||||||
|
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||||
|
env = QT_QPA_PLATFORMTHEME,qt5ct
|
||||||
|
env = QT_QPA_PLATFORMTHEME,qt6ct
|
||||||
|
env = QT_SCALE_FACTOR,1
|
||||||
|
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||||
|
|
||||||
|
# Nvidia
|
||||||
|
env = LIBVA_DRIVER_NAME,nvidia
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
env = GBM_BACKEND,nvidia-drm
|
||||||
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
|
env = WLR_NO_HARDWARE_CURSORS,1
|
||||||
|
env = __NV_PRIME_RENDER_OFFLOAD,1
|
||||||
|
env = __VK_LAYER_NV_optimus,NVIDIA_only
|
||||||
|
env = __GL_THREADED_OPTIMIZATIONS,0
|
||||||
|
|
||||||
|
# Wayland enforce
|
||||||
|
env = QT_QPA_PLATFORM,wayland
|
||||||
|
# env = QT_QPA_PLATFORM,wayland;xcb
|
||||||
|
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
|
||||||
|
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||||
|
env = XDG_SESSION_DESKTOP,Hyprland
|
||||||
|
|
||||||
|
# Java
|
||||||
|
env = _JAVA_AWT_WM_NONREPARENTING,1
|
||||||
|
env = _JAVA_OPTIONS,-Dawt.useSystemAAFontSettings=on
|
||||||
|
|
||||||
|
# Firefox
|
||||||
|
env = MOZ_ENABLE_WAYLAND,1
|
||||||
|
env = MOZ_DISABLE_RDD_SANDBOX,1
|
||||||
|
env = EGL_PLATFORM,wayland
|
||||||
|
|
||||||
|
# Electron
|
||||||
|
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
||||||
|
|
||||||
|
# Input
|
||||||
|
env = QT_IM_MODULE,fcitx
|
||||||
|
env = XMODIFIERS=@im=fcitx
|
||||||
|
env = GLFW_IM_MODULE,ibus
|
||||||
|
|
||||||
|
# SSH Agents
|
||||||
|
env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket
|
||||||
|
|
||||||
|
env = NIXOS_OZONE_WL,1
|
||||||
|
|
||||||
|
#####################
|
||||||
|
### LOOK AND FEEL ###
|
||||||
|
#####################
|
||||||
|
|
||||||
|
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||||
|
general {
|
||||||
|
gaps_in = 10
|
||||||
|
gaps_out = 20
|
||||||
|
|
||||||
|
border_size = 1
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||||
|
col.active_border = rgba(fabd2fee) rgba(fe8019ee) 45deg
|
||||||
|
col.inactive_border = rgba(928374aa)
|
||||||
|
|
||||||
|
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||||
|
resize_on_border = false
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||||
|
decoration {
|
||||||
|
rounding = 10
|
||||||
|
|
||||||
|
# Change transparency of focused and unfocused windows
|
||||||
|
active_opacity = 0.98
|
||||||
|
inactive_opacity = 0.95
|
||||||
|
|
||||||
|
# drop_shadow = true
|
||||||
|
# shadow_range = 5
|
||||||
|
# shadow_render_power = 3
|
||||||
|
# col.shadow = rgba(1a1a1aee)
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 4
|
||||||
|
passes = 3
|
||||||
|
|
||||||
|
vibrancy = 0.1696
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor {
|
||||||
|
no_hardware_cursors = true
|
||||||
|
inactive_timeout = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
dwindle {
|
||||||
|
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = true # You probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
master {
|
||||||
|
new_status = master
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||||
|
misc {
|
||||||
|
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
|
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#############
|
||||||
|
### INPUT ###
|
||||||
|
#############
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||||
|
input {
|
||||||
|
kb_layout = pl
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
numlock_by_default = true
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||||
|
gestures {
|
||||||
|
workspace_swipe = false
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||||
|
# device {
|
||||||
|
# name = epic-mouse-v1
|
||||||
|
# sensitivity = -0.5
|
||||||
|
# }
|
||||||
|
|
||||||
|
###############
|
||||||
|
### PLUGINS ###
|
||||||
|
###############
|
||||||
|
|
||||||
|
plugin {
|
||||||
|
split-monitor-workspaces {
|
||||||
|
count = 10
|
||||||
|
keep_focused = 1
|
||||||
|
enable_notifications = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
##############
|
||||||
|
### RENDER ###
|
||||||
|
##############
|
||||||
|
|
||||||
|
render {
|
||||||
|
explicit_sync = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
xwayland {
|
||||||
|
force_zero_scaling = true
|
||||||
|
}
|
||||||
|
|
||||||
|
####################
|
||||||
|
### KEYBINDINGSS ###
|
||||||
|
####################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod SHIFT, RETURN, exec, $terminal
|
||||||
|
bind = $mainMod, Q, killactive,
|
||||||
|
bind = $mainMod SHIFT, Q, exit
|
||||||
|
bind = $mainMod, N, exec, $fileManager
|
||||||
|
bind = $mainMod, W, exec, $editor
|
||||||
|
bind = $mainMod, Z, exec, $terminal
|
||||||
|
bind = $mainMod, B, exec, $browser
|
||||||
|
bind = $mainMod SHIFT, L, exec, $lock
|
||||||
|
bind = $mainMod, V, togglefloating,
|
||||||
|
bind = $mainMod, R, exec, $menu
|
||||||
|
bind = $mainMod, SPACE, exec, $menu
|
||||||
|
bind = $mainMod SHIFT, C, exec, $picker
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
bind = $mainMod, F, fullscreen, 1
|
||||||
|
bind = $mainMod SHIFT, F, fullscreen, 0
|
||||||
|
bind = $mainMod, T, togglefloating
|
||||||
|
bind = $mainMod, mouse:274, togglefloating
|
||||||
|
|
||||||
|
# Super Rat Binds
|
||||||
|
bind = , mouse:277, exec, amixer set Master playback 2%+
|
||||||
|
bind = , mouse:278, exec, amixer set Master playback 2%-
|
||||||
|
# bind = , mouse:279, exec,
|
||||||
|
bind = , mouse:280, exec, amixer set Capture toggle
|
||||||
|
|
||||||
|
# Move focus with mainMod + vim keys
|
||||||
|
bind = $mainMod, H, movefocus, l
|
||||||
|
bind = $mainMod, L, movefocus, r
|
||||||
|
bind = $mainMod, K, movefocus, u
|
||||||
|
bind = $mainMod, J, movefocus, d
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, split-workspace, 1
|
||||||
|
bind = $mainMod, 2, split-workspace, 2
|
||||||
|
bind = $mainMod, 3, split-workspace, 3
|
||||||
|
bind = $mainMod, 4, split-workspace, 4
|
||||||
|
bind = $mainMod, 5, split-workspace, 5
|
||||||
|
bind = $mainMod, 6, split-workspace, 6
|
||||||
|
bind = $mainMod, 7, split-workspace, 7
|
||||||
|
bind = $mainMod, 8, split-workspace, 8
|
||||||
|
bind = $mainMod, 9, split-workspace, 9
|
||||||
|
bind = $mainMod, 0, split-workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1
|
||||||
|
bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2
|
||||||
|
bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3
|
||||||
|
bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4
|
||||||
|
bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5
|
||||||
|
bind = $mainMod SHIFT, 6, split-movetoworkspacesilent, 6
|
||||||
|
bind = $mainMod SHIFT, 7, split-movetoworkspacesilent, 7
|
||||||
|
bind = $mainMod SHIFT, 8, split-movetoworkspacesilent, 8
|
||||||
|
bind = $mainMod SHIFT, 9, split-movetoworkspacesilent, 9
|
||||||
|
bind = $mainMod SHIFT, 0, split-movetoworkspacesilent, 10
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
bind = $mainMod, D, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, D, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
# Move between monitors
|
||||||
|
bind = $mainMod, code:60, focusmonitor, -1 # code 60 is a dot (.)
|
||||||
|
bind = $mainMod, code:59, focusmonitor, +1 # code 59 is a comma (,)
|
||||||
|
# bind = $mainMod SHIFT, BackSpace, movewindow, mon:+1,
|
||||||
|
# bind = $mainMod SHIFT, code:59, changemonitorsilent, e-1
|
||||||
|
# bind = $mainMod SHIFT, code:60, changemonitorsilent, e+1
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
bind = ,XF86AudioMicMute, exec, amixer set Capture toggle
|
||||||
|
bind = ,XF86AudioMute, exec, amixer set Master toggle
|
||||||
|
bind = ,XF86AudioRaiseVolume, exec, amixer set Master playback 2%+
|
||||||
|
bind = ,XF86AudioLowerVolume, exec, amixer set Master playback 2%-
|
||||||
|
bind = ,XF86MonBrightnessUp, exec, brightnessctl set 5%+
|
||||||
|
bind = ,XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||||
|
# bind =CTRL,XF86Launch2, exec, hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1"
|
||||||
|
# bind = SHIFT,XF86Launch2, exec, hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1.5"
|
||||||
|
bind = SHIFT, XF86MonBrightnessDown, exec, brightnessctl set 1%
|
||||||
|
bind = SHIFT, XF86MonBrightnessUp, exec, brightnessctl set 100%
|
||||||
|
|
||||||
|
# Screenshot a window
|
||||||
|
bind = $mainMod, PRINT, exec, hyprshot -m window
|
||||||
|
# Screenshot a monitor
|
||||||
|
bind = , PRINT, exec, hyprshot -m output
|
||||||
|
# Screenshot a region
|
||||||
|
bind = $mainMod SHIFT, S, exec, hyprshot -m region
|
||||||
|
|
||||||
|
##############################
|
||||||
|
### WINDOWS AND WORKSPACES ###
|
||||||
|
##############################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||||
|
|
||||||
|
# Example windowrule v1
|
||||||
|
# windowrule = float, ^(kitty)$
|
||||||
|
|
||||||
|
windowrule=opacity 1.0 override 1.0, ^(firefox)$
|
||||||
|
|
||||||
|
# Example windowrule v2
|
||||||
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||||
|
|
||||||
|
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
||||||
|
|
||||||
|
windowrule=fullscreen, flameshot
|
||||||
|
windowrule=float,flameshot
|
||||||
|
windowrule=monitor 0,flameshot
|
||||||
|
windowrule=move 0 0,flameshot
|
||||||
|
windowrule=workspace 0,flameshot
|
||||||
|
windowrule=stayfocused,flameshot
|
||||||
|
|
||||||
|
windowrulev2=move 0 -195,class:^(flameshot)$
|
||||||
|
|
||||||
|
windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
|
||||||
|
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
|
||||||
|
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
|
||||||
|
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
|
||||||
|
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Hyprpaper
|
||||||
|
#################################
|
||||||
|
services.hyprpaper = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
ipc = "off";
|
||||||
|
splash = false;
|
||||||
|
preload = ["~/.files/home/wallpapers/blockwavemoon.png"];
|
||||||
|
wallpaper = [",~/.files/home/wallpapers/blockwavemoon.png"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Hypridle
|
||||||
|
#################################
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
lock_cmd = "pidof hyprlock || hyprlock";
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
|
};
|
||||||
|
|
||||||
|
listener =
|
||||||
|
if hostname == "zion"
|
||||||
|
then [
|
||||||
|
# {
|
||||||
|
# timeout = 60;
|
||||||
|
# on-timeout = "brightnessctl -sd asus::kbd_backlight set 0";
|
||||||
|
# on-resume = "brightnessctl -rd asus::kbd_backlight";
|
||||||
|
# }
|
||||||
|
|
||||||
|
# {
|
||||||
|
# timeout = 80;
|
||||||
|
# on-timeout = "brightnessctl -s set 0";
|
||||||
|
# on-resume = "brightnessctl -r";
|
||||||
|
# }
|
||||||
|
|
||||||
|
# {
|
||||||
|
# timeout = 100;
|
||||||
|
# on-timeout = "hyprctl dispatch dpms off ";
|
||||||
|
# on-resume = "hyprctl dispatch dpms on";
|
||||||
|
# }
|
||||||
|
|
||||||
|
# {
|
||||||
|
# timeout = 150;
|
||||||
|
# on-timeout = "systemctl suspend";
|
||||||
|
# }
|
||||||
|
{
|
||||||
|
timeout = 300; # 5min
|
||||||
|
on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
||||||
|
on-resume = "brightnessctl -r"; # monitor backlight restore.
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
timeout = 600; # 10min
|
||||||
|
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
|
||||||
|
}
|
||||||
|
|
||||||
|
# {
|
||||||
|
# timeout = 1800; # 30min
|
||||||
|
# on-timeout = "systemctl hibernate";
|
||||||
|
# on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||||
|
# on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||||
|
# }
|
||||||
|
]
|
||||||
|
else if hostname == "thor"
|
||||||
|
then [
|
||||||
|
{
|
||||||
|
timeout = 450;
|
||||||
|
on-timeout = "brightnessctl -s set 0";
|
||||||
|
on-resume = "brightnessctl -r";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
timeout = 600;
|
||||||
|
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
timeout = 750;
|
||||||
|
on-timeout = "hyprctl dispatch dpms off ";
|
||||||
|
on-resume = "hyprctl dispatch dpms on";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
timeout = 900;
|
||||||
|
on-timeout = "systemctl suspend";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
timeout = 1500;
|
||||||
|
on-timeout = "systemctl hibernate";
|
||||||
|
}
|
||||||
|
]
|
||||||
|
else [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Hyprlock
|
||||||
|
#################################
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = lib.mkForce {
|
||||||
|
general = {
|
||||||
|
grace = 5;
|
||||||
|
no_fade_in = true;
|
||||||
|
no_fade_out = true;
|
||||||
|
disable_loading_bar = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
background = {
|
||||||
|
monitor = "";
|
||||||
|
path = "~/.files/home/wallpapers/blockwavemoon.png";
|
||||||
|
};
|
||||||
|
|
||||||
|
input-field = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
size = "200 , 50";
|
||||||
|
outline_thickness = 7;
|
||||||
|
|
||||||
|
dots_size = 0.2;
|
||||||
|
dots_spacing = 0.2;
|
||||||
|
dots_center = true;
|
||||||
|
|
||||||
|
fade_on_empty = true;
|
||||||
|
fade_timeout = "1000";
|
||||||
|
|
||||||
|
position = "0, -20";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,15 +1,12 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
config,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs; [
|
package = pkgs.rofi-wayland;
|
||||||
rofi-calc
|
|
||||||
];
|
|
||||||
location = "center";
|
location = "center";
|
||||||
theme = "gruvbox-dark-soft";
|
theme = lib.mkForce ../configs/rose-pine.rasi;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
86
home-manager/system/stylix.nix
Normal file
86
home-manager/system/stylix.nix
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [inputs.stylix.homeManagerModules.stylix];
|
||||||
|
|
||||||
|
#qt = {
|
||||||
|
# enable = false;
|
||||||
|
# style.name = "gtk2";
|
||||||
|
# platformTheme.name = "gtk";
|
||||||
|
#};
|
||||||
|
|
||||||
|
gtk.iconTheme = {
|
||||||
|
name = "Papirus-Dark";
|
||||||
|
package = pkgs.papirus-icon-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
enable = true;
|
||||||
|
autoEnable = true;
|
||||||
|
|
||||||
|
targets = {
|
||||||
|
gnome.enable = true;
|
||||||
|
gtk.enable = true;
|
||||||
|
# foot.enable = false;
|
||||||
|
wofi.enable = false;
|
||||||
|
# tofi.enable = false;
|
||||||
|
vscode.enable = false;
|
||||||
|
waybar.enable = false;
|
||||||
|
hyprland.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
image = ../wallpapers/blockwavemoon.png;
|
||||||
|
|
||||||
|
override = {
|
||||||
|
base00 = "191724";
|
||||||
|
base01 = "1f1d2e";
|
||||||
|
base02 = "26233a";
|
||||||
|
base03 = "6e6a86";
|
||||||
|
base04 = "908caa";
|
||||||
|
base05 = "e0def4";
|
||||||
|
base06 = "e0def4";
|
||||||
|
base07 = "524f67";
|
||||||
|
base08 = "eb6f92";
|
||||||
|
base09 = "f6c177";
|
||||||
|
base0A = "ebbcba";
|
||||||
|
base0B = "31748f";
|
||||||
|
base0C = "9ccfd8";
|
||||||
|
base0D = "c4a7e7";
|
||||||
|
base0E = "f6c177";
|
||||||
|
base0F = "524f67";
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
size = 24;
|
||||||
|
name = "Bibata-Modern-Ice";
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-emoji;
|
||||||
|
name = "noto-fonts-color-emoji";
|
||||||
|
};
|
||||||
|
|
||||||
|
monospace = {
|
||||||
|
# package = pkgs.nerd-fonts.droid-sans-mono;
|
||||||
|
package = pkgs.nerdfonts.override {fonts = ["DroidSansMono"];};
|
||||||
|
name = "DroidSansMono";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
# package = pkgs.nerd-fonts.droid-sans-mono;
|
||||||
|
package = pkgs.nerdfonts.override {fonts = ["DroidSansMono"];};
|
||||||
|
name = "DroidSansMono";
|
||||||
|
};
|
||||||
|
|
||||||
|
serif = {
|
||||||
|
# package = pkgs.nerd-fonts.droid-sans-mono;
|
||||||
|
package = pkgs.nerdfonts.override {fonts = ["DroidSansMono"];};
|
||||||
|
name = "DroidSansMono";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
34
home-manager/system/theme.nix
Normal file
34
home-manager/system/theme.nix
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
in {
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme.name = "qtct";
|
||||||
|
style = {
|
||||||
|
name = "kvantum";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile = {
|
||||||
|
# "Kvantum/kvantum.kvconfig".text = ''
|
||||||
|
# [General]
|
||||||
|
# theme=GraphiteNordDark
|
||||||
|
# '';
|
||||||
|
|
||||||
|
# "Kvantum/GraphiteNord".source = "${pkgs.graphite-kde-theme}/share/Kvantum/GraphiteNord";
|
||||||
|
|
||||||
|
"Kvantum/kvantum.kvconfig".text = ''
|
||||||
|
[General]
|
||||||
|
theme=rosepine-kvantum
|
||||||
|
'';
|
||||||
|
|
||||||
|
"Kvantum/rosepine-kvantum".source = "${
|
||||||
|
inputs.rosepine-kvantum.packages.${pkgs.system}.default
|
||||||
|
}/share/Kvantum/rosepine-kvantum";
|
||||||
|
# "Kvantum/rosepine".source = ../configs/Kvantum/rosepine-kvantum;
|
||||||
|
};
|
||||||
|
}
|
||||||
35
home-manager/system/tofi.nix
Normal file
35
home-manager/system/tofi.nix
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
programs.tofi = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# font
|
||||||
|
font-size = 12;
|
||||||
|
|
||||||
|
# Window Style
|
||||||
|
horizontal = true;
|
||||||
|
anchor = "top";
|
||||||
|
width = "100%";
|
||||||
|
height = "15%";
|
||||||
|
|
||||||
|
result-spacing = 25;
|
||||||
|
min-input-width = 120;
|
||||||
|
|
||||||
|
# Style
|
||||||
|
padding-top = 0;
|
||||||
|
padding-bottom = 0;
|
||||||
|
padding-left = 0;
|
||||||
|
padding-right = 0;
|
||||||
|
|
||||||
|
outline-width = 0;
|
||||||
|
border-width = 0;
|
||||||
|
|
||||||
|
prompt-text = " ❯ ";
|
||||||
|
num-results = 7;
|
||||||
|
|
||||||
|
text-color = "#cdd6f4";
|
||||||
|
prompt-color = "#f38ba8";
|
||||||
|
selection-color = "#f9e2af";
|
||||||
|
background-color = "#1a1b26";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
575
home-manager/system/waybar.nix
Normal file
575
home-manager/system/waybar.nix
Normal file
@@ -0,0 +1,575 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.waybar.overrideAttrs (oa: {mesonFlags = (oa.mesonFlags or []) ++ ["-Dexperimental=true"];});
|
||||||
|
|
||||||
|
settings.mainBar = {
|
||||||
|
layer = "top"; # Waybar at top layer
|
||||||
|
height = 32; # Waybar height (to be removed for auto height)
|
||||||
|
spacing = 0; # Gaps between modules (4px)
|
||||||
|
position = "top";
|
||||||
|
margin = "10 20 0";
|
||||||
|
# Choose the order of the modules
|
||||||
|
modules-left = [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
"custom/media"
|
||||||
|
];
|
||||||
|
modules-center = ["hyprland/window"];
|
||||||
|
modules-right = [
|
||||||
|
"mpris"
|
||||||
|
# "idle_inhibitor",
|
||||||
|
"pulseaudio"
|
||||||
|
# "network",
|
||||||
|
"cpu"
|
||||||
|
"memory"
|
||||||
|
# "temperature",
|
||||||
|
"backlight"
|
||||||
|
# "keyboard-state",
|
||||||
|
"battery"
|
||||||
|
"clock"
|
||||||
|
"tray"
|
||||||
|
];
|
||||||
|
# Modules configuration
|
||||||
|
# sway/workspaces = {
|
||||||
|
# "disable-scroll = true,
|
||||||
|
# "all-outputs = true,
|
||||||
|
# "warp-on-scroll = false,
|
||||||
|
# "format = "{name}: {icon}",
|
||||||
|
# "format-icons = {
|
||||||
|
# "1 = "",
|
||||||
|
# "2 = "",
|
||||||
|
# "3 = "",
|
||||||
|
# "4 = "",
|
||||||
|
# "5 = "",
|
||||||
|
# "urgent = "",
|
||||||
|
# "focused = "",
|
||||||
|
# "default = ""
|
||||||
|
# }
|
||||||
|
# },
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
active-only = false;
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
"1" = "一";
|
||||||
|
"2" = "二";
|
||||||
|
"3" = "三";
|
||||||
|
"4" = "四";
|
||||||
|
"5" = "五";
|
||||||
|
"6" = "六";
|
||||||
|
"7" = "七";
|
||||||
|
"8" = "八";
|
||||||
|
"9" = "九";
|
||||||
|
"10" = "十";
|
||||||
|
"11" = "一";
|
||||||
|
"12" = "二";
|
||||||
|
"13" = "三";
|
||||||
|
"14" = "四";
|
||||||
|
"15" = "五";
|
||||||
|
"16" = "六";
|
||||||
|
"17" = "七";
|
||||||
|
"18" = "八";
|
||||||
|
"19" = "九";
|
||||||
|
"20" = "十";
|
||||||
|
"21" = "一";
|
||||||
|
"22" = "二";
|
||||||
|
"23" = "三";
|
||||||
|
"24" = "四";
|
||||||
|
"25" = "五";
|
||||||
|
"26" = "六";
|
||||||
|
"27" = "七";
|
||||||
|
"28" = "八";
|
||||||
|
"29" = "九";
|
||||||
|
"30" = "十";
|
||||||
|
};
|
||||||
|
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||||
|
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||||
|
persistent-workspaces = {
|
||||||
|
HDMI-A-1 = [1 2 3 4 5 6 7 8 9 10];
|
||||||
|
DP-1 = [11 12 13 14 15 16 17 18 19 20];
|
||||||
|
DP-2 = [21 22 23 24 25 26 27 28 29 30];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
keyboard-state = {
|
||||||
|
numlock = false;
|
||||||
|
capslock = true;
|
||||||
|
format = "{name} {icon}";
|
||||||
|
format-icons = {
|
||||||
|
locked = "";
|
||||||
|
unlocked = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"sway/mode" = {
|
||||||
|
format = "<span style=\"italic\">{}</span>";
|
||||||
|
};
|
||||||
|
"sway/scratchpad" = {
|
||||||
|
format = "{icon} {count}";
|
||||||
|
show-empty = false;
|
||||||
|
format-icons = ["" ""];
|
||||||
|
tooltip = true;
|
||||||
|
tooltip-format = "{app}: {title}";
|
||||||
|
};
|
||||||
|
mpris = {
|
||||||
|
interval = 1;
|
||||||
|
format = "{player_icon} {status_icon}";
|
||||||
|
format-paused = "{player_icon} {status_icon}";
|
||||||
|
tooltip-format = "{player_icon} {dynamic}";
|
||||||
|
tooltip-format-paused = "{player_icon} {dynamic}";
|
||||||
|
player-icons = {
|
||||||
|
default = "";
|
||||||
|
mpv = "";
|
||||||
|
vlc = "";
|
||||||
|
spotify = "";
|
||||||
|
};
|
||||||
|
status-icons = {
|
||||||
|
playing = "";
|
||||||
|
paused = "";
|
||||||
|
stopped = "";
|
||||||
|
};
|
||||||
|
# "ignored-players = ["firefox"]
|
||||||
|
};
|
||||||
|
mpd = {
|
||||||
|
format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ";
|
||||||
|
format-disconnected = "Disconnected ";
|
||||||
|
format-stopped = "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ";
|
||||||
|
unknown-tag = "N/A";
|
||||||
|
interval = 2;
|
||||||
|
consume-icons = {
|
||||||
|
on = " ";
|
||||||
|
};
|
||||||
|
random-icons = {
|
||||||
|
off = "<span color=\"#f53c3c\"></span> ";
|
||||||
|
on = " ";
|
||||||
|
};
|
||||||
|
repeat-icons = {
|
||||||
|
on = " ";
|
||||||
|
};
|
||||||
|
single-icons = {
|
||||||
|
on = "1 ";
|
||||||
|
};
|
||||||
|
state-icons = {
|
||||||
|
paused = "";
|
||||||
|
playing = "";
|
||||||
|
};
|
||||||
|
tooltip-format = "MPD (connected)";
|
||||||
|
tooltip-format-disconnected = "MPD (disconnected)";
|
||||||
|
};
|
||||||
|
idle_inhibitor = {
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
activated = "";
|
||||||
|
deactivated = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
tray = {
|
||||||
|
# "icon-size = 21,
|
||||||
|
spacing = 10;
|
||||||
|
show-passive-items = true;
|
||||||
|
};
|
||||||
|
clock = {
|
||||||
|
format = "{:%b %d %I:%M %p}";
|
||||||
|
tooltip-format = "<big>{:%d %B %Y}</big>\n<tt><small>{calendar}</small></tt>";
|
||||||
|
format-alt = "{:%Y-%m-%d %I:%M %p}";
|
||||||
|
};
|
||||||
|
cpu = {
|
||||||
|
format = "{usage}% ";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
memory = {
|
||||||
|
format = "{}% ";
|
||||||
|
};
|
||||||
|
temperature = {
|
||||||
|
# "thermal-zone = 2,
|
||||||
|
# "hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input",
|
||||||
|
critical-threshold = 80;
|
||||||
|
# "format-critical = "{temperatureC}°C {icon}",
|
||||||
|
format = "{temperatureC}°C {icon}";
|
||||||
|
format-icons = ["" "" " "];
|
||||||
|
};
|
||||||
|
backlight = {
|
||||||
|
# "device = "acpi_video1",
|
||||||
|
format = "{percent}% {icon}";
|
||||||
|
format-icons = ["" "" "" "" "" "" "" "" ""];
|
||||||
|
};
|
||||||
|
battery = {
|
||||||
|
# bat = "BAT0";
|
||||||
|
states = {
|
||||||
|
good = 95;
|
||||||
|
warning = 30;
|
||||||
|
critical = 15;
|
||||||
|
};
|
||||||
|
format = "{capacity}% {icon}";
|
||||||
|
format-charging = "{capacity}% ";
|
||||||
|
format-plugged = "{capacity}% ";
|
||||||
|
format-alt = "{time} {icon}";
|
||||||
|
# "format-good = "", # An empty format will hide the module
|
||||||
|
# "format-full = "",
|
||||||
|
format-icons = ["" "" "" "" ""];
|
||||||
|
interval = 10;
|
||||||
|
weighted-average = true;
|
||||||
|
};
|
||||||
|
network = {
|
||||||
|
# "interface = "wlp2*", # (Optional) To force the use of this interface
|
||||||
|
format-wifi = "{essid} ({signalStrength}%) ";
|
||||||
|
format-ethernet = "{ipaddr}/{cidr} ";
|
||||||
|
tooltip-format = "{ifname} via {gwaddr} ";
|
||||||
|
format-linked = "{ifname} (No IP) ";
|
||||||
|
format-disconnected = "Disconnected ⚠";
|
||||||
|
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
||||||
|
on-click-right = "kitty nmtui";
|
||||||
|
};
|
||||||
|
pulseaudio = {
|
||||||
|
# "scroll-step = 1, # %, can be a float
|
||||||
|
format = "{volume}% {icon} {format_source}";
|
||||||
|
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||||
|
format-bluetooth-muted = " {icon} {format_source}";
|
||||||
|
format-muted = " {format_source}";
|
||||||
|
format-source = " {volume}% ";
|
||||||
|
format-source-muted = " ";
|
||||||
|
format-icons = {
|
||||||
|
headphone = "";
|
||||||
|
hands-free = "";
|
||||||
|
headset = "";
|
||||||
|
phone = "";
|
||||||
|
portable = "";
|
||||||
|
car = "";
|
||||||
|
default = ["" "" ""];
|
||||||
|
};
|
||||||
|
on-click = "pavucontrol";
|
||||||
|
};
|
||||||
|
"custom/media" = {
|
||||||
|
format = "{icon} {}";
|
||||||
|
return-type = "json";
|
||||||
|
max-length = 40;
|
||||||
|
format-icons = {
|
||||||
|
spotify = "";
|
||||||
|
default = "🎜";
|
||||||
|
};
|
||||||
|
escape = true;
|
||||||
|
exec = "$HOME/.config/waybar/mediaplayer.py 2> /dev/null"; # Script in resources folder
|
||||||
|
# exec = "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" # Filter player based on name
|
||||||
|
};
|
||||||
|
"custom/archicon" = {
|
||||||
|
format = "";
|
||||||
|
# "on-click":"nwg-menu -d -fm nemo -cmd-lock gtklock -va top",
|
||||||
|
on-click = "jgmenu_run";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# CSS Styling
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
style = ''
|
||||||
|
/*
|
||||||
|
* Variant: Rosé Pine
|
||||||
|
* Maintainer: DankChoir
|
||||||
|
*/
|
||||||
|
|
||||||
|
@define-color base #191724;
|
||||||
|
@define-color surface #1f1d2e;
|
||||||
|
@define-color overlay #26233a;
|
||||||
|
|
||||||
|
@define-color muted #6e6a86;
|
||||||
|
@define-color subtle #908caa;
|
||||||
|
@define-color text #e0def4;
|
||||||
|
|
||||||
|
@define-color love #eb6f92;
|
||||||
|
@define-color gold #f6c177;
|
||||||
|
@define-color rose #ebbcba;
|
||||||
|
@define-color pine #31748f;
|
||||||
|
@define-color foam #9ccfd8;
|
||||||
|
@define-color iris #c4a7e7;
|
||||||
|
|
||||||
|
@define-color highlightLow #21202e;
|
||||||
|
@define-color highlightMed #403d52;
|
||||||
|
@define-color highlightHigh #524f67;
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: "JetBrainsMono Nerd Font", FontAwesome, Roboto, Helvetica,
|
||||||
|
Arial, sans-serif;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: @surface;
|
||||||
|
color: @text;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.hidden {
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
window#waybar.empty {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
window#waybar.solo {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*window#waybar.termite {
|
||||||
|
background-color: #3F3F3F;
|
||||||
|
}
|
||||||
|
window#waybar.chromium {
|
||||||
|
background-color: #000000;
|
||||||
|
border: none;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
box-shadow: inset 0 -3px transparent;
|
||||||
|
padding: 0 8px;
|
||||||
|
background-color: @base;
|
||||||
|
color: @text;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:first-child {
|
||||||
|
border-radius: 10px 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:last-child {
|
||||||
|
border-radius: 0 10px 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
background-color: @overlay;
|
||||||
|
/* box-shadow: inset 0 -100px 0 -97px @bright-yellow; */
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.empty {
|
||||||
|
color: @muted;
|
||||||
|
box-shadow: inherit;
|
||||||
|
text-shadow: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: @gold;
|
||||||
|
box-shadow: inset 0 -100px 0 -97px @bright-yellow;
|
||||||
|
text-shadow: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
background-color: @overlay;
|
||||||
|
color: @text;
|
||||||
|
/* box-shadow: inset 0 -100px 0 -97px @bright-yellow; */
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: @love;
|
||||||
|
color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background-color: @overlay;
|
||||||
|
border-bottom: 3px solid @gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cava,
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#temperature,
|
||||||
|
#backlight,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#pulseaudio.muted,
|
||||||
|
#pulseaudio.bluetooth,
|
||||||
|
#wireplumber,
|
||||||
|
#custom-media,
|
||||||
|
#tray,
|
||||||
|
#mpris,
|
||||||
|
#keyboard-state,
|
||||||
|
#mode,
|
||||||
|
#battery,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#scratchpad,
|
||||||
|
#mpd {
|
||||||
|
padding: 0 10px;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window,
|
||||||
|
#workspaces {
|
||||||
|
margin: 0 4px;
|
||||||
|
padding-top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right {
|
||||||
|
background-color: @overlay;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the leftmost module, omit left margin */
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the rightmost module, omit right margin */
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpris {
|
||||||
|
color: @gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
color: @gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
color: @foam;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging,
|
||||||
|
#battery.plugged {
|
||||||
|
color: #d3869b;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #fbf1c7;
|
||||||
|
color: #df3f71;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: #282828;
|
||||||
|
color: #d3869b;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
label:focus {
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
color: #458588;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature {
|
||||||
|
color: #fabd2f;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical {
|
||||||
|
background-color: #fbf1c7;
|
||||||
|
color: #b57614;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
color: @foam;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
color: @iris;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
color: @foam;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
background-color: @love;
|
||||||
|
color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*#disk {
|
||||||
|
background-color: #964B00;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
#pulseaudio,
|
||||||
|
#pulseaudio.muted,
|
||||||
|
#pulseaudio.bluetooth {
|
||||||
|
color: @pine;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
background-color: @love;
|
||||||
|
color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor {
|
||||||
|
background-color: #282828;
|
||||||
|
color: #ebdbb2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor.activated {
|
||||||
|
background-color: #fbf1c7;
|
||||||
|
color: #3c3836;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media {
|
||||||
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
|
min-width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-spotify {
|
||||||
|
background-color: #66cc99;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-vlc {
|
||||||
|
background-color: #ffa000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd {
|
||||||
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.disconnected {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.stopped {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.paused {
|
||||||
|
background-color: #51a37a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#language {
|
||||||
|
background: #00b093;
|
||||||
|
color: #740864;
|
||||||
|
padding: 0 5px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state {
|
||||||
|
background: #97e1ad;
|
||||||
|
color: #000000;
|
||||||
|
padding: 0 0px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label {
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label.locked {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
11
home-manager/system/wlsunset.nix
Normal file
11
home-manager/system/wlsunset.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
services.wlsunset = {
|
||||||
|
enable = true;
|
||||||
|
gamma = 0.8;
|
||||||
|
|
||||||
|
sunrise = "7:00";
|
||||||
|
sunset = "21:00";
|
||||||
|
|
||||||
|
temperature.night = 4000;
|
||||||
|
};
|
||||||
|
}
|
||||||
102
home-manager/system/wofi.nix
Normal file
102
home-manager/system/wofi.nix
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
{
|
||||||
|
programs.wofi = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
allow_markup = true;
|
||||||
|
width = 450;
|
||||||
|
terminal = "foot";
|
||||||
|
height = "305px";
|
||||||
|
orientation = "vertical";
|
||||||
|
halign = "fill";
|
||||||
|
show = "drun";
|
||||||
|
prompt = "Apps";
|
||||||
|
normal_window = true;
|
||||||
|
layer = "top";
|
||||||
|
gtk_dark = true;
|
||||||
|
line_wrap = "off";
|
||||||
|
dynamic_lines = false;
|
||||||
|
allow_images = true;
|
||||||
|
image_size = 24;
|
||||||
|
exec_search = false;
|
||||||
|
hide_search = false;
|
||||||
|
parse_search = false;
|
||||||
|
insensitive = true;
|
||||||
|
hide_scroll = true;
|
||||||
|
no_actions = true;
|
||||||
|
sort_order = "default";
|
||||||
|
filter_rate = 100;
|
||||||
|
key_expand = "Tab";
|
||||||
|
key_exit = "Escape";
|
||||||
|
};
|
||||||
|
|
||||||
|
style = ''
|
||||||
|
/** ********** Fonts ********** **/
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
background-color: @theme_base_color;
|
||||||
|
color: @theme_text_color;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#outer-box {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
background-color: #181825;
|
||||||
|
border: #313244;
|
||||||
|
padding: 8px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#inner-box {}
|
||||||
|
|
||||||
|
#img {
|
||||||
|
padding-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text:selected {
|
||||||
|
color: #f5e0dc;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
padding: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected {
|
||||||
|
background-image: linear-gradient(
|
||||||
|
to right,
|
||||||
|
#F5A97F,
|
||||||
|
#ED8796,
|
||||||
|
#C6A0F6,
|
||||||
|
#8AADF4,
|
||||||
|
#A6DA95,
|
||||||
|
#EED49F
|
||||||
|
);
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unselected {}
|
||||||
|
|
||||||
|
#selected {}
|
||||||
|
|
||||||
|
#input,
|
||||||
|
#entry:selected {
|
||||||
|
border-radius: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
home-manager/wallpapers/blockwavemoon.png
Normal file
BIN
home-manager/wallpapers/blockwavemoon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1024 KiB |
BIN
home-manager/wallpapers/rose_pine_contourline.png
Normal file
BIN
home-manager/wallpapers/rose_pine_contourline.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 MiB |
@@ -1,89 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./locale.nix
|
|
||||||
./packages.nix
|
|
||||||
./services.nix
|
|
||||||
./users.nix
|
|
||||||
./docker.nix
|
|
||||||
./x.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs = {
|
|
||||||
# You can add overlays here
|
|
||||||
overlays = [
|
|
||||||
# Add overlays your own flake exports (from overlays and pkgs dir):
|
|
||||||
outputs.overlays.additions
|
|
||||||
outputs.overlays.modifications
|
|
||||||
outputs.overlays.unstable-packages
|
|
||||||
|
|
||||||
# You can also add overlays exported from other flakes:
|
|
||||||
# neovim-nightly-overlay.overlays.default
|
|
||||||
|
|
||||||
# Or define it inline, for example:
|
|
||||||
# (final: prev: {
|
|
||||||
# hi = final.hello.overrideAttrs (oldAttrs: {
|
|
||||||
# patches = [ ./change-hello-to-hi.patch ];
|
|
||||||
# });
|
|
||||||
# })
|
|
||||||
];
|
|
||||||
# Configure your nixpkgs instance
|
|
||||||
config = {
|
|
||||||
# I'm sorry Richard Stallman
|
|
||||||
allowUnfree = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# This will add each flake input as a registry
|
|
||||||
# To make nix3 commands consistent with your flake
|
|
||||||
nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
|
|
||||||
|
|
||||||
# This will additionally add your inputs to the system's legacy channels
|
|
||||||
# Making legacy nix commands consistent as well, awesome!
|
|
||||||
nix.nixPath = ["/etc/nix/path"];
|
|
||||||
environment.etc =
|
|
||||||
lib.mapAttrs'
|
|
||||||
(name: value: {
|
|
||||||
name = "nix/path/${name}";
|
|
||||||
value.source = value.flake;
|
|
||||||
})
|
|
||||||
config.nix.registry;
|
|
||||||
|
|
||||||
nix.settings = {
|
|
||||||
# Enable flakes and new 'nix' command
|
|
||||||
experimental-features = "nix-command flakes";
|
|
||||||
# Deduplicate and optimize nix store
|
|
||||||
auto-optimise-store = true;
|
|
||||||
# Use cache servers for packages
|
|
||||||
substituters = [
|
|
||||||
"https://nix-community.cachix.org"
|
|
||||||
"https://cache.nixos.org/"
|
|
||||||
];
|
|
||||||
trusted-public-keys = [
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
# Enables wireless support via wpa_supplicant
|
|
||||||
# networking.wireless.enable = true;
|
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone
|
|
||||||
time.timeZone = "Europe/Warsaw";
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
virtualisation.docker = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# Select internationalisation properties
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "pl_PL.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
|
||||||
LC_MEASUREMENT = "pl_PL.UTF-8";
|
|
||||||
LC_MONETARY = "pl_PL.UTF-8";
|
|
||||||
LC_NAME = "pl_PL.UTF-8";
|
|
||||||
LC_NUMERIC = "en_US.UTF-8";
|
|
||||||
LC_PAPER = "pl_PL.UTF-8";
|
|
||||||
LC_TELEPHONE = "pl_PL.UTF-8";
|
|
||||||
LC_TIME = "en_US.UTF-8";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# Auto-upgrade in the background
|
|
||||||
system.autoUpgrade = {
|
|
||||||
enable = true;
|
|
||||||
flake = inputs.self.outPath;
|
|
||||||
flags = [
|
|
||||||
"--update-input"
|
|
||||||
"nixpkgs"
|
|
||||||
"-L"
|
|
||||||
];
|
|
||||||
dates = "12:00";
|
|
||||||
randomizedDelaySec = "45min";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
||||||
# wget
|
|
||||||
ntfs3g
|
|
||||||
dosfstools
|
|
||||||
unstable.nh
|
|
||||||
nix-output-monitor
|
|
||||||
nvd
|
|
||||||
];
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
nerdfonts
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-cjk
|
|
||||||
noto-fonts-emoji
|
|
||||||
font-awesome
|
|
||||||
source-han-sans
|
|
||||||
source-han-sans-japanese
|
|
||||||
source-han-serif-japanese
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
FLAKE = "/home/mike/.dots";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.nix-ld = {
|
|
||||||
enable = true;
|
|
||||||
libraries = with pkgs; [
|
|
||||||
# Add any missing dynamic libraries for unpackaged
|
|
||||||
# programs here, NOT in environment.systemPackages
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
|
||||||
}
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# I use zsh btw
|
|
||||||
environment.shells = with pkgs; [bash zsh];
|
|
||||||
users.defaultUserShell = pkgs.zsh;
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
# Configure console keymap
|
|
||||||
console.keyMap = "pl2";
|
|
||||||
|
|
||||||
services.gnome.gnome-keyring.enable = true;
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
# If you want to use JACK applications, uncomment this
|
|
||||||
#jack.enable = true;
|
|
||||||
|
|
||||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
|
||||||
# no need to redefine it in your config for now)
|
|
||||||
#media-session.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
# services.xserver.libinput.enable = true;
|
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
|
||||||
# started in user sessions.
|
|
||||||
programs.mtr.enable = true;
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSSHSupport = true;
|
|
||||||
pinentryFlavor = "curses";
|
|
||||||
settings = {
|
|
||||||
max-cache-ttl = 60480000;
|
|
||||||
default-cache-ttl = 60480000;
|
|
||||||
# default-cache-ttl-ssh = 60480000;
|
|
||||||
# max-cache-ttl-ssl = 60480000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# This setups a SSH server. Very important if you're setting up a headless system.
|
|
||||||
# Feel free to remove if you don't need it.
|
|
||||||
services.openssh = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
# Forbid root login through SSH.
|
|
||||||
PermitRootLogin = "no";
|
|
||||||
# Use keys only. Remove if you want to SSH using password (not recommended)
|
|
||||||
PasswordAuthentication = true;
|
|
||||||
X11Forwarding = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# security.pam.services.kwallet = {
|
|
||||||
# name = "kwallet";
|
|
||||||
# enableKwallet = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
programs.ssh = {
|
|
||||||
# startAgent = true;
|
|
||||||
# forwardX11 = true;
|
|
||||||
# enableAskPassword = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.users = {
|
|
||||||
mike = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Mike";
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDfqPj+a2gmoUl3TuGSZxf0zRBabVWvXRrjLF7sFlqjMbfkx428F3L7C8OC3Z9XDT4ysbpgWcPuVKNtK5kkKGjSLHAgB2CgvD15K11Q+ag1+uyePaiOypZYJewvv1hhqU5IrVcxUbTsbREH/IsdQSlNSuyNFIr3oFnrff5iKEKEwEvSDeiqpqRh56pAkF6Kb15aYqZO7X9rbfoa8Sgj3VJXN0181lXMjXkNsYVa3gDmKv89C6qutg+KOpHlXgn4AfIRcCw8ik6OGBEfi/gUeb3SYpD+7undNLyloxCbGwHQ40IdoqPatyhTNS4jm9kb+Tno4hj0pbLHZSUdXgGaSfGx1W0MVVY0mm0Hu7EmYDBHUTfmPmPxnolWh8UH+XdkNPnwZfyZlyBcVVkVzog1ZCs1i9Y6oS1ZIbzuz+WxBPPDIHMRdmxv6+PMc5kZyrpuX1PgFb7Xt5cRNAL5/wywoi9Z45SS7qP9zNSb443UaaXzUatqnlawZ0GS0qXJh3ljwJ8= mike@odin"
|
|
||||||
];
|
|
||||||
extraGroups = ["networkmanager" "wheel" "docker" "libvirtd"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services.udisks2.enable = true;
|
|
||||||
security.polkit.enable = true;
|
|
||||||
services.upower.enable = config.powerManagement.enable;
|
|
||||||
services.gvfs.enable = true;
|
|
||||||
|
|
||||||
services.autorandr = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
autorandr
|
|
||||||
xorg.xrandr
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libX11.dev
|
|
||||||
xorg.libXft
|
|
||||||
xorg.libXinerama
|
|
||||||
xorg.xbacklight
|
|
||||||
pulseaudioFull
|
|
||||||
brightnessctl
|
|
||||||
];
|
|
||||||
}
|
|
||||||
1
hosts/keys/remotebuild.pub
Normal file
1
hosts/keys/remotebuild.pub
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINlOY3fRdbxMUVFli1jNXtf+x7DOB7xjLObfDOgVDnmd root@nixos
|
||||||
8
hosts/modules/adb.nix
Normal file
8
hosts/modules/adb.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.adb.enable = true;
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.android-tools
|
||||||
|
pkgs.universal-android-debloater
|
||||||
|
];
|
||||||
|
users.users.mike.extraGroups = ["adbusers"];
|
||||||
|
}
|
||||||
7
hosts/modules/ananicy.nix
Normal file
7
hosts/modules/ananicy.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
services.ananicy = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.ananicy-cpp;
|
||||||
|
rulesProvider = pkgs.ananicy-rules-cachyos;
|
||||||
|
};
|
||||||
|
}
|
||||||
8
hosts/modules/bluetooth.nix
Normal file
8
hosts/modules/bluetooth.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
services.blueman.enable = false;
|
||||||
|
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
21
hosts/modules/boot.nix
Normal file
21
hosts/modules/boot.nix
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
boot = {
|
||||||
|
tmp.cleanOnBoot = true;
|
||||||
|
|
||||||
|
loader = {
|
||||||
|
timeout = 1;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
systemd-boot = {
|
||||||
|
enable = true;
|
||||||
|
configurationLimit = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
kernelPackages = pkgs.linuxPackages_zen;
|
||||||
|
};
|
||||||
|
}
|
||||||
133
hosts/modules/common.nix
Normal file
133
hosts/modules/common.nix
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
time.timeZone = "Europe/Warsaw";
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "pl_PL.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_US.UTF-8";
|
||||||
|
LC_MONETARY = "en_US.UTF-8";
|
||||||
|
LC_NAME = "pl_PL.UTF-8";
|
||||||
|
LC_NUMERIC = "en_US.UTF-8";
|
||||||
|
LC_PAPER = "pl_PL.UTF-8";
|
||||||
|
LC_TELEPHONE = "pl_PL.UTF-8";
|
||||||
|
LC_TIME = "en_US.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
logind = {
|
||||||
|
lidSwitch = "ignore";
|
||||||
|
# lidSwitchExternalPower = if hostname == "server" then "ignore" else "suspend-then-hibernate";
|
||||||
|
lidSwitchExternalPower = "ignore";
|
||||||
|
};
|
||||||
|
|
||||||
|
libinput = {
|
||||||
|
enable = true;
|
||||||
|
# mouse = {
|
||||||
|
# accelProfile = "flat";
|
||||||
|
# accelSpeed = "0.0";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
# sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
|
shells = with pkgs; [bash zsh];
|
||||||
|
};
|
||||||
|
|
||||||
|
system = {
|
||||||
|
stateVersion = "24.05";
|
||||||
|
switch = {
|
||||||
|
enable = false;
|
||||||
|
enableNg = true;
|
||||||
|
};
|
||||||
|
autoUpgrade = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
# You can add overlays here
|
||||||
|
overlays = [
|
||||||
|
# Add overlays your own flake exports (from overlays and pkgs dir):
|
||||||
|
outputs.overlays.additions
|
||||||
|
outputs.overlays.modifications
|
||||||
|
outputs.overlays.unstable-packages
|
||||||
|
|
||||||
|
# You can also add overlays exported from other flakes:
|
||||||
|
# neovim-nightly-overlay.overlays.default
|
||||||
|
|
||||||
|
# Or define it inline, for example:
|
||||||
|
# (final: prev: {
|
||||||
|
# hi = final.hello.overrideAttrs (oldAttrs: {
|
||||||
|
# patches = [ ./change-hello-to-hi.patch ];
|
||||||
|
# });
|
||||||
|
# })
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
# I'm sorry Richard Stallman
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
documentation = {
|
||||||
|
enable = true;
|
||||||
|
doc.enable = false;
|
||||||
|
man.enable = true;
|
||||||
|
dev.enable = false;
|
||||||
|
info.enable = false;
|
||||||
|
nixos.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = let
|
||||||
|
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||||
|
in {
|
||||||
|
daemonCPUSchedPolicy = "batch";
|
||||||
|
channel.enable = false;
|
||||||
|
# nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||||
|
|
||||||
|
optimise = {
|
||||||
|
automatic = true;
|
||||||
|
dates = ["daily"];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Opinionated: make flake registry and nix path match flake inputs
|
||||||
|
registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs;
|
||||||
|
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
auto-optimise-store = true;
|
||||||
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
flake-registry = "";
|
||||||
|
nix-path = config.nix.nixPath;
|
||||||
|
|
||||||
|
substituters = [
|
||||||
|
"https://cache.nixos.org"
|
||||||
|
"https://hyprland.cachix.org"
|
||||||
|
"https://nix-community.cachix.org"
|
||||||
|
"https://cuda-maintainers.cachix.org"
|
||||||
|
];
|
||||||
|
|
||||||
|
trusted-public-keys = [
|
||||||
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
79
hosts/modules/development.nix
Normal file
79
hosts/modules/development.nix
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
rust-overlay,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment.systemPackages = with pkgs.unstable; [
|
||||||
|
# general
|
||||||
|
docker
|
||||||
|
docker-compose
|
||||||
|
|
||||||
|
# iot
|
||||||
|
platformio
|
||||||
|
|
||||||
|
# rust
|
||||||
|
openssl
|
||||||
|
rustup
|
||||||
|
pkg-config
|
||||||
|
cargo-deny
|
||||||
|
cargo-edit
|
||||||
|
cargo-watch
|
||||||
|
# rust-analyzer
|
||||||
|
|
||||||
|
# bash
|
||||||
|
shellcheck
|
||||||
|
|
||||||
|
# nodejs
|
||||||
|
node2nix
|
||||||
|
nodejs
|
||||||
|
nodePackages.pnpm
|
||||||
|
yarn
|
||||||
|
|
||||||
|
# # python
|
||||||
|
# python311
|
||||||
|
# python311Packages.pip
|
||||||
|
uv
|
||||||
|
# python311Packages.venvShellHook
|
||||||
|
|
||||||
|
# cpp
|
||||||
|
clang-tools
|
||||||
|
libgcc
|
||||||
|
gcc
|
||||||
|
clang
|
||||||
|
cmake
|
||||||
|
codespell
|
||||||
|
conan
|
||||||
|
cppcheck
|
||||||
|
doxygen
|
||||||
|
gtest
|
||||||
|
lcov
|
||||||
|
vcpkg
|
||||||
|
gnumake
|
||||||
|
# vcpkg-tool
|
||||||
|
valgrind
|
||||||
|
|
||||||
|
# haskell
|
||||||
|
cabal-install
|
||||||
|
ghc
|
||||||
|
haskell-language-server
|
||||||
|
|
||||||
|
# nix
|
||||||
|
cachix
|
||||||
|
lorri
|
||||||
|
niv
|
||||||
|
nixd
|
||||||
|
nixfmt-classic
|
||||||
|
statix
|
||||||
|
haskellPackages.dhall-nix
|
||||||
|
|
||||||
|
# java
|
||||||
|
jdk
|
||||||
|
jdk8
|
||||||
|
jdk17
|
||||||
|
maven
|
||||||
|
gradle
|
||||||
|
|
||||||
|
tex-fmt
|
||||||
|
];
|
||||||
|
}
|
||||||
14
hosts/modules/distributed-builds.nix
Normal file
14
hosts/modules/distributed-builds.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
nix.distributedBuilds = true;
|
||||||
|
nix.settings.builders-use-substitutes = true;
|
||||||
|
|
||||||
|
nix.buildMachines = [
|
||||||
|
{
|
||||||
|
hostName = "192.168.0.10";
|
||||||
|
sshUser = "remotebuild";
|
||||||
|
sshKey = "/root/.ssh/remotebuild";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
supportedFeatures = ["nixos-test" "big-parallel" "kvm"];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
6
hosts/modules/fstrim.nix
Normal file
6
hosts/modules/fstrim.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
services.fstrim = {
|
||||||
|
enable = true;
|
||||||
|
interval = "daily";
|
||||||
|
};
|
||||||
|
}
|
||||||
27
hosts/modules/gaming.nix
Executable file
27
hosts/modules/gaming.nix
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
users.users.mike.packages = with pkgs; [heroic];
|
||||||
|
hardware.steam-hardware.enable = true;
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
steam = {
|
||||||
|
enable = true;
|
||||||
|
gamescopeSession.enable = true;
|
||||||
|
extraCompatPackages = with pkgs; [proton-ge-bin];
|
||||||
|
};
|
||||||
|
|
||||||
|
gamemode = {
|
||||||
|
enable = true;
|
||||||
|
enableRenice = true;
|
||||||
|
settings = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
gamescope = {
|
||||||
|
enable = true;
|
||||||
|
args = [
|
||||||
|
"-w 2560 -h 1440"
|
||||||
|
"-F nis"
|
||||||
|
"f"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
31
hosts/modules/greetd.nix
Normal file
31
hosts/modules/greetd.nix
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --remember --asterisks --container-padding 2 --time --time-format '%I:%M %p | %a • %h | %F' --cmd Hyprland";
|
||||||
|
user = "greeter";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# this is a life saver.
|
||||||
|
# literally no documentation about this anywhere.
|
||||||
|
# might be good to write about this...
|
||||||
|
# https://www.reddit.com/r/NixOS/comments/u0cdpi/tuigreet_with_xmonad_how/
|
||||||
|
|
||||||
|
systemd = {
|
||||||
|
# To prevent getting stuck at shutdown
|
||||||
|
extraConfig = "DefaultTimeoutStopSec=10s";
|
||||||
|
services.greetd.serviceConfig = {
|
||||||
|
Type = "idle";
|
||||||
|
StandardInput = "tty";
|
||||||
|
StandardOutput = "tty";
|
||||||
|
StandardError = "journal"; # Without this errors will spam on screen
|
||||||
|
# Without these bootlogs will spam on screen
|
||||||
|
TTYReset = true;
|
||||||
|
TTYVHangup = true;
|
||||||
|
TTYVTDisallocate = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
4
hosts/modules/gsettings.nix
Normal file
4
hosts/modules/gsettings.nix
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
}
|
||||||
6
hosts/modules/kde.nix
Normal file
6
hosts/modules/kde.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
services.desktopManager = {
|
||||||
|
plasma6.enable = true;
|
||||||
|
enableQt5Integration = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
18
hosts/modules/lanzaboot.nix
Normal file
18
hosts/modules/lanzaboot.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [inputs.lanzaboote.nixosModules.lanzaboote];
|
||||||
|
|
||||||
|
environment.systemPackages = [pkgs.sbctl];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
loader.systemd-boot.enable = lib.mkForce false;
|
||||||
|
lanzaboote = {
|
||||||
|
enable = true;
|
||||||
|
pkiBundle = "/etc/secureboot";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
23
hosts/modules/network.nix
Normal file
23
hosts/modules/network.nix
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
boot.initrd.systemd.network.wait-online.enable = false;
|
||||||
|
systemd.services.NetworkManager-wait-online.enable = false;
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
firewall.enable = true;
|
||||||
|
|
||||||
|
stevenblack = {
|
||||||
|
enable = true;
|
||||||
|
block = ["fakenews" "gambling" "porn"];
|
||||||
|
};
|
||||||
|
|
||||||
|
wireless = {
|
||||||
|
enable = false;
|
||||||
|
iwd.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
networkmanager = {
|
||||||
|
enable = true;
|
||||||
|
wifi.backend = "wpa_supplicant";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
11
hosts/modules/nh.nix
Normal file
11
hosts/modules/nh.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
programs.nh = {
|
||||||
|
enable = true;
|
||||||
|
flake = "/home/mike/.files";
|
||||||
|
clean = {
|
||||||
|
enable = true;
|
||||||
|
dates = "weekly";
|
||||||
|
extraArgs = "--keep-since 3d --keep 3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
40
hosts/modules/nvidia.nix
Executable file
40
hosts/modules/nvidia.nix
Executable file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
nixpkgs.config.nvidia.acceptLicense = true;
|
||||||
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
kernelModules = ["nvidia" "nvidia-uvm"];
|
||||||
|
kernelParams = ["nvidia-drm.fbdev=1" "nvidia-drm.modeset=1"];
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
egl-wayland
|
||||||
|
vaapiVdpau
|
||||||
|
libvdpau-va-gl
|
||||||
|
nvidia-vaapi-driver
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
nvidia = {
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
|
open = true;
|
||||||
|
|
||||||
|
nvidiaSettings = true;
|
||||||
|
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
powerManagement = {
|
||||||
|
enable = false;
|
||||||
|
finegrained = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
hosts/modules/ollama.nix
Normal file
14
hosts/modules/ollama.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
nixpkgs.config.cudaSupport = true;
|
||||||
|
|
||||||
|
services.ollama = {
|
||||||
|
enable = true;
|
||||||
|
acceleration = "cuda";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.open-webui = {
|
||||||
|
enable = false;
|
||||||
|
host = "0.0.0.0";
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
138
hosts/modules/packages.nix
Normal file
138
hosts/modules/packages.nix
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
vim
|
||||||
|
ntfs3g
|
||||||
|
dosfstools
|
||||||
|
nix-output-monitor
|
||||||
|
nvd
|
||||||
|
brightnessctl
|
||||||
|
piper
|
||||||
|
alsa-utils
|
||||||
|
wine
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
|
services.ratbagd.enable = true;
|
||||||
|
|
||||||
|
services.zerotierone = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
configPackages = with pkgs; [
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
xdg-desktop-portal-hyprland
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
|
# fonts.packages = with pkgs; [
|
||||||
|
# nerd-fonts.zed-mono
|
||||||
|
# # nerd-fonts.victor-mono
|
||||||
|
# # nerd-fonts.ubuntu-sans
|
||||||
|
# # nerd-fonts.ubuntu-mono
|
||||||
|
# nerd-fonts.ubuntu
|
||||||
|
# # nerd-fonts.tinos
|
||||||
|
# # nerd-fonts.terminess-ttf
|
||||||
|
# nerd-fonts.symbols-only
|
||||||
|
# # nerd-fonts.space-mono
|
||||||
|
# # nerd-fonts.shure-tech-mono
|
||||||
|
# nerd-fonts.sauce-code-pro
|
||||||
|
# nerd-fonts.roboto-mono
|
||||||
|
# # nerd-fonts.recursive-mono
|
||||||
|
# # nerd-fonts.proggy-clean-tt
|
||||||
|
# # nerd-fonts.profont
|
||||||
|
# # nerd-fonts.overpass
|
||||||
|
# nerd-fonts.open-dyslexic
|
||||||
|
# nerd-fonts.noto
|
||||||
|
# # nerd-fonts.mplus
|
||||||
|
# # nerd-fonts.mononoki
|
||||||
|
# # nerd-fonts.monoid
|
||||||
|
# # nerd-fonts.monofur
|
||||||
|
# # nerd-fonts.monaspace
|
||||||
|
# # nerd-fonts.meslo-lg
|
||||||
|
# # nerd-fonts.martian-mono
|
||||||
|
# # nerd-fonts.lilex
|
||||||
|
# nerd-fonts.liberation
|
||||||
|
# # nerd-fonts.lekton
|
||||||
|
# nerd-fonts.jetbrains-mono
|
||||||
|
# # nerd-fonts.iosevka-term-slab
|
||||||
|
# # nerd-fonts.iosevka-term
|
||||||
|
# nerd-fonts.iosevka
|
||||||
|
# # nerd-fonts.intone-mono
|
||||||
|
# # nerd-fonts.inconsolata-lgc
|
||||||
|
# # nerd-fonts.inconsolata-go
|
||||||
|
# nerd-fonts.inconsolata
|
||||||
|
# # nerd-fonts.im-writing
|
||||||
|
# # nerd-fonts.hurmit
|
||||||
|
# # nerd-fonts.heavy-data
|
||||||
|
# # nerd-fonts.hasklug
|
||||||
|
# nerd-fonts.hack
|
||||||
|
# nerd-fonts.gohufont
|
||||||
|
# # nerd-fonts.go-mono
|
||||||
|
# # nerd-fonts.geist-mono
|
||||||
|
# nerd-fonts.fira-mono
|
||||||
|
# nerd-fonts.fira-code
|
||||||
|
# # nerd-fonts.fantasque-sans-mono
|
||||||
|
# # nerd-fonts.envy-code-r
|
||||||
|
# nerd-fonts.droid-sans-mono
|
||||||
|
# # nerd-fonts.departure-mono
|
||||||
|
# nerd-fonts.dejavu-sans-mono
|
||||||
|
# # nerd-fonts.daddy-time-mono
|
||||||
|
# # nerd-fonts.d2coding
|
||||||
|
# # nerd-fonts.cousine
|
||||||
|
# # nerd-fonts.commit-mono
|
||||||
|
# nerd-fonts.comic-shanns-mono
|
||||||
|
# nerd-fonts.code-new-roman
|
||||||
|
# nerd-fonts.caskaydia-cove
|
||||||
|
# # nerd-fonts.blex-mono
|
||||||
|
# # nerd-fonts.bitstream-vera-sans-mono
|
||||||
|
# # nerd-fonts.bigblue-terminal
|
||||||
|
# # nerd-fonts.aurulent-sans-mono
|
||||||
|
# # nerd-fonts.arimo
|
||||||
|
# # nerd-fonts.anonymice
|
||||||
|
# # nerd-fonts.agave
|
||||||
|
# nerd-fonts._3270
|
||||||
|
# nerd-fonts._0xproto
|
||||||
|
# noto-fonts
|
||||||
|
# noto-fonts-cjk-sans
|
||||||
|
# noto-fonts-emoji
|
||||||
|
# font-awesome
|
||||||
|
# source-han-sans
|
||||||
|
# source-han-sans-japanese
|
||||||
|
# source-han-serif-japanese
|
||||||
|
# ];
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
nerdfonts
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-emoji
|
||||||
|
font-awesome
|
||||||
|
source-han-sans
|
||||||
|
source-han-sans-japanese
|
||||||
|
source-han-serif-japanese
|
||||||
|
vistafonts
|
||||||
|
corefonts
|
||||||
|
];
|
||||||
|
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
programs.mtr.enable = true;
|
||||||
|
programs.gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = false;
|
||||||
|
settings = {
|
||||||
|
max-cache-ttl = 60480000;
|
||||||
|
default-cache-ttl = 60480000;
|
||||||
|
# default-cache-ttl-ssh = 60480000;
|
||||||
|
# max-cache-ttl-ssl = 60480000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
23
hosts/modules/pipewire.nix
Normal file
23
hosts/modules/pipewire.nix
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
jack.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
|
||||||
|
alsa = {
|
||||||
|
enable = true;
|
||||||
|
support32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
wireplumber.extraConfig = {
|
||||||
|
"10-disable-camera" = {
|
||||||
|
"wireplumber.profiles" = {
|
||||||
|
main = {
|
||||||
|
"monitor.libcamera" = "disabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
9
hosts/modules/printing.nix
Normal file
9
hosts/modules/printing.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
services.printing = {
|
||||||
|
enable = true;
|
||||||
|
drivers = with pkgs; [
|
||||||
|
samsung-unified-linux-driver
|
||||||
|
splix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
27
hosts/modules/qtile.nix
Executable file
27
hosts/modules/qtile.nix
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
# Enable Qtile
|
||||||
|
{pkgs, ...}: {
|
||||||
|
# --------------------------------------
|
||||||
|
# Enable QTILE
|
||||||
|
# --------------------------------------
|
||||||
|
services.xserver.windowManager.qtile = {
|
||||||
|
enable = true;
|
||||||
|
configFile = /home/nel/dotfiles/qtile/config.py;
|
||||||
|
extraPackages = python3Packages: with python3Packages; [qtile-extras];
|
||||||
|
};
|
||||||
|
|
||||||
|
# --------------------------------------
|
||||||
|
# Necessary things
|
||||||
|
# --------------------------------------
|
||||||
|
environment.sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
config.common.default = "*";
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
30
hosts/modules/remote-builder.nix
Normal file
30
hosts/modules/remote-builder.nix
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
users.users.remotebuild = {
|
||||||
|
isNormalUser = true;
|
||||||
|
createHome = false;
|
||||||
|
group = "remotebuild";
|
||||||
|
|
||||||
|
openssh.authorizedKeys.keyFiles = [../keys/remotebuild.pub];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.remotebuild = {};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
nrBuildUsers = 64;
|
||||||
|
settings = {
|
||||||
|
trusted-users = ["remotebuild"];
|
||||||
|
|
||||||
|
min-free = 10 * 1024 * 1024;
|
||||||
|
max-free = 200 * 1024 * 1024;
|
||||||
|
|
||||||
|
max-jobs = "auto";
|
||||||
|
cores = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.nix-daemon.serviceConfig = {
|
||||||
|
MemoryAccounting = true;
|
||||||
|
MemoryMax = "90%";
|
||||||
|
OOMScoreAdjust = 500;
|
||||||
|
};
|
||||||
|
}
|
||||||
13
hosts/modules/security.nix
Normal file
13
hosts/modules/security.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
security = {
|
||||||
|
sudo.enable = true;
|
||||||
|
rtkit.enable = true;
|
||||||
|
polkit.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
gnome.gnome-keyring.enable = true;
|
||||||
|
udisks2.enable = true;
|
||||||
|
gvfs.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user