Compare commits

...

5 Commits

82 changed files with 1364 additions and 1341 deletions

123
flake.lock generated
View File

@@ -104,15 +104,14 @@
"flake-schemas": "flake-schemas",
"home-manager": "home-manager",
"jovian": "jovian",
"nixpkgs": "nixpkgs",
"nixpkgs-small": "nixpkgs-small"
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1734987419,
"narHash": "sha256-2K4V615Y29QhMUShX9k52l7gXF2erkq9yH9qGRZGKQ0=",
"lastModified": 1735566338,
"narHash": "sha256-9sYGJZCGeb11WBVsE2u0gwuTk8LpbOgnrJvyDbHpOoY=",
"owner": "chaotic-cx",
"repo": "nyx",
"rev": "d61084b851dbf3072f8b40c3870b0f7938ca3f22",
"rev": "446ad45313df3dbc93ad9e9d8dd6d094b16f6fb4",
"type": "github"
},
"original": {
@@ -436,11 +435,11 @@
]
},
"locked": {
"lastModified": 1735053786,
"narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=",
"lastModified": 1735381016,
"narHash": "sha256-CyCZFhMUkuYbSD6bxB/r43EdmDE7hYeZZPTCv0GudO4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84",
"rev": "10e99c43cdf4a0713b4e81d90691d22c6a58bdf2",
"type": "github"
},
"original": {
@@ -544,11 +543,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1735209119,
"narHash": "sha256-4KfccQtaeiu1A4Ck9XFKc+vzLWCs8HneLwE2YQT5ybc=",
"lastModified": 1735585949,
"narHash": "sha256-vCGG4tGMvzCzz+ZIsiNtpoFW9+f+itYLTAVW41qk/Hk=",
"ref": "refs/heads/main",
"rev": "e75e2cdac79417ffdbbbe903f72668953483a4e7",
"revCount": 5589,
"rev": "1989b0049f7fb714a2417dfb14d6b4f3d2a079d3",
"revCount": 5607,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -576,11 +575,11 @@
]
},
"locked": {
"lastModified": 1735209374,
"narHash": "sha256-V/AE7QfPzfIPW5jC+DaBv5H+Vds0eA02Jkx/+VFhRT4=",
"lastModified": 1735295819,
"narHash": "sha256-iHDDF1kj+wX7fHGTgKaM6rli6+O8mVFNmpypo+SgnNs=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "616e7ef0aca905b9b4012d2bedbb9225d51040bf",
"rev": "a41bcdccac7d3fe220b3a8519633f0a812da3439",
"type": "github"
},
"original": {
@@ -771,11 +770,11 @@
]
},
"locked": {
"lastModified": 1734796073,
"narHash": "sha256-TnuKsa8OHrSJEmHm3TLGOWbPNA1gRjmZLsRzKrCqOsg=",
"lastModified": 1735316583,
"narHash": "sha256-AiiUwHWHfEdpFzXy7l1x3zInCUa1xcRMrbZ1XRSkzwU=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "c3331116ebd0b71df5ae8c6efe9a7f94148b03bf",
"rev": "8f15d45b120b33712f6db477fe5ffb18034d0ea8",
"type": "github"
},
"original": {
@@ -918,11 +917,11 @@
]
},
"locked": {
"lastModified": 1734725857,
"narHash": "sha256-bivlV9l/UjMtTfz/CZaoNJ5RfH2Lre4P9Ds64conoUQ=",
"lastModified": 1735330405,
"narHash": "sha256-MhXgu1oymyjhhZGY9yewNonJknNAjilzMGPY1FfMR7s=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "dbae2fd6adaf34c947d310bec08deac7c4ed265b",
"rev": "a86d9cf841eff8b33a05d2bf25788abd8e018dbd",
"type": "github"
},
"original": {
@@ -1056,11 +1055,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1734649271,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
"lastModified": 1735471104,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
"type": "github"
},
"original": {
@@ -1070,22 +1069,6 @@
"type": "github"
}
},
"nixpkgs-small": {
"locked": {
"lastModified": 1734838250,
"narHash": "sha256-Xi8ST/QiyuYXc3ujnMYOBuRUaMh6p16XWH6BKARa7xQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "da8a31d09dd004be34b5c54eda83f9a27b357726",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1730741070,
@@ -1120,11 +1103,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1734649271,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
"lastModified": 1735291276,
"narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
"rev": "634fd46801442d760e09493a794c4f15db2d0cbb",
"type": "github"
},
"original": {
@@ -1200,26 +1183,26 @@
},
"nixpkgs_7": {
"locked": {
"lastModified": 1734649271,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
"lastModified": 1735531152,
"narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
"rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"ref": "nixos-24.11",
"type": "indirect"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1734649271,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
"lastModified": 1735471104,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
"type": "github"
},
"original": {
@@ -1252,11 +1235,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1735242326,
"narHash": "sha256-od602Ijwr+Ix+MQ97rONtOV+GTaH7w7ZNU7GIo8Ti3M=",
"lastModified": 1735648437,
"narHash": "sha256-cVc5Bn/oznCvRFDpCZEpQVo3FmpgQKGZEZ5RW4xvRu8=",
"owner": "nix-community",
"repo": "NUR",
"rev": "e84e6736a68e53253f7ca51cba54ab6dbea76bf6",
"rev": "1bb7310d7d1eeaa33d1d009ac493bc2b38acef40",
"type": "github"
},
"original": {
@@ -1307,6 +1290,7 @@
"spicetify-nix": "spicetify-nix",
"split-monitor-workspaces": "split-monitor-workspaces",
"stylix": "stylix",
"unstable": "unstable",
"zen-browser": "zen-browser"
}
},
@@ -1361,11 +1345,11 @@
]
},
"locked": {
"lastModified": 1735180071,
"narHash": "sha256-ceUDFBsLf5Cz3GlhQAdaJsEfi5s1MDjDsO9VvPFoKAE=",
"lastModified": 1735612067,
"narHash": "sha256-rsjojgfPUf9tWuMXuuo2KAIoUZ49XGZQJSjFGOO8Cq4=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "550e1f10be4a504747a7894c35e887e61235763b",
"rev": "d199142e84bfaae476ffb4e09a70879d7918784d",
"type": "github"
},
"original": {
@@ -1382,11 +1366,11 @@
]
},
"locked": {
"lastModified": 1735186564,
"narHash": "sha256-PQIAL/dODi9HroSaW/4nqWQe2CSTgxRYS+XiYPo1FhA=",
"lastModified": 1735618543,
"narHash": "sha256-Aqhp0PcsoEn4FRWZYJZHbHeB+FOJDQcbsaEsXv0iA9k=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "112da8f6b8a3365cf89d5c5b6aaa02ba249373ff",
"rev": "2da20133b52ac69a1f348c08dc801c8638261548",
"type": "github"
},
"original": {
@@ -1435,11 +1419,11 @@
"tinted-tmux": "tinted-tmux"
},
"locked": {
"lastModified": 1735151068,
"narHash": "sha256-sJ1/y4aXAZ22trJjY+nH/bJ+pydaDKf3wZtafM+Yjcs=",
"lastModified": 1735524788,
"narHash": "sha256-R4i8VCdSGLWHt6cL5p2Cmlh9MRodZsYO8moUjvxYb54=",
"owner": "danth",
"repo": "stylix",
"rev": "079fecebad5f616561726359c89cedd811c8a722",
"rev": "a4ed4168fb83289374f24cb8a039c6983637a076",
"type": "github"
},
"original": {
@@ -1639,6 +1623,21 @@
"type": "github"
}
},
"unstable": {
"locked": {
"lastModified": 1735471104,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [

View File

@@ -2,7 +2,8 @@
description = "Mike's Flake";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
nixpkgs.url = "nixpkgs/nixos-24.11";
unstable.url = "nixpkgs/nixos-unstable";
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
nur.url = "github:nix-community/NUR";
nix-alien.url = "github:thiagokokada/nix-alien";
@@ -56,37 +57,61 @@
};
};
outputs =
{ nixpkgs, ... }@inputs:
{
outputs = {
self,
nixpkgs,
unstable,
home-manager,
...
} @ inputs: let
inherit (self) outputs;
nixosConfigurations = {
zion = nixpkgs.lib.nixosSystem {
modules = [ ./hosts ];
specialArgs = {
inherit inputs;
username = "mike";
hostname = "zion";
};
systems = [
"x86_64-linux"
"aarch64-linux"
];
forAllSystems = nixpkgs.lib.genAttrs systems;
in {
# Your custom packages
# Accessible through 'nix build', 'nix shell', etc
# packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
# Formatter for your nix files, available through 'nix fmt'
# Other options beside 'alejandra' include 'nixpkgs-fmt'
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
# Your custom packages and modifications, exported as overlays
overlays = import ./overlays {inherit inputs;};
# NixOS configuration entrypoint
# Available through 'nixos-rebuild --flake .#hostname'
nixosConfigurations = {
zion = nixpkgs.lib.nixosSystem {
modules = [./hosts];
specialArgs = {
inherit inputs outputs;
username = "mike";
hostname = "zion";
};
};
thor = nixpkgs.lib.nixosSystem {
modules = [ ./hosts ];
specialArgs = {
inherit inputs;
username = "mike";
hostname = "thor";
};
thor = nixpkgs.lib.nixosSystem {
modules = [./hosts];
specialArgs = {
inherit inputs outputs;
username = "mike";
hostname = "thor";
};
};
server = nixpkgs.lib.nixosSystem {
modules = [ ./hosts ];
specialArgs = {
inherit inputs;
username = "mike";
hostname = "server";
};
server = nixpkgs.lib.nixosSystem {
modules = [./hosts];
specialArgs = {
inherit inputs outputs;
username = "mike";
hostname = "server";
};
};
};
};
}

View File

@@ -50,5 +50,13 @@
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";
};
}

View File

@@ -1,5 +1,5 @@
{ lib }: {
options.local.keys = lib.mkOption { };
{lib}: {
options.local.keys = lib.mkOption {};
config.local.keys = {
senpai = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBehbdWBTyhs8Tqnc7w172XhWcPAcAM6BC9Gny3i8An";

View File

Before

Width:  |  Height:  |  Size: 226 KiB

After

Width:  |  Height:  |  Size: 226 KiB

85
home-manager/dwm/bar.sh Executable file
View File

@@ -0,0 +1,85 @@
#!/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=$(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {printf "%.0f%%\n", usage}')
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 date and time in American 12-hour format
get_datetime() {
datetime=$(date +"%a %d %b %I:%M %p")
echo "^c$GOLD^$datetime"
}
# Main loop to update xsetroot
while true; do
# Combine all status components
status="$(get_volume) ^c$TEXT^| $(get_cpu_usage) ^c$TEXT^| $(get_memory_usage) ^c$TEXT^| $(get_datetime)"
# Update the root window name with a darker background
xsetroot -name "$status"
# Sleep for 250 milis before updating
sleep 0.25
done

View File

@@ -4,24 +4,27 @@
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.file = {
# ".config/picom/picom.conf" = {
# text = builtins.readFile ./picom.conf;
# };
home.packages = with pkgs; [
picom
];
".config/picom/picom-animations.conf" = {
text = builtins.readFile ./picom-animations.conf;
};
".config/picom/black_to_transparent.frag" = {
text = builtins.readFile ./black_to_transparent.frag;
};
};
services.picom = {
enable = true;
package = pkgs.picom;
# services.picom = {
# enable = true;
# package = pkgs.picom;
# backend = "glx";
#
# shadow = true;
@@ -110,5 +113,5 @@
# #"nordify.glsl:class_g = 'miru'"
# ];
# };
};
# };
}

74
home-manager/home.nix Normal file
View File

@@ -0,0 +1,74 @@
{hostname, ...}: {
imports =
if hostname == "zion"
then [
./programs/btop.nix
./programs/fastfetch.nix
# ./programs/foot.nix
./programs/git.nix
./programs/gpg.nix
./programs/helix.nix
./programs/kitty.nix
./programs/neovide.nix
./programs/neovim.nix
./programs/packages.nix
./programs/shell.nix
./programs/tmux.nix
./programs/vscodium.nix
./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
]
else if hostname == "thor"
then [
./programs/btop.nix
./programs/fastfetch.nix
# ./programs/foot.nix
./programs/git.nix
./programs/gpg.nix
./programs/helix.nix
./programs/kitty.nix
./programs/neovide.nix
./programs/neovim.nix
./programs/packages.nix
./programs/shell.nix
./programs/tmux.nix
./programs/vscodium.nix
# ./programs/yazi.nix
# ./programs/zathura.nix
# ./configs/keys.nix
./system/dunst.nix
./system/hyprland.nix
./system/rofi.nix
./system/stylix.nix
./system/theme.nix
./system/waybar.nix
./system/wlsunset.nix
./system/wofi.nix
]
else if hostname == "server"
then [
./programs/git.nix
./programs/btop.nix
./programs/yazi.nix
./programs/shell.nix
./programs/helix.nix
./programs/fastfetch.nix
]
else [];
}

View File

@@ -2,7 +2,6 @@
programs.fastfetch = {
enable = true;
settings = {
"$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json";
logo = {
@@ -119,4 +118,3 @@
};
};
}

View File

@@ -23,5 +23,4 @@
push.gpgsign = "if-asked";
};
};
}

View File

@@ -14,4 +14,3 @@
# '';
# };
}

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.helix = {
enable = true;
@@ -9,11 +8,10 @@
languages = {
language = [
{
name = "nix";
auto-format = true;
language-servers = [ "nixd" "nil" ];
language-servers = ["nixd" "nil"];
formatter = {
command = "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt";
# command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
@@ -24,48 +22,48 @@
{
name = "bash";
auto-format = true;
language-servers = [ "bash-language-server" ];
language-servers = ["bash-language-server"];
formatter = {
command = "${pkgs.shfmt}/bin/shfmt";
args = [ "-i" "2" "-ci" ];
args = ["-i" "2" "-ci"];
};
}
{
name = "python";
auto-format = true;
language-servers = [ "pyright" ];
language-servers = ["pyright"];
formatter = {
command = "${pkgs.black}/bin/black";
args = [ "--quiet" "-" ];
args = ["--quiet" "-"];
};
}
{
name = "rust";
auto-format = false;
file-types = [ "rs" ];
language-servers = [ "rust-analyzer" ];
formatter = { command = "${pkgs.rustfmt}/bin/rustfmt"; };
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"; };
language-servers = ["zsl"];
formatter = {command = "${pkgs.zig}/bin/zig";};
}
{
name = "html";
auto-format = true;
language-servers = [ "vscode-langservers-extracted" ];
language-servers = ["vscode-langservers-extracted"];
}
{
name = "javascript";
auto-format = true;
language-servers = [ "typescript-language-server" ];
language-servers = ["typescript-language-server"];
}
];
@@ -74,12 +72,11 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
language-servers = {
nil = { command = "${pkgs.nixd}/bin/nixd"; };
nil = {command = "${pkgs.nixd}/bin/nixd";};
rust-analyzer = {
config = {
check = { command = "${pkgs.clippy}/bin/cargo-clippy"; };
check = {command = "${pkgs.clippy}/bin/cargo-clippy";};
# cargo.features = "all";
checkOnSave.command = "${pkgs.clippy}/bin/cargo-clippy";
completion.autoimport.enable = true;
@@ -88,7 +85,7 @@
typescript-language-server = {
command = "${pkgs.nodePackages_latest.typescript-language-server}/bin/typescript-language-server";
args = [ "--stdio" ];
args = ["--stdio"];
};
};
};

View File

@@ -1,4 +1,4 @@
{ lib, ... }: {
{lib, ...}: {
programs.kitty = {
enable = true;
font = {

View File

@@ -1,6 +1,7 @@
{ inputs
, pkgs
, ...
{
inputs,
pkgs,
...
}: {
# programs.neovim = {
# enable = true;

View File

@@ -1,5 +1,8 @@
{ inputs, pkgs, ... }:
{
inputs,
pkgs,
...
}: {
programs.direnv.enable = true;
programs.direnv.nix-direnv.enable = true;

View File

@@ -40,7 +40,6 @@
};
settings = {
content = {
autoplay = false;
javascript.clipboard = "access";

View File

@@ -1,10 +1,6 @@
{ pkgs
, ...
}:
let
{pkgs, ...}: let
cli = import ../configs/aliases.nix;
in
{
in {
programs = {
zoxide.enable = true;

View File

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

View File

@@ -1,16 +1,16 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.vscode = {
enable = true;
package = pkgs.vscode.fhsWithPackages (
ps: with ps; [
rustup
zlib
openssl.dev
pkg-config
# nixfmt-rfc-style
python3
]
ps:
with ps; [
rustup
zlib
openssl.dev
pkg-config
# nixfmt-rfc-style
python3
]
);
extensions = with pkgs.vscode-extensions; [
@@ -27,7 +27,6 @@
];
userSettings = {
"editor.fontSize" = 16;
"editor.fontFamily" = "FiraCode Nerd Font";
"explorer.confirmDelete" = false;
@@ -45,7 +44,7 @@
"nix.serverSettings" = {
"nixd" = {
"formatting" = {
"command" = [ "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt" ];
"command" = ["${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt"];
};
"nixpkgs" = {
"expr" = "import <nixpkgs> { }";
@@ -70,7 +69,6 @@
"workbench.colorTheme" = "Rosé Pine";
"workbench.preferredDarkColorTheme" = "Rosé Pine";
"workbench.preferredHighContrastColorTheme" = "Rosé Pine";
};
};
}

View File

@@ -1,6 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ libnotify ];
{pkgs, ...}: {
home.packages = with pkgs; [libnotify];
services.dunst = {
enable = true;

View File

@@ -1,5 +1,10 @@
{ lib, pkgs, inputs, hostname, ... }:
{
lib,
pkgs,
inputs,
hostname,
...
}: {
home.packages = with pkgs; [
hypr
];

View File

@@ -1,10 +1,10 @@
{ lib
, pkgs
, inputs
, hostname
, ...
}:
{
lib,
pkgs,
inputs,
hostname,
...
}: {
# ------------------------------------------------
# Needed Packages
# ------------------------------------------------
@@ -644,7 +644,6 @@
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
'';
};
#################################
@@ -655,8 +654,8 @@
settings = {
ipc = "off";
splash = false;
preload = [ "~/.files/home/wallpapers/blockwavemoon.png" ];
wallpaper = [ ",~/.files/home/wallpapers/blockwavemoon.png" ];
preload = ["~/.files/home/wallpapers/blockwavemoon.png"];
wallpaper = [",~/.files/home/wallpapers/blockwavemoon.png"];
};
};
@@ -673,79 +672,78 @@
};
listener =
if hostname == "zion" then
[
# {
# timeout = 60;
# on-timeout = "brightnessctl -sd asus::kbd_backlight set 0";
# on-resume = "brightnessctl -rd asus::kbd_backlight";
# }
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 = 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 = 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 = 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 = 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 = 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 = 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 = 750;
on-timeout = "hyprctl dispatch dpms off ";
on-resume = "hyprctl dispatch dpms on";
}
{
timeout = 900;
on-timeout = "systemctl suspend";
}
{
timeout = 900;
on-timeout = "systemctl suspend";
}
{
timeout = 1500;
on-timeout = "systemctl hibernate";
}
]
else
[ ];
{
timeout = 1500;
on-timeout = "systemctl hibernate";
}
]
else [];
};
};
@@ -756,7 +754,6 @@
enable = true;
settings = lib.mkForce {
general = {
grace = 5;
no_fade_in = true;

View File

@@ -1,4 +1,8 @@
{ lib, pkgs, ... }: {
{
lib,
pkgs,
...
}: {
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;

View File

@@ -1,6 +1,9 @@
{ inputs, pkgs, ... }:
{
imports = [ inputs.stylix.homeManagerModules.stylix ];
inputs,
pkgs,
...
}: {
imports = [inputs.stylix.homeManagerModules.stylix];
#qt = {
# enable = false;
@@ -62,17 +65,20 @@
};
monospace = {
package = pkgs.nerd-fonts.droid-sans-mono;
# 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.nerd-fonts.droid-sans-mono;
package = pkgs.nerdfonts.override { fonts = [ "DroidSansMono" ]; };
name = "DroidSansMono";
};
serif = {
package = pkgs.nerd-fonts.droid-sans-mono;
# package = pkgs.nerd-fonts.droid-sans-mono;
package = pkgs.nerdfonts.override { fonts = [ "DroidSansMono" ]; };
name = "DroidSansMono";
};
};

View File

@@ -3,11 +3,8 @@
pkgs,
inputs,
...
}:
let
in
{
}: let
in {
qt = {
enable = true;
platformTheme.name = "qtct";

View File

@@ -30,7 +30,6 @@
prompt-color = "#f38ba8";
selection-color = "#f9e2af";
background-color = "#1a1b26";
};
};
}

View 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);
}
'';
};
}

View File

Before

Width:  |  Height:  |  Size: 1024 KiB

After

Width:  |  Height:  |  Size: 1024 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 MiB

After

Width:  |  Height:  |  Size: 4.0 MiB

View File

@@ -1,181 +0,0 @@
#!/usr/bin/env 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

View File

@@ -1,76 +0,0 @@
{ hostname, ... }:
{
imports =
if hostname == "zion" then
[
./programs/btop.nix
./programs/fastfetch.nix
# ./programs/foot.nix
./programs/git.nix
./programs/gpg.nix
./programs/helix.nix
./programs/kitty.nix
./programs/neovide.nix
./programs/neovim.nix
./programs/packages.nix
./programs/shell.nix
./programs/tmux.nix
./programs/vscodium.nix
./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
]
else if hostname == "thor" then
[
./programs/btop.nix
./programs/fastfetch.nix
# ./programs/foot.nix
./programs/git.nix
./programs/gpg.nix
./programs/helix.nix
./programs/kitty.nix
./programs/neovide.nix
./programs/neovim.nix
./programs/packages.nix
./programs/shell.nix
./programs/tmux.nix
./programs/vscodium.nix
# ./programs/yazi.nix
# ./programs/zathura.nix
# ./configs/keys.nix
./system/dunst.nix
./system/hyprland.nix
./system/rofi.nix
./system/stylix.nix
./system/theme.nix
./system/waybar.nix
./system/wlsunset.nix
./system/wofi.nix
]
else if hostname == "server" then
[
./programs/git.nix
./programs/btop.nix
./programs/yazi.nix
./programs/shell.nix
./programs/helix.nix
./programs/fastfetch.nix
]
else
[ ];
}

View File

@@ -1,576 +0,0 @@
{ 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);
}
'';
};
}

View File

@@ -1,84 +1,82 @@
{ hostname, ... }:
{
{hostname, ...}: {
imports =
if hostname == "zion" then
[
./zion.nix
if hostname == "zion"
then [
./zion.nix
./modules/adb.nix
./modules/ananicy.nix
# ./modules/bluetooth.nix
./modules/boot.nix
./modules/configuration.nix
./modules/development.nix
./modules/fstrim.nix
./modules/gaming.nix
# ./modules/greetd.nix
./modules/gsettings.nix
# ./modules/kde.nix
# ./modules/lanzaboot.nix
./modules/network.nix
./modules/nh.nix
./modules/nvidia.nix
./modules/ollama.nix
./modules/packages.nix
./modules/pipewire.nix
./modules/printing.nix
./modules/remote-builder.nix
./modules/security.nix
./modules/ssh.nix
./modules/steam.nix
./modules/users.nix
./modules/vm.nix
./modules/xserver.nix
]
else if hostname == "thor" then
[
./thor.nix
./modules/adb.nix
./modules/ananicy.nix
# ./modules/bluetooth.nix
./modules/boot.nix
./modules/configuration.nix
./modules/development.nix
./modules/fstrim.nix
./modules/gaming.nix
# ./modules/greetd.nix
./modules/gsettings.nix
# ./modules/kde.nix
# ./modules/lanzaboot.nix
./modules/network.nix
./modules/nh.nix
./modules/nvidia.nix
./modules/ollama.nix
./modules/packages.nix
./modules/pipewire.nix
./modules/printing.nix
./modules/remote-builder.nix
./modules/security.nix
./modules/ssh.nix
./modules/steam.nix
./modules/users.nix
./modules/vm.nix
./modules/xserver.nix
]
else if hostname == "thor"
then [
./thor.nix
./modules/adb.nix
./modules/ananicy.nix
./modules/bluetooth.nix
./modules/boot.nix
./modules/configuration.nix
./modules/development.nix
./modules/distributed-builds.nix
./modules/fstrim.nix
./modules/gaming.nix
./modules/greetd.nix
./modules/gsettings.nix
# ./modules/kde.nix
# ./modules/lanzaboot.nix
./modules/network.nix
./modules/nh.nix
# ./modules/nvidia.nix
./modules/ollama.nix
./modules/packages.nix
./modules/pipewire.nix
./modules/printing.nix
./modules/security.nix
./modules/ssh.nix
./modules/tlp.nix
./modules/users.nix
./modules/vm.nix
]
else if hostname == "server" then
[
./server.nix
./modules/adb.nix
./modules/ananicy.nix
./modules/bluetooth.nix
./modules/boot.nix
./modules/configuration.nix
./modules/development.nix
./modules/distributed-builds.nix
./modules/fstrim.nix
./modules/gaming.nix
./modules/greetd.nix
./modules/gsettings.nix
# ./modules/kde.nix
# ./modules/lanzaboot.nix
./modules/network.nix
./modules/nh.nix
# ./modules/nvidia.nix
./modules/ollama.nix
./modules/packages.nix
./modules/pipewire.nix
./modules/printing.nix
./modules/security.nix
./modules/ssh.nix
./modules/tlp.nix
./modules/users.nix
./modules/vm.nix
]
else if hostname == "server"
then [
./server.nix
./modules/nh.nix
./modules/tlp.nix
./modules/ssh.nix
./modules/boot.nix
./modules/users.nix
./modules/nvidia.nix
./modules/ollama.nix
./modules/fstrim.nix
./modules/system.nix
./modules/network.nix
./modules/configuration.nix
#./modules/lanzaboot.nix
]
else
[ ];
./modules/nh.nix
./modules/tlp.nix
./modules/ssh.nix
./modules/boot.nix
./modules/users.nix
./modules/nvidia.nix
./modules/ollama.nix
./modules/fstrim.nix
./modules/system.nix
./modules/network.nix
./modules/configuration.nix
#./modules/lanzaboot.nix
]
else [];
}

View File

@@ -1,9 +1,8 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.adb.enable = true;
environment.systemPackages = [
pkgs.android-tools
pkgs.universal-android-debloater
];
users.users.mike.extraGroups = [ "adbusers" ];
users.users.mike.extraGroups = ["adbusers"];
}

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
services.ananicy = {
enable = true;
package = pkgs.ananicy-cpp;

View File

@@ -1,6 +1,13 @@
{ pkgs, hostname, inputs, ... }:
{
imports = if hostname == "zion" then [ inputs.chaotic.nixosModules.default ] else [ ];
pkgs,
hostname,
inputs,
...
}: {
imports =
if hostname == "zion"
then [inputs.chaotic.nixosModules.default]
else [];
boot = {
tmp.cleanOnBoot = true;
@@ -16,9 +23,12 @@
};
kernelPackages =
if hostname == "zion" then pkgs.linuxPackages_cachyos #linuxPackages_zen #linuxPackages #linuxPackages_latest #linuxPackages_xanmod_latest
else if hostname == "thor" then pkgs.linuxPackages
else if hostname == "server" then pkgs.linuxPackages
if hostname == "zion"
then pkgs.linuxPackages_zen #linuxPackages_zen #linuxPackages #linuxPackages_latest #linuxPackages_xanmod_latest
else if hostname == "thor"
then pkgs.linuxPackages
else if hostname == "server"
then pkgs.linuxPackages
else pkgs.linuxPackages_zen;
};
}

View File

@@ -1,5 +1,9 @@
{ hostname, inputs, pkgs, ... }:
{
hostname,
inputs,
pkgs,
...
}: {
time.timeZone = "Europe/Warsaw";
i18n.defaultLocale = "en_US.UTF-8";
@@ -37,9 +41,9 @@
};
environment = {
sessionVariables.NIXOS_OZONE_WL = "1";
# sessionVariables.NIXOS_OZONE_WL = "1";
shells = with pkgs; [ bash zsh ];
shells = with pkgs; [bash zsh];
};
system = {
@@ -48,6 +52,9 @@
enable = false;
enableNg = true;
};
autoUpgrade = {
enable = true;
};
};
nixpkgs = {
@@ -69,16 +76,16 @@
nix = {
daemonCPUSchedPolicy = "batch";
channel.enable = false;
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
optimise = {
automatic = true;
dates = [ "daily" ];
dates = ["daily"];
};
settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
experimental-features = ["nix-command" "flakes"];
substituters = [
"https://cache.nixos.org"

View File

@@ -1,5 +1,9 @@
{ inputs, pkgs, rust-overlay, ... }:
{
inputs,
pkgs,
rust-overlay,
...
}: {
environment.systemPackages = with pkgs; [
# general
docker

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
nix.distributedBuilds = true;
nix.settings.builders-use-substitutes = true;
@@ -9,7 +8,7 @@
sshUser = "remotebuild";
sshKey = "/root/.ssh/remotebuild";
system = "x86_64-linux";
supportedFeatures = [ "nixos-test" "big-parallel" "kvm" ];
supportedFeatures = ["nixos-test" "big-parallel" "kvm"];
}
];
}

View File

@@ -1,19 +1,22 @@
{ pkgs, username, ... }:
{
users.users.${username}.packages = with pkgs; [ heroic ];
pkgs,
username,
...
}: {
users.users.${username}.packages = with pkgs; [heroic];
hardware.steam-hardware.enable = true;
programs = {
steam = {
enable = true;
gamescopeSession.enable = true;
extraCompatPackages = with pkgs; [ proton-ge-bin ];
extraCompatPackages = with pkgs; [proton-ge-bin];
};
gamemode = {
enable = true;
enableRenice = true;
settings = { };
settings = {};
};
gamescope = {

View File

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

View File

@@ -1,8 +1,12 @@
{ lib, pkgs, inputs, ... }:
{
imports = [ inputs.lanzaboote.nixosModules.lanzaboote ];
lib,
pkgs,
inputs,
...
}: {
imports = [inputs.lanzaboote.nixosModules.lanzaboote];
environment.systemPackages = [ pkgs.sbctl ];
environment.systemPackages = [pkgs.sbctl];
boot = {
loader.systemd-boot.enable = lib.mkForce false;

View File

@@ -1,5 +1,4 @@
{ hostname, ... }:
{
{hostname, ...}: {
boot.initrd.systemd.network.wait-online.enable = false;
systemd.services.NetworkManager-wait-online.enable = false;
@@ -9,7 +8,7 @@
stevenblack = {
enable = true;
block = [ "fakenews" "gambling" "porn" ];
block = ["fakenews" "gambling" "porn"];
};
wireless = {

View File

@@ -1,5 +1,4 @@
{ username, ... }:
{
{username, ...}: {
programs.nh = {
enable = true;
flake = "/home/${username}/.files";

View File

@@ -1,11 +1,14 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
nixpkgs.config.nvidia.acceptLicense = true;
services.xserver.videoDrivers = [ "nvidia" ];
services.xserver.videoDrivers = ["nvidia"];
boot = {
kernelModules = [ "nvidia-uvm" ];
kernelParams = [ "nvidia-drm.fbdev=1" ];
kernelModules = ["nvidia-uvm"];
kernelParams = ["nvidia-drm.fbdev=1"];
};
hardware = {

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
vim
ntfs3g
@@ -33,74 +32,85 @@
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; [
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
nerdfonts
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
@@ -123,5 +133,4 @@
# max-cache-ttl-ssl = 60480000;
};
};
}

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
services.printing = {
enable = true;
drivers = with pkgs; [

View File

@@ -1,13 +1,12 @@
# Enable Qtile
{ pkgs, ... }:
{
{pkgs, ...}: {
# --------------------------------------
# Enable QTILE
# --------------------------------------
services.xserver.windowManager.qtile = {
enable = true;
configFile = /home/nel/dotfiles/qtile/config.py;
extraPackages = python3Packages: with python3Packages; [ qtile-extras ];
extraPackages = python3Packages: with python3Packages; [qtile-extras];
};
# --------------------------------------

View File

@@ -4,7 +4,7 @@
createHome = false;
group = "remotebuild";
openssh.authorizedKeys.keyFiles = [ ../keys/remotebuild.pub ];
openssh.authorizedKeys.keyFiles = [../keys/remotebuild.pub];
};
users.groups.remotebuild = {};
@@ -12,7 +12,7 @@
nix = {
nrBuildUsers = 64;
settings = {
trusted-users = [ "remotebuild" ];
trusted-users = ["remotebuild"];
min-free = 10 * 1024 * 1024;
max-free = 200 * 1024 * 1024;
@@ -28,4 +28,3 @@
OOMScoreAdjust = 500;
};
}

View File

@@ -1,9 +1,9 @@
{
networking.firewall.allowedTCPPorts = [ 22 ];
networking.firewall.allowedTCPPorts = [22];
services.openssh = {
enable = true;
ports = [ 22 ];
ports = [22];
settings = {
PermitRootLogin = "no";

View File

@@ -1,4 +1,8 @@
{ inputs, pkgs, ... }: {
{
inputs,
pkgs,
...
}: {
programs.steam = {
enable = true;
extraCompatPackages = with pkgs; [

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.thunar = {
enable = true;
plugins = with pkgs.xfce; [

View File

@@ -1,15 +1,17 @@
{ config, hostname, ... }:
{
config,
hostname,
...
}: {
boot = {
kernelModules = [ "acpi_call" ];
extraModulePackages = with config.boot.kernelPackages; [ acpi_call ];
kernelModules = ["acpi_call"];
extraModulePackages = with config.boot.kernelPackages; [acpi_call];
};
services.tlp = {
enable = true;
settings = {
TLP_DEFAULT_MODE =
if hostname == "laptop"
then "BAT"

View File

@@ -1,6 +1,11 @@
{ inputs, username, hostname, pkgs, ... }:
{
imports = [ inputs.home-manager.nixosModules.home-manager ];
inputs,
username,
hostname,
pkgs,
...
}: {
imports = [inputs.home-manager.nixosModules.home-manager];
users.defaultUserShell = pkgs.zsh;
@@ -20,10 +25,10 @@
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = { inherit inputs username hostname; };
extraSpecialArgs = {inherit inputs username hostname;};
users.${username} = {
imports = [ ../../home/home.nix ];
imports = [../../home-manager/home.nix];
programs.home-manager.enable = true;
home = {
stateVersion = "24.05";

View File

@@ -1,7 +1,10 @@
{ pkgs, username, ... }:
{
users.users.${username}.extraGroups = [ "libvirtd" ];
boot.kernel.sysctl = { "vm.max_map_count" = 2147483642; };
pkgs,
username,
...
}: {
users.users.${username}.extraGroups = ["libvirtd"];
boot.kernel.sysctl = {"vm.max_map_count" = 2147483642;};
# Install necessary packages
environment.systemPackages = with pkgs; [
@@ -29,7 +32,7 @@
qemu = {
swtpm.enable = true;
ovmf.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ];
ovmf.packages = [pkgs.OVMFFull.fd];
};
};
};

View File

@@ -40,7 +40,6 @@
dconf
];
# X Server settings
services.xserver = {
enable = true;
@@ -79,7 +78,7 @@
owner = "eRgo35";
repo = "dwm";
rev = "main";
hash = "sha256-lAiw8mqB7iAzKNO2BiXhnRV0WLYwwfyZfFQ/epgBLdo=";
hash = "sha256-Fq6FhrUYzQ6yiAAVstZkTZV6/80xIToZirDtJTBDRHQ=";
};
};
};

View File

@@ -1,30 +1,34 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/efcf6f2f-7d44-441e-84a9-0a9725be0b72";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/efcf6f2f-7d44-441e-84a9-0a9725be0b72";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/0656-C8A6";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/0656-C8A6";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [ ];
swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -1,32 +1,36 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/9b9ed0c3-1236-499b-b9c3-51e6c4d02483";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/9b9ed0c3-1236-499b-b9c3-51e6c4d02483";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/17B9-AFFF";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/17B9-AFFF";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/d6820248-2865-4b52-9893-174309c9e684"; }
];
swapDevices = [
{device = "/dev/disk/by-uuid/d6820248-2865-4b52-9893-174309c9e684";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

41
overlays/default.nix Normal file
View File

@@ -0,0 +1,41 @@
# This file defines overlays
{inputs, ...}: {
# This one brings our custom packages from the 'pkgs' directory
additions = final: _prev:
import ../pkgs {pkgs = final;};
# This one contains whatever you want to overlay
# You can change versions, add patches, set compilation flags, anything really.
# https://nixos.wiki/wiki/Overlays
modifications = final: prev: {
# example = prev.example.overrideAttrs (oldAttrs: rec {
# ...
# });
};
# For every flake input, aliases 'pkgs.inputs.${flake}' to
# 'inputs.${flake}.packages.${pkgs.system}' or
# 'inputs.${flake}.legacyPackages.${pkgs.system}'
flake-inputs = final: _: {
inputs =
builtins.mapAttrs (
_: flake: let
legacyPackages = (flake.legacyPackages or {}).${final.system} or {};
packages = (flake.packages or {}).${final.system} or {};
in
if legacyPackages != {}
then legacyPackages
else packages
)
inputs;
};
# When applied, the unstable nixpkgs set (declared in the flake inputs) will
# be accessible through 'pkgs.unstable'
unstable-packages = final: _prev: {
unstable = import inputs.nixpkgs-unstable {
system = final.system;
config.allowUnfree = true;
};
};
}