Compare commits

...

101 commits

Author SHA1 Message Date
96e5d27277 non important commit 2026-04-02 14:45:16 +02:00
cbfacd92d3 non important commit 2026-04-02 14:40:58 +02:00
87b2d51b87 non important commit 2026-04-02 13:55:11 +02:00
95758a19b9 non important commit 2026-04-02 13:28:23 +02:00
0c0d1b06e9 non important commit 2026-03-31 17:37:27 +02:00
eb2f9d621f non important commit 2026-03-31 17:18:46 +02:00
2a018602dc non important commit 2026-03-31 15:30:20 +02:00
ed7c13237f non important commit 2026-03-30 14:58:24 +02:00
b2a34ea54e non important commit 2026-03-26 16:58:39 +01:00
6c9eddac70 non important commit 2026-03-20 15:35:49 +01:00
8024c60c54 welp 2026-03-19 10:41:09 +01:00
f540230e4c non important commit 2026-03-19 09:51:12 +01:00
8445bae734 non important commit 2026-03-19 09:33:00 +01:00
6bedc86f33 non important commit 2026-03-19 09:27:56 +01:00
277a41c787 non important commit 2026-03-19 09:23:30 +01:00
f3a0b11386 non important commit 2026-03-19 09:16:22 +01:00
4649761778 non important commit 2026-03-19 09:15:42 +01:00
f8a4d53100 non important commit 2026-03-19 09:14:55 +01:00
b626598ba2 non important commit 2026-03-19 09:13:49 +01:00
f15544e6c1 non important commit 2026-03-19 09:06:16 +01:00
c151982846 non important commit 2026-03-19 09:03:29 +01:00
823d8608ef non important commit 2026-03-19 09:01:40 +01:00
492350145c nonimportntcommit 2026-03-19 08:43:59 +01:00
fcb153569c non important commit 2026-03-18 13:10:13 +01:00
6b75072cba non important commit 2026-03-18 13:06:35 +01:00
8b12505bf9 non important commit 2026-03-17 10:16:41 +01:00
7231ddc5f8 non important commit 2026-03-17 09:53:53 +01:00
b200d9e2de non important commit 2026-03-17 09:49:22 +01:00
2466369470 non important commit 2026-03-17 09:37:49 +01:00
fe27c7e4dc non important commit 2026-03-16 22:30:12 +01:00
659c4d33c9 non important commit 2026-03-16 19:44:32 +01:00
b89c1f9ac2 non important commit 2026-03-16 19:42:59 +01:00
67ae9fb15f non important commit 2026-03-16 18:57:41 +01:00
52be224d5c non important commit 2026-03-16 18:53:37 +01:00
a174acadd4 non important commit 2026-03-16 18:50:38 +01:00
0eed43d45c non important commit 2026-03-16 18:47:49 +01:00
411d40a456 non important commit 2026-03-16 18:47:31 +01:00
ba9bffcf01 non important commit 2026-03-16 18:43:54 +01:00
4c9360c172 non important commit 2026-03-16 10:23:34 +01:00
edc08bcca2 non important commit 2026-03-15 22:03:07 +01:00
2ed8587f21 non important commit 2026-03-15 20:27:46 +01:00
ea48fbc85f non important commit 2026-03-15 20:25:06 +01:00
dfac501d3d non important commit 2026-03-15 20:18:46 +01:00
3a7b3540cb non important commit 2026-03-15 20:12:20 +01:00
6c0f9bb7d0 non important commit 2026-03-15 20:11:24 +01:00
94c61651f4 non important commit 2026-03-15 19:43:53 +01:00
0f7321e079 non important commit 2026-03-15 19:05:05 +01:00
d6abe0c94c non important commit 2026-03-15 19:04:04 +01:00
7d993015a0 non important commit 2026-03-15 19:00:52 +01:00
afb1ca27ad non important commit 2026-03-15 15:29:56 +01:00
b023d36276 non important commit 2026-03-15 14:09:51 +01:00
1eb971ae6e non important commit 2026-03-15 13:57:31 +01:00
5bdb54045b non important commit 2026-03-15 13:02:07 +01:00
fe5972ab39 non important commit 2026-03-15 12:59:38 +01:00
5627f8b32d non important commit 2026-03-15 12:55:04 +01:00
7b73bd8bd2 non important commit 2026-03-15 12:53:41 +01:00
4c77ee2b06 non important commit 2026-03-15 12:53:15 +01:00
074319fe18 non important commit 2026-03-15 12:26:41 +01:00
9647343766 non important commit 2026-03-15 12:24:28 +01:00
efbadb4ff8 non important commit 2026-03-15 12:24:01 +01:00
767ebbf09b non important commit 2026-03-15 12:23:02 +01:00
d77ff01a7c non important commit 2026-03-15 12:16:16 +01:00
4147e42201 non important commit 2026-03-15 12:14:51 +01:00
593cf6b5c3 non important commit 2026-03-15 12:11:26 +01:00
27ba9a081e non important commit 2026-03-15 12:10:59 +01:00
c9990caeca non important commit 2026-03-15 12:10:12 +01:00
8106bcd14e non important commit 2026-03-15 12:09:32 +01:00
d81246ab3e non important commit 2026-03-15 11:39:37 +01:00
6d5c616d84 non important commit 2026-03-15 11:37:47 +01:00
54a3e3e3f6 non important commit 2026-03-15 11:34:47 +01:00
61f20c37b3 non important commit 2026-03-15 11:18:05 +01:00
43d476b59a non important commit 2026-03-15 11:17:25 +01:00
c39cada563 non important commit 2026-03-15 11:16:36 +01:00
fdb900f5cc non important commit 2026-03-15 11:15:37 +01:00
8b75542684 non important commit 2026-03-15 11:13:26 +01:00
fb6433e114 non important commit 2026-03-15 11:13:01 +01:00
d436c383ea non important commit 2026-03-15 11:10:28 +01:00
aab64955c2 non important commit 2026-03-15 11:10:08 +01:00
0e8124cfbb non important commit 2026-03-15 11:04:25 +01:00
e33799c25f non important commit 2026-03-15 11:03:13 +01:00
a4f253cf60 non important commit 2026-03-15 11:02:51 +01:00
fa3640022d non important commit 2026-03-15 10:54:13 +01:00
95fc1945a6 non important commit 2026-03-15 10:35:25 +01:00
e623628bf6 non important commit 2026-03-15 10:33:24 +01:00
37726d5335 non important commit 2026-03-15 10:33:07 +01:00
a8c9994ae5 non important commit 2026-03-15 10:31:04 +01:00
e192d50ecd non important commit 2026-03-15 10:28:36 +01:00
0b253c633b non important commit 2026-03-15 10:03:43 +01:00
ae00a90d1c non important commit 2026-03-15 09:29:07 +01:00
2d2b75d195 reee 2026-03-14 23:37:46 +01:00
97b008689d reee 2026-03-14 23:34:58 +01:00
fc3c55b4a7 reeee 2026-03-14 23:17:36 +01:00
b0ba53b89e sdasdsa 2026-03-14 22:47:21 +01:00
b03991f082 adssa 2026-03-14 22:45:54 +01:00
28af9d6cc4 adssa 2026-03-14 22:45:33 +01:00
3b2e94cd9f asdasd 2026-03-14 22:44:26 +01:00
01b2970436 why does nixos require me to commit before rebuilding........ 2026-03-14 22:42:57 +01:00
260eed30e3 reee 2026-03-14 22:39:42 +01:00
9471e48f65 default fix 2026-03-14 22:16:46 +01:00
35377104df first bug fixes 2026-03-14 22:10:10 +01:00
a9eadc52f3 oxidizing 2026-03-14 21:45:57 +01:00
55 changed files with 874 additions and 1392 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 MiB

View file

@ -1,14 +0,0 @@
      ▄▀▀▀▀▀▀▀▀▄▄      
    ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄    
   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ 
 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ 
 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ 
 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄  
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
    ▄▀▀▀▀▀▀▀▀▀▀▀▀▄     
  ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄   
   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄  
 ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ 
  ▀ ▀ ▀▀▀▀ ▀▀▀▀▀ ▀▀    
            ▀▀        

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 MiB

View file

@ -1,21 +1,13 @@
{
imports = [
../modules/locale.nix
../modules/main-user.nix
../modules/system.nix
../modules/boot.nix
../modules/desktop.nix
../modules/audio.nix
../modules/printing.nix
../modules/programs.nix
../modules/ld.nix
../modules/sddm.nix
];
nix.settings.experimental-features = ["nix-command" "flakes"];
nixpkgs.config.allowUnfree = true;
services = {
avahi.enable = true;
upower.enable = true;
power-profiles-daemon.enable = true;
};
@ -28,13 +20,4 @@
Policy.AutoEnable = true;
};
};
networking = {
proxy.noProxy = "127.0.0.1,localhost,internal.domain";
networkmanager = {
enable = true;
};
firewall.enable = true;
};
}

View file

@ -3,29 +3,12 @@
./verbatim.nix
../modules/steam.nix
../modules/locale.nix
../modules/desktop.nix
../modules/main-user.nix
../modules/system.nix
../modules/boot.nix
../modules/desktop.nix
../modules/audio.nix
../modules/printing.nix
../modules/programs.nix
../modules/ld.nix
../modules/sddm.nix
];
nix.settings.experimental-features = ["nix-command" "flakes"];
nixpkgs.config.allowUnfree = true;
services.avahi.enable = true;
networking = {
hostName = "max-main";
proxy.noProxy = "127.0.0.1,localhost,internal.domain";
networkmanager.enable = true;
firewall = {
enable = true;
allowedTCPPorts = [9123];
};
};
networking.firewall.allowedTCPPorts = [9123];
}

View file

@ -1,14 +0,0 @@
{
services.pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
jack.enable = true;
};
security.rtkit.enable = true;
programs.noisetorch.enable = true;
}

View file

@ -1,11 +0,0 @@
{pkgs, ...}: {
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
kernelPackages = pkgs.linuxPackages_latest;
#kernelPackages = pkgs.linuxPackages_zen;
};
}

View file

@ -1,10 +1,9 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
wl-clipboard
libsForQt5.qt5.qtquickcontrols2
libsForQt5.qt5.qtgraphicaleffects
];
{
pkgs,
inputs,
system,
...
}: {
hardware.graphics = {
enable = true;
enable32Bit = true;
@ -13,35 +12,20 @@
xdg = {
mime.enable = true;
menus.enable = true;
portal.enable = true;
};
programs = {
hyprland = {
portal = {
enable = true;
withUWSM = true;
package = pkgs.hyprland;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
extraPortals = [pkgs.xdg-desktop-portal-cosmic];
config.common.default = "cosmic";
};
};
security.pam.services.hyprlock = {};
services = {
xserver = {
enable = true;
videoDrivers = ["amdgpu"];
xkb = {
layout = "cz";
variant = "";
options = "caps:escape";
};
};
programs.niri = {
enable = true;
package = pkgs.niri;
};
environment.sessionVariables = {
TERMINAL = "foot";
EDITOR = "nvim";
NIXOS_OZONE_WL = "1";
services.xserver = {
enable = true;
videoDrivers = ["amdgpu"];
};
}

View file

@ -0,0 +1,38 @@
{pkgs, ...}: {
programs.nix-ld = {
enable = true;
libraries = with pkgs; [
# Graphics
libGL
vulkan-loader
libdrm
libgbm
# Audio
alsa-lib
pulseaudio
pipewire
# Display / input
libX11
libXcursor
libXrandr
libXi
libXext
libXfixes
wayland
# Common runtime deps most Unity/Godot/etc games need
libxcrypt
glibc
stdenv.cc.cc.lib # libstdc++
zlib
openssl
curl
# Controllers
udev
libevdev
];
};
}

View file

@ -1,19 +0,0 @@
{
console.keyMap = "cz-lat2";
time.timeZone = "Europe/Prague";
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "cs_CZ.UTF-8";
LC_IDENTIFICATION = "cs_CZ.UTF-8";
LC_MEASUREMENT = "cs_CZ.UTF-8";
LC_MONETARY = "cs_CZ.UTF-8";
LC_NAME = "cs_CZ.UTF-8";
LC_NUMERIC = "cs_CZ.UTF-8";
LC_PAPER = "cs_CZ.UTF-8";
LC_TELEPHONE = "cs_CZ.UTF-8";
LC_TIME = "cs_CZ.UTF-8";
};
};
}

View file

@ -1,3 +0,0 @@
{
services.printing.enable = true;
}

View file

@ -1,12 +0,0 @@
{
programs = {
firefox.enable = true;
bash.blesh.enable = true; # Enhanced bash
nix-ld = {
enable = true;
#libraries = with pkgs; [
# Add libraries here
#];
};
};
}

View file

@ -14,7 +14,7 @@ in {
qtvirtualkeyboard
];
enable = true;
wayland.enable = false;
wayland.enable = true;
autoNumlock = true;
enableHidpi = false;
theme = "sddm-astronaut-theme";

View file

@ -1,6 +1,83 @@
{device-name, ...}: {
networking.hostName = "max-${device-name}";
system = {
stateVersion = "25.11";
{
device-name,
pkgs,
...
}: {
system.stateVersion = "25.11";
nix.settings.experimental-features = ["nix-command" "flakes"];
nixpkgs.config.allowUnfree = true;
networking = {
networkmanager.enable = false;
hostName = "max-${device-name}";
proxy.noProxy = "127.0.0.1,localhost,internal.domain";
firewall = {
enable = true;
};
};
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
kernelPackages = pkgs.linuxPackages_latest; #pkgs.linuxPackages_zen;
};
services.pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
jack.enable = true;
};
services.logind = {
settings.Login.powerKey = "ignore";
settings.Login.powerKeyLongPress = "poweroff";
};
services.connman.enable = true;
hardware.sensor.iio.enable = true;
security.rtkit.enable = true;
programs.noisetorch.enable = true;
console.keyMap = "cz-lat2";
services.xserver.xkb.layout = "cz";
time.timeZone = "Europe/Prague";
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "cs_CZ.UTF-8";
LC_IDENTIFICATION = "cs_CZ.UTF-8";
LC_MEASUREMENT = "cs_CZ.UTF-8";
LC_MONETARY = "cs_CZ.UTF-8";
LC_NAME = "cs_CZ.UTF-8";
LC_NUMERIC = "cs_CZ.UTF-8";
LC_PAPER = "cs_CZ.UTF-8";
LC_TELEPHONE = "cs_CZ.UTF-8";
LC_TIME = "cs_CZ.UTF-8";
};
};
services = {
printing.enable = true;
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
};
environment.systemPackages = [
pkgs.ripgrep
pkgs.xwayland-satellite
];
}

277
flake.lock generated
View file

@ -1,5 +1,27 @@
{
"nodes": {
"awww": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1774191766,
"narHash": "sha256-bvO+gfuUOVUiBEwAJ5A2RjpysPzCfyXD+DM8piOa1+4=",
"ref": "refs/heads/main",
"rev": "7a8fc2e646b97e5ae508a44d3449e3b41345d456",
"revCount": 1336,
"type": "git",
"url": "https://codeberg.org/LGFae/awww"
},
"original": {
"type": "git",
"url": "https://codeberg.org/LGFae/awww"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
@ -87,41 +109,20 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1751685974,
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
"ref": "refs/heads/main",
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
"revCount": 92,
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
"lastModified": 1761588595,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"type": "github"
},
"original": {
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nvf",
"nixpkgs"
]
},
"locked": {
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"stylix",
@ -147,7 +148,7 @@
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1772147792,
@ -206,11 +207,11 @@
]
},
"locked": {
"lastModified": 1773367248,
"narHash": "sha256-FFMc1uAwy2GYasd0rdNDVxKyAgzuoJH2M+GglBQbqf0=",
"lastModified": 1774870460,
"narHash": "sha256-DHeILNrZRmOQ8dj0MGHpjnGN+RfEoo5pHDwF+xekIl0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "be0c641a6a5564caa33982faa1fe2c60d92131c7",
"rev": "293490e1c1bf3bc46d7a1f2763052f0230d12e0c",
"type": "github"
},
"original": {
@ -219,50 +220,71 @@
"type": "github"
}
},
"mnw": {
"locked": {
"lastModified": 1770419553,
"narHash": "sha256-b1XqsH7AtVf2dXmq2iyRr2NC1yG7skY7Z6N2MpWHlK4=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "2aaffa8030d0b262176146adbb6b0e6374ce2957",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "mnw",
"type": "github"
}
},
"ndg": {
"niri-flake": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"nixpkgs": [
"nvf",
"nixpkgs"
]
],
"nixpkgs-stable": "nixpkgs-stable",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1768214250,
"narHash": "sha256-hnBZDQWUxJV3KbtvyGW5BKLO/fAwydrxm5WHCWMQTbw=",
"owner": "feel-co",
"repo": "ndg",
"rev": "a6bd3c1ce2668d096e4fdaaa03ad7f03ba1fbca8",
"lastModified": 1774840705,
"narHash": "sha256-qHQCPuNj3Rug8NzxK3YhCx8N2RJBNr6nyAS2tqaLYNo=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "622435f64df8f7294293f2dfd59852614edacda4",
"type": "github"
},
"original": {
"owner": "feel-co",
"ref": "refs/tags/v2.6.0",
"repo": "ndg",
"owner": "sodiboo",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1756556321,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.08",
"repo": "niri",
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1774616418,
"narHash": "sha256-z+dLkAS4bqytIlOI4h2MnjBJrSP4d1Awx0n+IV5YA3Y=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "8f48f56fe19918b5cfa02e5d68a47ebaf7bf3dee",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"repo": "niri",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1773282481,
"narHash": "sha256-b/GV2ysM8mKHhinse2wz+uP37epUrSE+sAKXy/xvBY4=",
"lastModified": 1774709303,
"narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fe416aaedd397cacb33a610b33d60ff2b431b127",
"rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685",
"type": "github"
},
"original": {
@ -272,6 +294,22 @@
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1774388614,
"narHash": "sha256-tFwzTI0DdDzovdE9+Ras6CUss0yn8P9XV4Ja6RjA+nU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1073dad219cb244572b74da2b20c7fe39cb3fa9e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": [
@ -297,42 +335,39 @@
"type": "github"
}
},
"nvf": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"mnw": "mnw",
"ndg": "ndg",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1773343795,
"narHash": "sha256-0+HEuOytpwyPt7i1jj6v2QJ+NXXisCYnL2XNwPBltvg=",
"owner": "notashelf",
"repo": "nvf",
"rev": "83b44eaf50b96bd5d06b1a56a3a51f1b2362db52",
"type": "github"
},
"original": {
"owner": "notashelf",
"repo": "nvf",
"type": "github"
}
},
"root": {
"inputs": {
"awww": "awww",
"floatc": "floatc",
"home-manager": "home-manager",
"niri-flake": "niri-flake",
"nixpkgs": "nixpkgs",
"nvf": "nvf",
"stylix": "stylix",
"zen-browser": "zen-browser"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"awww",
"nixpkgs"
]
},
"locked": {
"lastModified": 1764038373,
"narHash": "sha256-M6w2wNBRelcavoDAyFL2iO4NeWknD40ASkH1S3C0YGM=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "ab3536fe850211a96673c6ffb2cb88aab8071cc9",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_2": {
"inputs": {
"nixpkgs": [
"floatc",
@ -360,13 +395,13 @@
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2",
"flake-parts": "flake-parts",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur",
"systems": "systems_2",
"systems": "systems",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
@ -374,11 +409,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1772296853,
"narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=",
"lastModified": 1774124764,
"narHash": "sha256-Poz9WTjiRlqZIf197CrMMJfTifZhrZpbHFv0eU1Nhtg=",
"owner": "danth",
"repo": "stylix",
"rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf",
"rev": "e31c79f571c5595a155f84b9d77ce53a84745494",
"type": "github"
},
"original": {
@ -402,21 +437,6 @@
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
@ -498,6 +518,39 @@
"type": "github"
}
},
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1755491097,
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.7",
"repo": "xwayland-satellite",
"type": "github"
}
},
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1773622265,
"narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "a879e5e0896a326adc79c474bf457b8b99011027",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"nixpkgs": [
@ -505,11 +558,11 @@
]
},
"locked": {
"lastModified": 1773290160,
"narHash": "sha256-u09eF4Oafi+OIbTtKe/EWil26q1glcTATiSA7dF1oCI=",
"lastModified": 1774759885,
"narHash": "sha256-Y3D2GnZTO6BhGWeVcO6qUkiO5g0dDL2tmokLVWNC1WY=",
"owner": "youwen5",
"repo": "zen-browser-flake",
"rev": "c7cb51b30960757ed9fb8eb28567b32585d0a688",
"rev": "16e3f4cd221a030186a96015d82dcb3fb4afa4d6",
"type": "github"
},
"original": {

View file

@ -1,11 +1,11 @@
{
description = "My personal Hyprland NixOS config";
description = "My personal NixOS config";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nvf = {
url = "github:notashelf/nvf";
awww = {
url = "git+https://codeberg.org/LGFae/awww";
inputs.nixpkgs.follows = "nixpkgs";
};
@ -28,14 +28,22 @@
url = "git+https://git.stribrny.org/max_ag/floating-calculator?rev=2abbacf66e99db523d624037f3e449aa40e8f366";
inputs.nixpkgs.follows = "nixpkgs";
};
niri-flake = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {nixpkgs, ...} @ inputs: let
system = "x86_64-linux";
mkSystem = device-name:
nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
inherit system;
specialArgs = {
inherit inputs device-name;
inherit inputs device-name system;
};
modules = [
./configuration/${device-name}/configuration.nix
@ -46,11 +54,18 @@
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
extraSpecialArgs = {
inherit inputs device-name;
inherit inputs device-name system;
};
backupFileExtension = null;
users.maxag = ./home/${device-name}/home.nix;
users.maxag = {
imports = [./home/${device-name}/home.nix];
home.stateVersion = "25.11";
};
sharedModules = [
inputs.stylix.homeModules.stylix
];

View file

@ -1,26 +1,3 @@
{pkgs, ...}: {
home = {
username = "maxag";
homeDirectory = "/home/maxag";
stateVersion = "25.11";
};
programs.home-manager.enable = true;
home.packages = with pkgs; [
brightnessctl
];
imports = [
./hyprland.nix
../modules/nvf.nix
../modules/stylix.nix
../modules/programming.nix
../modules/multimedia.nix
../modules/communication.nix
../modules/rice.nix
../modules/shells.nix
../modules/passwords.nix
../modules/create-project/create-project.nix
];
{
imports = [../modules/default.nix];
}

View file

@ -1,70 +0,0 @@
{
pkgs,
inputs,
...
}: {
imports = [
../modules/hyprland.nix
];
home.packages = with pkgs; [
bluez
];
wayland.windowManager.hyprland = {
settings = {
bind = [
"SUPER ALT, left, exec, hyprctl keyword monitor eDP-1,preferred,auto,1,transform,3 && hyprctl keyword input:touchdevice:transform 3 && hyprctl keyword input:tablet:transform 3"
"SUPER ALT, right, exec, hyprctl keyword monitor eDP-1,preferred,auto,1,transform,1 && hyprctl keyword input:touchdevice:transform 1 && hyprctl keyword input:tablet:transform 1"
"SUPER ALT, up, exec, hyprctl keyword monitor eDP-1,preferred,auto,1,transform,2 && hyprctl keyword input:touchdevice:transform 2 && hyprctl keyword input:tablet:transform 2"
"SUPER ALT, down, exec, hyprctl keyword monitor eDP-1,preferred,auto,1,transform,0 && hyprctl keyword input:touchdevice:transform 0 && hyprctl keyword input:tablet:transform 0"
];
workspace = [
"1, monitor:eDP-1"
"2, monitor:eDP-1"
"3, monitor:eDP-1"
"4, monitor:eDP-1"
"5, monitor:eDP-1"
"6, monitor:eDP-1"
"7, monitor:eDP-1"
"8, monitor:eDP-1"
"9, monitor:eDP-1"
"10, monitor:eDP-1"
];
};
extraConfig = "
monitor=eDP-1,1920x1200@60,0x0,1
xwayland {
force_zero_scaling = true
}
";
};
programs.hyprpanel = {
settings = {
bar = {
layouts = {
"*" = {
left = [
"dashboard"
"workspaces"
];
middle = [];
right = [
"volume"
"bluetooth"
"clock"
"systray"
"network"
"battery"
"notifications"
];
};
};
};
};
};
}

View file

@ -1,23 +1,5 @@
{
home = {
username = "maxag";
homeDirectory = "/home/maxag";
stateVersion = "25.11";
};
imports = [../modules/default.nix];
programs.home-manager.enable = true;
imports = [
./hyprland.nix
../modules/nvf.nix
../modules/stylix.nix
../modules/games.nix
../modules/programming.nix
../modules/multimedia.nix
../modules/communication.nix
../modules/rice.nix
../modules/shells.nix
../modules/passwords.nix
../modules/create-project/create-project.nix
];
myModules.games.enable = true;
}

View file

@ -1,64 +0,0 @@
{
imports = [
../modules/hyprland.nix
];
wayland.windowManager.hyprland = {
settings = {
workspace = [
"1, monitor:DP-1"
"2, monitor:DP-1"
"3, monitor:DP-1"
"4, monitor:DP-1"
"5, monitor:DP-1"
"6, monitor:DP-1"
"7, monitor:DP-1"
"8, monitor:DP-1"
"9, monitor:DP-1"
"10, monitor:DP-1"
"11, monitor:DP-2"
"12, monitor:DP-2"
"13, monitor:DP-2"
"14, monitor:DP-2"
"15, monitor:DP-2"
"16, monitor:DP-2"
"17, monitor:DP-2"
"18, monitor:DP-2"
"19, monitor:DP-2"
"20, monitor:DP-2"
];
};
extraConfig = "
monitor=DP-1,2560x1440@120,0x0,1
monitor=DP-2,1920x1080@60,-1920x300,1
xwayland {
force_zero_scaling = true
}
";
};
programs.hyprpanel = {
settings = {
bar = {
layouts = {
"*" = {
left = [
"dashboard"
"workspaces"
];
middle = [];
right = [
"volume"
"clock"
"systray"
"notifications"
];
};
};
};
};
};
}

View file

@ -1,6 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
discord
wasistlos
];
}

View file

@ -54,6 +54,9 @@ in {
direnv allow
git init
".direnv" | save --append .gitignore
git add .
git commit -m "Project setup"

View file

@ -1,22 +0,0 @@
{
description = "My motion canvas development shell";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
};
outputs = {nixpkgs, ...}: let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
};
in {
devShells."${system}" = {
default = pkgs.mkShell {
buildInputs = with pkgs; [
nodejs_20
nodePackages.npm
ffmpeg
];
};
};
};
}

View file

@ -1,7 +0,0 @@
#!/usr/bin/env bash
set -e
NAME=$1
sed -i "s/project_name/$NAME/g" package.json
nix develop . --command bash -c "npm install"

View file

@ -1,21 +0,0 @@
{
"name": "project_name",
"private": true,
"version": "0.0.0",
"scripts": {
"start": "vite",
"serve": "vite",
"build": "tsc && vite build"
},
"dependencies": {
"@motion-canvas/core": "^3.17.2",
"@motion-canvas/2d": "^3.17.2",
"@motion-canvas/ffmpeg": "^1.1.0"
},
"devDependencies": {
"@motion-canvas/ui": "^3.17.2",
"@motion-canvas/vite-plugin": "^3.17.2",
"typescript": "^5.2.2",
"vite": "^4.0.0"
}
}

View file

@ -1 +0,0 @@
/// <reference types="@motion-canvas/core/project" />

View file

@ -1,7 +0,0 @@
import {makeProject} from '@motion-canvas/core';
import example from './scenes/example?scene';
export default makeProject({
scenes: [example],
});

View file

@ -1,12 +0,0 @@
import {Circle, makeScene2D} from '@motion-canvas/2d';
import {createRef} from '@motion-canvas/core';
export default makeScene2D(function* (view) {
// Create your animations here
const circle = createRef<Circle>();
view.add(<Circle ref={circle} size={320} fill={'lightseagreen'} />);
yield* circle().scale(2, 2).to(1, 2);
});

View file

@ -1,4 +0,0 @@
{
"extends": "@motion-canvas/2d/tsconfig.project.json",
"include": ["src"]
}

View file

@ -1,10 +0,0 @@
import {defineConfig} from 'vite';
import motionCanvas from '@motion-canvas/vite-plugin';
import ffmpeg from '@motion-canvas/ffmpeg';
export default defineConfig({
plugins: [
motionCanvas(),
ffmpeg(),
],
});

View file

@ -13,6 +13,8 @@
default = pkgs.mkShell {
buildInputs = with pkgs; [
dotnetCorePackages.sdk_10_0-bin
netcoredbg
csharp-ls
];
};
};

View file

@ -25,7 +25,10 @@
devShells."${system}" = {
default = pkgs.mkShell {
packages = [pythonEnv];
packages = [
pythonEnv
pkgs.pyright
];
};
};
};

View file

@ -13,7 +13,11 @@
pkgs = import nixpkgs {
inherit system overlays;
};
rustToolchain = pkgs.rust-bin.stable.latest.default;
rustToolchain = pkgs.rust-bin.stable.latest.default.override {
extensions = ["rust-analyzer" "rust-src"];
};
rustPlatform = pkgs.makeRustPlatform {
cargo = rustToolchain;
rustc = rustToolchain;

View file

@ -1,5 +1,5 @@
{
description = "My cpp development shell";
description = "My typst development shell";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
@ -15,6 +15,7 @@
default = pkgs.mkShell {
buildInputs = with pkgs; [
typst
tinymist
];
};
};

View file

@ -0,0 +1,37 @@
{
pkgs,
inputs,
system,
...
}: {
home.packages = with pkgs; [
# Browser
inputs.zen-browser.packages.${system}.default
# Communication
discord
wasistlos
thunderbird
# Programming
godot
arduino-ide
# Office
libreoffice
trilium-desktop
xournalpp
# Images
pixieditor
qimgv
# Wine
wineWow64Packages.staging
winetricks
# Video
obs-studio
kdePackages.kdenlive
];
}

18
home/modules/default.nix Normal file
View file

@ -0,0 +1,18 @@
{lib, ...}: {
options.myModules = {
games.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable games module.";
};
};
imports = [
./daily_apps.nix
./niri.nix
./helix.nix
./shell
./create-project/create-project.nix
./games
./theming.nix
];
}

View file

@ -1,12 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
heroic
(pkgs.prismlauncher.override {
jdks = [
pkgs.temurin-bin-21
pkgs.temurin-bin-8
pkgs.temurin-bin-17
];
})
];
}

View file

@ -0,0 +1,6 @@
{
imports = [
./minecraft.nix
./heroic.nix
];
}

View file

@ -0,0 +1,12 @@
{
pkgs,
config,
lib,
...
}: {
config = lib.mkIf config.myModules.games.enable {
home.packages = with pkgs; [
heroic
];
};
}

View file

@ -0,0 +1,18 @@
{
pkgs,
config,
lib,
...
}: {
config = lib.mkIf config.myModules.games.enable {
home.packages = [
(pkgs.prismlauncher.override {
jdks = [
pkgs.temurin-bin-21
pkgs.temurin-bin-8
pkgs.temurin-bin-17
];
})
];
};
}

83
home/modules/helix.nix Normal file
View file

@ -0,0 +1,83 @@
{pkgs, ...}: {
programs.helix = {
enable = true;
defaultEditor = true;
extraPackages = [
pkgs.nil
pkgs.alejandra
pkgs.bash-language-server
pkgs.lldb
];
settings.editor = {
indent-guides.render = true;
cursorline = true;
color-modes = true;
line-number = "relative";
lsp = {
display-inlay-hints = true;
display-messages = true;
};
cursor-shape = {
insert = "bar";
normal = "block";
select = "underline";
};
clipboard-provider = "wayland";
statusline = {
left = ["mode" "spinner" "file-name" "file-modification-indicator"];
center = ["workspace-diagnostics"];
right = ["diagnostics" "selections" "position" "file-encoding" "file-type"];
};
auto-pairs = true;
file-picker.hidden = false;
mouse = false;
};
languages = {
language = [
{
name = "nix";
auto-format = true;
language-servers = ["nil"];
formatter.command = "alejandra";
}
{
name = "python";
auto-format = true;
language-servers = ["pyright"];
}
{
name = "rust";
auto-format = true;
language-servers = ["rust-analyzer"];
}
{
name = "c-sharp";
auto-format = true;
language-servers = ["omnisharp"];
}
{
name = "markdown";
auto-format = true;
language-servers = ["marksman"];
}
{
name = "typst";
auto-format = true;
language-servers = ["tinymist"];
}
{
name = "bash";
auto-format = true;
}
];
};
};
}

View file

@ -1,325 +0,0 @@
{pkgs, ...}: {
wayland.windowManager.hyprland = {
enable = true;
systemd.enable = true;
systemd.variables = ["--all"];
xwayland.enable = true;
settings = {
exec-once = [
"wl-clip-persist --clipboard both"
"wl-paste --watch cliphist store"
"hyprpanel"
];
input = {
kb_layout = "cz";
kb_options = "caps:escape";
numlock_by_default = true;
sensitivity = 0;
touchpad = {
natural_scroll = false;
};
};
misc = {
disable_hyprland_logo = true;
layers_hog_keyboard_focus = true;
animate_manual_resizes = true;
enable_swallow = true;
focus_on_activate = true;
middle_click_paste = false;
};
dwindle = {
force_split = 0;
special_scale_factor = 1.0;
split_width_multiplier = 1.0;
use_active_for_splits = true;
pseudotile = "yes";
preserve_split = "yes";
};
general = {
layout = "dwindle";
gaps_in = 4;
gaps_out = 3;
border_size = 2;
};
decoration = {
rounding = 7;
active_opacity = 1.0;
inactive_opacity = 1.0;
fullscreen_opacity = 1.0;
blur.enabled = false;
shadow.enabled = false;
};
animations = {
enabled = true;
bezier = [
"myBezier, 0.05, 0.9, 0.1, 1.05"
];
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
binds = {
movefocus_cycles_fullscreen = true;
};
bind = [
# keybindings
"SUPER, Return, exec, foot"
"SUPER, B, exec, zen"
"SUPER, Q, killactive,"
"SUPER, F, fullscreen, 0"
"SUPER SHIFT, F, fullscreen, 1"
"SUPER, W, togglefloating"
"SUPER, A, exec, fuzzel"
"SUPER, P, pseudo,"
"SUPER, E, exec, foot yazi"
"SUPER, C, exec, floating-calculator"
"SUPER, code:23, swapsplit"
"SUPER, code:66, togglesplit"
"Alt, F4, exec, hyprctl kill"
"SUPER, S, exec, hyprlock"
# switch focus
"SUPER, left, movefocus, l"
"SUPER, right, movefocus, r"
"SUPER, up, movefocus, u"
"SUPER, down, movefocus, d"
"SUPER, h, movefocus, l"
"SUPER, j, movefocus, d"
"SUPER, k, movefocus, u"
"SUPER, l, movefocus, r"
"SUPER, left, alterzorder, top"
"SUPER, right, alterzorder, top"
"SUPER, up, alterzorder, top"
"SUPER, down, alterzorder, top"
"SUPER, h, alterzorder, top"
"SUPER, j, alterzorder, top"
"SUPER, k, alterzorder, top"
"SUPER, l, alterzorder, top"
# switch workspace
"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"
# same as above, but switch to the workspace
"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"
"SUPER ALT, code:10, movetoworkspacesilent, 1"
"SUPER ALT, code:11, movetoworkspacesilent, 2"
"SUPER ALT, code:12, movetoworkspacesilent, 3"
"SUPER ALT, code:13, movetoworkspacesilent, 4"
"SUPER ALT, code:14, movetoworkspacesilent, 5"
"SUPER ALT, code:15, movetoworkspacesilent, 6"
"SUPER ALT, code:16, movetoworkspacesilent, 7"
"SUPER ALT, code:17, movetoworkspacesilent, 8"
"SUPER ALT, code:18, movetoworkspacesilent, 9"
"SUPER ALT, code:19, movetoworkspacesilent, 10"
# switch worspace
"SUPER CTRL, code:10, workspace, 11"
"SUPER CTRL, code:11, workspace, 12"
"SUPER CTRL, code:12, workspace, 13"
"SUPER CTRL, code:13, workspace, 14"
"SUPER CTRL, code:14, workspace, 15"
"SUPER CTRL, code:15, workspace, 16"
"SUPER CTRL, code:16, workspace, 17"
"SUPER CTRL, code:17, workspace, 18"
"SUPER CTRL, code:18, workspace, 19"
"SUPER CTRL, code:19, workspace, 20"
# same as above, but switch to the workspace
"SUPER CTRL SHIFT, code:10, movetoworkspace, 11"
"SUPER CTRL SHIFT, code:11, movetoworkspace, 12"
"SUPER CTRL SHIFT, code:12, movetoworkspace, 13"
"SUPER CTRL SHIFT, code:13, movetoworkspace, 14"
"SUPER CTRL SHIFT, code:14, movetoworkspace, 15"
"SUPER CTRL SHIFT, code:15, movetoworkspace, 16"
"SUPER CTRL SHIFT, code:16, movetoworkspace, 17"
"SUPER CTRL SHIFT, code:17, movetoworkspace, 18"
"SUPER CTRL SHIFT, code:18, movetoworkspace, 19"
"SUPER CTRL SHIFT, code:19, movetoworkspace, 20"
"SUPER CTRL ALT, code:10, movetoworkspacesilent, 11"
"SUPER CTRL ALT, code:11, movetoworkspacesilent, 12"
"SUPER CTRL ALT, code:12, movetoworkspacesilent, 13"
"SUPER CTRL ALT, code:13, movetoworkspacesilent, 14"
"SUPER CTRL ALT, code:14, movetoworkspacesilent, 15"
"SUPER CTRL ALT, code:15, movetoworkspacesilent, 16"
"SUPER CTRL ALT, code:16, movetoworkspacesilent, 17"
"SUPER CTRL ALT, code:17, movetoworkspacesilent, 18"
"SUPER CTRL ALT, code:18, movetoworkspacesilent, 19"
"SUPER CTRL ALT, code:19, movetoworkspacesilent, 20"
# window control
"SUPER SHIFT, left, movewindow, l"
"SUPER SHIFT, right, movewindow, r"
"SUPER SHIFT, up, movewindow, u"
"SUPER SHIFT, down, movewindow, d"
"SUPER SHIFT, h, movewindow, l"
"SUPER SHIFT, j, movewindow, d"
"SUPER SHIFT, k, movewindow, u"
"SUPER SHIFT, l, movewindow, r"
"SUPER CTRL, left, resizeactive, -80 0"
"SUPER CTRL, right, resizeactive, 80 0"
"SUPER CTRL, up, resizeactive, 0 -80"
"SUPER CTRL, down, resizeactive, 0 80"
"SUPER CTRL, h, resizeactive, -80 0"
"SUPER CTRL, j, resizeactive, 0 80"
"SUPER CTRL, k, resizeactive, 0 -80"
"SUPER CTRL, l, resizeactive, 80 0"
# media and volume controls
# ",XF86AudioMute,exec, pamixer -t"
",XF86AudioPlay,exec, playerctl play-pause"
",XF86AudioNext,exec, playerctl next"
",XF86AudioPrev,exec, playerctl previous"
",XF86AudioStop,exec, playerctl stop"
];
# mouse binding
bindm = [
"SUPER, mouse:272, movewindow"
"SUPER, mouse:273, resizewindow"
];
windowrule = [
# "float,class:^(mpv)$"
];
};
};
programs.hyprlock = {
enable = true;
settings = {
general.hide_cursor = true;
background = {
blur_size = 3;
blur_passes = 2;
};
};
};
programs.hyprpanel = {
enable = true;
systemd.enable = true;
settings = {
bar = {
launcher.autoDetectIcon = true;
clock.format = "%d %b %H:%M";
workspaces.show_icons = true;
workspaces.workspaces = 20;
};
menus.clock = {
time = {
military = true;
hideSeconds = false;
};
weather.enabled = false;
};
menus.dashboard.directories.enabled = false;
menus.dashboard.shortcuts.enabled = true;
menus.dashboard.stats.enabled = false;
menus.dashboard.controls.enabled = false;
menus.workspaces.show_icons = true;
theme.bar.transparent = true;
theme.bar.buttons.dashboard.icon = "#88B1F7";
theme.bar.buttons.workspaces = {
hover = "#FFFFFF";
active = "#FFFFFF";
occupied = "#88B1F7";
available = "#88B1F7";
numbered_active_underline_color = "#FFFFFF";
};
theme.bar.buttons.clock.text = "#88B1F7";
theme.bar.buttons.clock.icon = "#88B1F7";
theme.bar.menus.menu.clock.time.time = "#88B1F7";
theme.bar.menus.menu.clock.calendar.weekdays = "#88B1F7";
theme.bar.menus.menu.clock.calendar.paginator = "#88B1F7";
theme.bar.menus.menu.clock.calendar.currentday = "#88B1F7";
theme.bar.buttons.notifications.icon = "#88B1F7";
theme.bar.battery.icon = "#88B1F7";
theme.bar.buttons.battery.text = "#88B1F7";
theme.bar.buttons.battery.icon = "#88B1F7";
theme.bar.menus.menu.battery.label.color = "#88B1F7";
theme.bar.menus.menu.battery.slider.primary = "#88B1F7";
theme.bar.menus.menu.battery.listitems.active = "#88B1F7";
theme.bar.menus.menu.battery.icons.active = "#88B1F7";
theme.bar.menus.menu.volume = {
label.color = "#88B1F7";
listitems.active = "#88B1F7";
iconbutton.active = "#88B1F7";
audio_slider.primary = "#88B1F7";
input_slider.primary = "#88B1F7";
};
theme.bar.buttons.volume = {
text = "#88b1f7";
icon = "#88b1f7";
};
theme.font = {
size = "12px";
};
};
};
home.packages = with pkgs; [
hyprpanel
hyprpicker
wl-clip-persist
cliphist
wf-recorder
slurp
grim
wl-clipboard
playerctl
];
}

View file

@ -1,42 +0,0 @@
{
pkgs,
inputs,
...
}: {
home = {
packages = with pkgs; [
libreoffice
xarchiver
trilium-desktop
xournalpp
obs-studio
pixieditor
qimgv
wineWow64Packages.staging
winetricks
thunderbird
obs-studio
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default
yazi
kdePackages.kdenlive
];
file = {
".config/kdeglobals".text = ''
[General]
TerminalApplication=foot
'';
};
};
programs.yazi = {
enable = true;
enableNushellIntegration = true;
};
}

214
home/modules/niri.nix Normal file
View file

@ -0,0 +1,214 @@
{
pkgs,
inputs,
system,
...
}: {
imports = [inputs.niri-flake.homeModules.niri];
home.packages = with pkgs; [
inputs.awww.packages.${system}.awww
wl-clipboard
hyprpicker
];
programs = {
alacritty.enable = true;
fuzzel.enable = true;
swaylock.enable = true;
waybar.enable = true;
};
services = {
mako.enable = true;
swayidle.enable = true;
polkit-gnome.enable = true;
};
programs.niri = {
enable = true;
package = pkgs.niri;
settings = {
spawn-at-startup = [
{command = ["waybar"];}
{command = ["awww-daemon"];}
{command = ["awww" "img" "${../../assets/gruvbox_wallpaper.png}"];}
];
input = {
keyboard.numlock = true;
warp-mouse-to-focus.enable = true;
touchpad.natural-scroll = false;
focus-follows-mouse = {
enable = true;
max-scroll-amount = "0%";
};
keyboard = {
xkb = {
layout = "cz";
options = "caps:escape";
};
};
tablet = {
map-to-output = "eDP-1";
};
};
outputs = {
"DP-1" = {
focus-at-startup = true;
mode = {
width = 2560;
height = 1440;
refresh = 120.0;
};
};
"DP-2" = {
position.x = -2560;
position.y = 210;
mode = {
width = 1920;
height = 1080;
refresh = 60.0;
};
};
};
environment = {
NIXOS_OZONE_WL = "1";
TERMINAL = "alacritty";
SDL_VIDEODRIVER = "wayland";
CLUTTER_BACKEND = "wayland";
};
gestures = {
hot-corners.enable = false;
};
switch-events = {
"tablet-mode-on".action.spawn = ["niri" "msg" "output" "eDP-1" "transform" "90"];
"tablet-mode-off".action.spawn = ["niri" "msg" "output" "eDP-1" "transform" "normal"];
};
layout = {
gaps = 8;
focus-ring.enable = false;
border = {
enable = true;
width = 2;
active = {
gradient = {
from = "#fabd2f"; # gruvbox bright yellow
to = "#fe8019"; # gruvbox bright orange
angle = 45;
relative-to = "workspace-view";
};
};
inactive = {
gradient = {
from = "#504945"; # gruvbox bg2
to = "#3c3836"; # gruvbox bg1
angle = 45;
relative-to = "workspace-view";
};
};
};
default-column-width = {proportion = 0.5;};
preset-column-widths = [
{proportion = 0.33333;}
{proportion = 0.5;}
{proportion = 0.66667;}
{proportion = 1.0;}
];
preset-window-heights = [
{proportion = 0.33333;}
{proportion = 0.5;}
{proportion = 0.66667;}
{proportion = 1.0;}
];
};
prefer-no-csd = true;
cursor.size = 14;
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
hotkey-overlay.skip-at-startup = true;
window-rules = [
{
clip-to-geometry = true;
}
];
binds = {
"Mod+Q".action.close-window = [];
"Mod+Return".action.spawn = ["alacritty"];
"Mod+A".action.spawn = ["fuzzel"];
"Mod+B".action.spawn = ["zen"];
"Mod+C".action.spawn = ["floating-calculator"];
"Mod+O".action.toggle-overview = [];
"Mod+P".action.spawn = ["hyprpicker"];
# Change monitor focus
"Mod+Alt+H".action.focus-monitor-left = [];
"Mod+Alt+L".action.focus-monitor-right = [];
"Mod+Alt+Left".action.focus-monitor-left = [];
"Mod+Alt+Right".action.focus-monitor-right = [];
# Vim motions
"Mod+H".action.focus-column-left = [];
"Mod+L".action.focus-column-right = [];
"Mod+J".action.focus-window-down = [];
"Mod+K".action.focus-window-up = [];
"Mod+Left".action.focus-column-left = [];
"Mod+Right".action.focus-column-right = [];
"Mod+Down".action.focus-window-down = [];
"Mod+Up".action.focus-window-up = [];
"Mod+WheelScrollDown".action.focus-column-right = [];
"Mod+WheelScrollUp".action.focus-column-left = [];
"Mod+Y".action.consume-or-expel-window-left = [];
"Mod+X".action.consume-or-expel-window-right = [];
"Mod+R".action.switch-preset-column-width = [];
"Mod+Shift+R".action.switch-preset-window-height = [];
"Mod+F".action.maximize-column = [];
"Mod+Shift+F".action.fullscreen-window = [];
"Mod+W".action.toggle-window-floating = [];
"Mod+Minus".action.set-column-width = ["-10%"];
"Mod+Plus".action.set-column-width = ["+10%"];
"Mod+Tab".action.focus-workspace-down = [];
"Mod+Shift+Tab".action.focus-workspace-up = [];
"Print".action.screenshot = [];
"Ctrl+Print".action.screenshot-screen = [];
"Alt+Print".action.screenshot-window = [];
"XF86AudioPlay".action.spawn = ["playerctl" "play-pause"];
"XF86AudioNext".action.spawn = ["playerctl" "next"];
"XF86AudioPrev".action.spawn = ["playerctl" "previous"];
"XF86AudioStop".action.spawn = ["playerctl" "stop"];
"XF86AudioRaiseVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"];
"XF86AudioLowerVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"];
"xF86AudioMute".action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"];
};
};
};
}

View file

@ -1,191 +0,0 @@
{
pkgs,
inputs,
...
}: {
imports = [
inputs.nvf.homeManagerModules.default
];
programs.nvf = {
enable = true;
enableManpages = true;
settings.vim = {
extraPackages = [pkgs.netcoredbg];
luaConfigRC.netcoredbg = ''
local dap = require("dap")
dap.adapters.coreclr = {
type = "executable",
command = "${pkgs.netcoredbg}/bin/netcoredbg",
args = {"--interpreter=vscode"}
}
dap.configurations.cs = {
{
type = "coreclr",
name = "Launch",
request = "launch",
program = function()
return vim.fn.input("Path to dll: ", vim.fn.getcwd() .. "/bin/Debug/", "file")
end,
},
}
'';
theme = {
enable = true;
transparent = true;
name = "catppuccin";
style = "mocha";
};
lsp = {
enable = true;
null-ls.enable = false;
inlayHints.enable = true;
formatOnSave = true;
lspkind.enable = true;
lspsaga.enable = true;
trouble.enable = true;
lightbulb.enable = false;
};
debugger = {
nvim-dap = {
enable = true;
ui.enable = true;
};
};
options = {
tabstop = 2;
expandtab = false;
autoindent = true;
shiftwidth = 2;
};
clipboard = {
enable = true;
registers = "unnamedplus";
providers = {
wl-copy = {
enable = true;
package = pkgs.wl-clipboard;
};
};
};
languages = {
enableFormat = true;
enableTreesitter = true;
enableExtraDiagnostics = true;
nix.enable = true;
markdown.enable = true;
toml.enable = true;
nu.enable = true;
bash.enable = true;
typst.enable = true;
css.enable = true;
html = {
enable = true;
format.enable = true;
lsp.servers = [
"emmet-ls"
"superhtml"
];
};
python.enable = true;
sql.enable = false;
ts.enable = true;
zig.enable = true;
csharp = {
enable = true;
lsp.servers = ["omnisharp"];
};
clang.enable = true;
rust = {
enable = true;
extensions.crates-nvim.enable = true;
};
};
visuals = {
nvim-web-devicons.enable = true;
nvim-cursorline.enable = true;
cinnamon-nvim.enable = true;
fidget-nvim.enable = true;
highlight-undo.enable = true;
indent-blankline.enable = true;
};
statusline = {
lualine = {
enable = true;
};
};
autopairs.nvim-autopairs.enable = true;
autocomplete = {
nvim-cmp.enable = true;
blink-cmp.enable = false;
};
snippets.luasnip.enable = true;
telescope.enable = true;
git = {
enable = true;
};
dashboard.alpha.enable = true;
notify.nvim-notify.enable = true;
projects.project-nvim.enable = true;
utility = {
ccc.enable = true;
diffview-nvim.enable = true;
icon-picker.enable = true;
surround.enable = true;
motion = {
hop.enable = true;
leap.enable = true;
};
};
comments.comment-nvim.enable = true;
ui = {
noice.enable = true;
colorizer.enable = true;
illuminate.enable = true;
fastaction.enable = true;
};
};
};
xdg.desktopEntries.nvim-foot = {
name = "Neovim (foot)";
comment = "Edit text files with Neovim in foot terminal";
icon = "nvim";
exec = "foot -e nvim %F";
categories = ["Utility" "TextEditor" "Development"];
mimeType = ["text/plain" "text/x-makefile" "application/x-shellscript"];
};
}

View file

@ -1,5 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
keepassxc
];
}

View file

@ -1,7 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
godot
lazygit
arduino-ide
];
}

View file

@ -1,93 +0,0 @@
{
pkgs,
inputs,
...
}: {
imports = [
./zellij.nix
];
home.packages = with pkgs; [
fuzzel
btop
fastfetch
oh-my-posh
man-pages
inputs.floatc.packages.${pkgs.stdenv.hostPlatform.system}.default
];
gtk.enable = true;
qt.enable = true;
programs = {
fuzzel.enable = true;
btop.enable = true;
fastfetch = {
enable = true;
settings = {
logo = {
source = "~/.nix-config/assets/shadow-cli.txt";
type = "file-raw";
padding.right = 1;
};
modules = [
{
type = "custom";
key = "Favorite Anime";
format = "The Eminence in Shadow";
}
"break"
"os"
"kernel"
"cpu"
{
type = "gpu";
key = "GPU";
detectionMethod = "pci";
hideType = "integrated";
}
"memory"
"wm"
"terminal"
"shell"
"editor"
];
};
};
foot = {
enable = true;
settings = {
main = {
term = "xterm-256color";
};
};
};
git = {
enable = true;
package = pkgs.gitFull;
settings = {
user.name = "maxstrb";
user.email = "max.stribrny@gmail.com";
init.defaultBranch = "main";
push.autoSetupRemote = true;
github.user = "maxstrb";
credential.helper = "store";
};
};
oh-my-posh = {
enable = true;
enableNushellIntegration = true;
enableBashIntegration = true;
settings = builtins.fromTOML (builtins.readFile ../../assets/oh-my-posh-shadow.toml);
};
};
}

View file

@ -0,0 +1,48 @@
$env.TRANSIENT_PROMPT_COMMAND = { || "~> " }
if not ("ZELLIJ" in $env) {
zellij
exit
}
def rebuild [message?: string] {
cd /home/maxag/.nix-config
let commit_message = if $message != null {$message} else {"non important commit"}
try {
git pull
git add .
git commit -m $commit_message
git push
}
sudo nixos-rebuild switch --flake .
}
def --env fzf-cd [] {
let dir = (fd -t d -L . | fzf --reverse --height 40% --border rounded --preview=("eza --color=always --group-directories-first --icons --long {}") --preview-window=border-left)
if $dir != null and $dir != "" {
cd $dir
}
}
def --env fzf-edit [] {
let file = (fd -t f -L . | fzf --reverse --height 40% --border rounded --preview=("bat -p -P --color always {}") --preview-window=border-left)
if $file != null and $file != "" {
^$env.EDITOR $file
}
}
$env.config.keybindings = ($env.config.keybindings | append {
name: "fzf-cd"
modifier: "control"
keycode: "char_f"
mode: "emacs"
event: [{ send: "executehostcommand" cmd: 'fzf-cd' }]
})
$env.config.keybindings = ($env.config.keybindings | append {
name: "fzf-edit"
modifier: "control"
keycode: "char_e"
mode: "emacs"
event: [{ send: "executehostcommand" cmd: 'fzf-edit' }]
})

View file

@ -0,0 +1,5 @@
{
imports = [
./shell.nix
];
}

View file

@ -0,0 +1,82 @@
{
pkgs,
inputs,
system,
lib,
...
}: {
home.packages = with pkgs; [
fzf
fd
eza
btop
man-pages
inputs.floatc.packages.${system}.default
];
home.sessionVariables = {
PAGER = "${lib.getExe pkgs.bat} -l man";
MANPAGER = "${lib.getExe pkgs.bat} -l man";
};
programs.nushell = {
enable = true;
extraConfig = builtins.readFile ./config.nu;
settings.show_banner = false;
shellAliases = {
cat = "${lib.getExe pkgs.bat} -p -P";
nix-shell = "nix-shell --run nu";
garbage = " sudo nix-collect-garbage --delete-old";
c = "clear";
};
};
programs.zellij = {
enable = true;
enableBashIntegration = false;
settings = {
on_force_close = "quit";
simplified_ui = true;
pane_frames = false;
default_layout = "compact";
show_startup_tips = false;
};
};
programs.starship = {
enable = true;
enableNushellIntegration = true;
enableTransience = true;
};
gtk.enable = true;
qt.enable = true;
programs = {
btop.enable = true;
bash.enable = true;
fzf.enable = true;
eza.enable = true;
direnv = {
enable = true;
silent = true;
nix-direnv .enable = true;
};
git = {
enable = true;
package = pkgs.gitFull;
settings = {
user.name = "Jiří Maxmilián Stříbrný";
user.email = "max.stribrny@gmail.com";
init.defaultBranch = "main";
push.autoSetupRemote = true;
github.user = "maxstrb";
credential.helper = "store";
};
};
};
}

View file

@ -1,127 +0,0 @@
{
pkgs,
device-name,
...
}: {
home.packages = with pkgs; [
bat
fzf
fd
eza
most
];
home.sessionVariables = {
EDITOR = "nvim";
PAGER = "bat -l man";
MANPAGER = "bat -l man";
};
programs = {
bash.enable = true;
fzf.enable = true;
eza.enable = true;
direnv = {
enable = true;
silent = true;
nix-direnv .enable = true;
};
nushell = {
enable = true;
extraConfig =
/*
nu
*/
''
if "ZELLIJ" in $env == false {
zellij
exit
} else {
if "IN_NIX_SHELL" in $env == false {
fastfetch
}
}
def garbage [] {
sudo nix-collect-garbage --delete-old
sudo nixos-rebuild switch --flake /home/maxag/.nix-config
}
def c [] {
clear
fastfetch
}
def rebuild [message?: string] {
cd /home/maxag/.nix-config
let commit_message = if $message != null {$message} else {"non important commit"}
try {
git pull
git add .
git commit -m $commit_message
git push
}
sudo nixos-rebuild switch --flake .
}
def --env fzf-cd [] {
let dir = (fd -t d -L . | fzf --reverse --height 40% --border rounded --preview=("eza --color=always --group-directories-first --icons --long {}") --preview-window=border-left)
if $dir != null and $dir != "" {
cd $dir
}
}
def --env fzf-nvim [] {
let file = (fd -t f -L . | fzf --reverse --height 40% --border rounded --preview=("bat -p -P --color always {}") --preview-window=border-left)
if $file != null and $file != "" {
nvim $file
}
}
$env.config.keybindings = ($env.config.keybindings | append {
name: "fzf-cd"
modifier: "control"
keycode: "char_f"
mode: "emacs"
event: [
{
send: "executehostcommand"
cmd: 'fzf-cd'
}
]
})
$env.config.keybindings = ($env.config.keybindings | append {
name: "fzf-nvim"
modifier: "control"
keycode: "char_e"
mode: "emacs"
event: [
{
send: "executehostcommand"
cmd: 'fzf-nvim'
}
]
})
'';
settings = {
show_banner = false;
};
shellAliases = {
zel = "zellij";
system = "nvim /home/maxag/.nix-config/flake.nix";
home = "nvim /home/maxag/.nix-config/home/${device-name}/home.nix";
config = "nvim /home/maxag/.nix-config/configuration/${device-name}/configuration.nix";
cat = "bat -p -P";
nix-shell = "nix-shell --run nu";
};
};
};
}

View file

@ -1,8 +1,4 @@
{pkgs, ...}: {
home.packages = with pkgs; [
libsForQt5.qt5ct
];
stylix = {
enable = true;
overlays.enable = false;
@ -12,34 +8,8 @@
qt.enable = true;
};
#base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
base16Scheme = {
base00 = "1e1e2e"; # base
base01 = "181825"; # mantle
base02 = "313244"; # surface0
base03 = "45475a"; # surface1
base04 = "585b70"; # surface2
base05 = "cdd6f4"; # text
base06 = "f5e0dc"; # rosewater
base07 = "b4befe"; # lavender
base08 = "f38ba8"; # red
base09 = "fab387"; # peach
base0A = "f9e2af"; # yellow
base0B = "A4E6FF"; # green
base0C = "94e2d5"; # teal
base0D = "89b4fa"; # blue
base0E = "cba6f7"; # mauve
base0F = "f2cdcd"; # flamingo
};
opacity.terminal = 0.75;
targets = {
nvf.enable = false;
hyprpanel.enable = false;
kde.enable = true;
};
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-medium.yaml";
opacity.terminal = 0.85;
cursor = {
package = pkgs.bibata-cursors;
@ -51,7 +21,7 @@
sizes = {
applications = 10;
desktop = 10;
terminal = 9;
terminal = 10;
popups = 8;
};
@ -72,8 +42,7 @@
};
polarity = "dark";
image = ../../assets/shadow_dark.png;
image = ../../assets/gruvbox_wallpaper.png;
};
qt.enable = true;
@ -84,6 +53,7 @@
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-recent-files-enabled = 0;
gtk-recent-files-limit = 0;

View file

@ -1,17 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
zellij
];
programs.zellij = {
enable = true;
enableBashIntegration = false;
settings = {
on_force_close = "quit";
simplified_ui = true;
pane_frames = false;
default_layout = "compact";
show_startup_tips = false;
};
};
}