diff --git a/assets/dark_abstract.png b/assets/dark_abstract.png
deleted file mode 100644
index 006f9d0..0000000
Binary files a/assets/dark_abstract.png and /dev/null differ
diff --git a/assets/gruvbox_wallpaper.png b/assets/gruvbox_wallpaper.png
new file mode 100644
index 0000000..5239806
Binary files /dev/null and b/assets/gruvbox_wallpaper.png differ
diff --git a/assets/shadow-cli.txt b/assets/shadow-cli.txt
deleted file mode 100644
index 1e796ef..0000000
--- a/assets/shadow-cli.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-[0m [0m [0m [0m [0m [0m [0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[0m[38;2;0;0;0m▄[0m[38;2;0;0;0m▄[0m [0m [0m [0m [0m [0m [0m
-[0m [0m [0m [0m [0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;58;63;117m▀[38;2;105;106;106m[48;2;58;63;117m▀[38;2;105;106;106m[48;2;58;63;117m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;145;145;145m[48;2;105;106;106m▀[38;2;145;145;145m[48;2;145;145;145m▀[38;2;105;106;106m[48;2;145;145;145m▀[38;2;105;106;106m[48;2;145;145;145m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[0m[38;2;0;0;0m▄[0m [0m [0m [0m [0m
-[0m [0m [0m [38;2;0;0;0m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;58;63;117m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;58;63;117m▀[38;2;105;106;106m[48;2;58;63;117m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;145;145;145m[48;2;105;106;106m▀[38;2;145;145;145m[48;2;145;145;145m▀[38;2;105;106;106m[48;2;145;145;145m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;0;0;0m▀[0m [0m [0m [0m
-[0m [0m [38;2;0;0;0m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;58;63;117m[48;2;58;63;117m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;58;63;117m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;0;0m▄[0m [0m
-[0m [38;2;0;0;0m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;58;63;117m[48;2;58;63;117m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;255;255;255m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;255;255;255m[48;2;255;255;255m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;58;63;117m▀[38;2;105;106;106m[48;2;58;63;117m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[0m [0m
-[0m [38;2;0;0;0m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;58;63;117m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;255;255;255m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;255;255;255m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;255;255;255m[48;2;255;255;255m▀[38;2;255;255;255m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;255;255;255m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;58;63;117m▀[38;2;58;63;117m[48;2;58;63;117m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[0m [0m
-[0m [0m[38;2;0;0;0m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;58;63;117m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;203;219;252m[48;2;203;219;252m▀[38;2;155;173;183m[48;2;155;173;183m▀[38;2;255;255;255m[48;2;255;255;255m▀[38;2;255;255;255m[48;2;255;255;255m▀[38;2;0;0;0m[48;2;255;255;255m▀[38;2;0;0;0m[48;2;255;255;255m▀[38;2;255;255;255m[48;2;255;255;255m▀[38;2;203;219;252m[48;2;203;219;252m▀[38;2;155;173;183m[48;2;155;173;183m▀[38;2;255;255;255m[48;2;255;255;255m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;58;63;117m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;82;34;148m▀[0m[38;2;0;0;0m▄[0m [0m [0m
-[0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;0;0;0m▀[38;2;82;34;148m[48;2;0;0;0m▀[38;2;43;18;78m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;58;63;117m▀[38;2;255;255;255m[48;2;0;0;0m▀[38;2;255;255;255m[48;2;255;255;255m▀[38;2;255;255;255m[48;2;226;226;226m▀[38;2;255;255;255m[48;2;226;226;226m▀[38;2;255;255;255m[48;2;226;226;226m▀[38;2;255;255;255m[48;2;255;255;255m▀[38;2;255;255;255m[48;2;255;255;255m▀[38;2;255;255;255m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;58;63;117m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;43;18;78m[48;2;0;0;0m▀[38;2;82;34;148m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;0;0m▄[0m
-[0m [0m [0m [0m [0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;82;34;148m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;145;145;145m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;93;68;128m▀[38;2;0;0;0m[48;2;82;34;148m▀[0m[38;2;0;0;0m▄[0m [0m [0m [0m [0m [0m
-[0m [0m [0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;105;106;106m▀[38;2;58;63;117m[48;2;105;106;106m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;82;34;148m[48;2;43;18;78m▀[38;2;43;18;78m[48;2;82;34;148m▀[38;2;82;34;148m[48;2;43;18;78m▀[38;2;105;106;106m[48;2;145;145;145m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;82;34;148m[48;2;0;0;0m▀[38;2;58;63;117m[48;2;58;63;117m▀[38;2;58;63;117m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[0m[38;2;0;0;0m▄[0m [0m [0m [0m
-[0m [0m [0m [38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;145;145;145m▀[38;2;145;145;145m[48;2;105;106;106m▀[38;2;145;145;145m[48;2;105;106;106m▀[38;2;82;34;148m[48;2;0;0;0m▀[38;2;43;18;78m[48;2;0;0;0m▀[38;2;82;34;148m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;145;145;145m[48;2;105;106;106m▀[38;2;145;145;145m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;145;145;145m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;105;106;106m▀[0m[38;2;0;0;0m▄[0m [0m [0m
-[0m [0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;82;34;148m▀[38;2;0;0;0m[48;2;58;63;117m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;105;106;106m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;145;145;145m[48;2;0;0;0m▀[38;2;105;106;106m[48;2;105;106;106m▀[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;105;106;106m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[0m [0m
-[0m [0m [0m[38;2;0;0;0m▀[0m [0m[38;2;0;0;0m▀[0m [0m[38;2;0;0;0m▀[38;2;43;18;78m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[38;2;82;34;148m[48;2;43;18;78m▀[38;2;58;63;117m[48;2;0;0;0m▀[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[0m [0m [0m [0m [0m
-[0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m [0m[38;2;0;0;0m▀[0m[38;2;0;0;0m▀[0m [0m [0m [0m [0m [0m [0m [0m [0m
\ No newline at end of file
diff --git a/assets/shadow_dark.png b/assets/shadow_dark.png
deleted file mode 100644
index eff998e..0000000
Binary files a/assets/shadow_dark.png and /dev/null differ
diff --git a/configuration/laptop/configuration.nix b/configuration/laptop/configuration.nix
index 0fe82a0..4bcbb39 100644
--- a/configuration/laptop/configuration.nix
+++ b/configuration/laptop/configuration.nix
@@ -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;
- };
}
diff --git a/configuration/main/configuration.nix b/configuration/main/configuration.nix
index 8440381..b373cb3 100644
--- a/configuration/main/configuration.nix
+++ b/configuration/main/configuration.nix
@@ -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];
}
diff --git a/configuration/modules/audio.nix b/configuration/modules/audio.nix
deleted file mode 100644
index 5cdfcc3..0000000
--- a/configuration/modules/audio.nix
+++ /dev/null
@@ -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;
-}
diff --git a/configuration/modules/boot.nix b/configuration/modules/boot.nix
deleted file mode 100644
index 98d367b..0000000
--- a/configuration/modules/boot.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{pkgs, ...}: {
- boot = {
- loader = {
- systemd-boot.enable = true;
- efi.canTouchEfiVariables = true;
- };
-
- kernelPackages = pkgs.linuxPackages_latest;
- #kernelPackages = pkgs.linuxPackages_zen;
- };
-}
diff --git a/configuration/modules/desktop.nix b/configuration/modules/desktop.nix
index 9083c21..d6cb494 100644
--- a/configuration/modules/desktop.nix
+++ b/configuration/modules/desktop.nix
@@ -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"];
};
}
diff --git a/configuration/modules/ld.nix b/configuration/modules/ld.nix
new file mode 100644
index 0000000..51a20c5
--- /dev/null
+++ b/configuration/modules/ld.nix
@@ -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
+ ];
+ };
+}
diff --git a/configuration/modules/locale.nix b/configuration/modules/locale.nix
deleted file mode 100644
index c1e9d41..0000000
--- a/configuration/modules/locale.nix
+++ /dev/null
@@ -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";
- };
- };
-}
diff --git a/configuration/modules/printing.nix b/configuration/modules/printing.nix
deleted file mode 100644
index dc591ea..0000000
--- a/configuration/modules/printing.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- services.printing.enable = true;
-}
diff --git a/configuration/modules/programs.nix b/configuration/modules/programs.nix
deleted file mode 100644
index d295907..0000000
--- a/configuration/modules/programs.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- programs = {
- firefox.enable = true;
- bash.blesh.enable = true; # Enhanced bash
- nix-ld = {
- enable = true;
- #libraries = with pkgs; [
- # Add libraries here
- #];
- };
- };
-}
diff --git a/configuration/modules/sddm.nix b/configuration/modules/sddm.nix
index 9273ca8..5cfe298 100644
--- a/configuration/modules/sddm.nix
+++ b/configuration/modules/sddm.nix
@@ -14,7 +14,7 @@ in {
qtvirtualkeyboard
];
enable = true;
- wayland.enable = false;
+ wayland.enable = true;
autoNumlock = true;
enableHidpi = false;
theme = "sddm-astronaut-theme";
diff --git a/configuration/modules/system.nix b/configuration/modules/system.nix
index 4e84295..e722a9b 100644
--- a/configuration/modules/system.nix
+++ b/configuration/modules/system.nix
@@ -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
+ ];
}
diff --git a/flake.lock b/flake.lock
index f4728cb..d7836f5 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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": {
diff --git a/flake.nix b/flake.nix
index e2d5494..0ce5309 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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
];
diff --git a/home/laptop/home.nix b/home/laptop/home.nix
index b48abdc..e816644 100644
--- a/home/laptop/home.nix
+++ b/home/laptop/home.nix
@@ -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];
}
diff --git a/home/laptop/hyprland.nix b/home/laptop/hyprland.nix
deleted file mode 100644
index 8a0e5a6..0000000
--- a/home/laptop/hyprland.nix
+++ /dev/null
@@ -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"
- ];
- };
- };
- };
- };
- };
-}
diff --git a/home/main/home.nix b/home/main/home.nix
index 00a00df..7ac8de9 100644
--- a/home/main/home.nix
+++ b/home/main/home.nix
@@ -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;
}
diff --git a/home/main/hyprland.nix b/home/main/hyprland.nix
deleted file mode 100644
index 20cb764..0000000
--- a/home/main/hyprland.nix
+++ /dev/null
@@ -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"
- ];
- };
- };
- };
- };
- };
-}
diff --git a/home/modules/communication.nix b/home/modules/communication.nix
deleted file mode 100644
index f1c2c8c..0000000
--- a/home/modules/communication.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{pkgs, ...}: {
- home.packages = with pkgs; [
- discord
- wasistlos
- ];
-}
diff --git a/home/modules/create-project/create-project.nix b/home/modules/create-project/create-project.nix
index b56b715..8302d28 100644
--- a/home/modules/create-project/create-project.nix
+++ b/home/modules/create-project/create-project.nix
@@ -54,6 +54,9 @@ in {
direnv allow
git init
+
+ ".direnv" | save --append .gitignore
+
git add .
git commit -m "Project setup"
diff --git a/home/modules/create-project/project-blueprints/animation/flake.nix b/home/modules/create-project/project-blueprints/animation/flake.nix
deleted file mode 100644
index c4f1a69..0000000
--- a/home/modules/create-project/project-blueprints/animation/flake.nix
+++ /dev/null
@@ -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
- ];
- };
- };
- };
-}
diff --git a/home/modules/create-project/project-blueprints/animation/init.sh b/home/modules/create-project/project-blueprints/animation/init.sh
deleted file mode 100644
index 4e1f0c6..0000000
--- a/home/modules/create-project/project-blueprints/animation/init.sh
+++ /dev/null
@@ -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"
diff --git a/home/modules/create-project/project-blueprints/animation/package.json b/home/modules/create-project/project-blueprints/animation/package.json
deleted file mode 100644
index 9f61f93..0000000
--- a/home/modules/create-project/project-blueprints/animation/package.json
+++ /dev/null
@@ -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"
- }
-}
\ No newline at end of file
diff --git a/home/modules/create-project/project-blueprints/animation/src/motion-canvas.d.ts b/home/modules/create-project/project-blueprints/animation/src/motion-canvas.d.ts
deleted file mode 100644
index 067c6a4..0000000
--- a/home/modules/create-project/project-blueprints/animation/src/motion-canvas.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/home/modules/create-project/project-blueprints/animation/src/project.ts b/home/modules/create-project/project-blueprints/animation/src/project.ts
deleted file mode 100644
index ecfbbeb..0000000
--- a/home/modules/create-project/project-blueprints/animation/src/project.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import {makeProject} from '@motion-canvas/core';
-
-import example from './scenes/example?scene';
-
-export default makeProject({
- scenes: [example],
-});
diff --git a/home/modules/create-project/project-blueprints/animation/src/scenes/example.tsx b/home/modules/create-project/project-blueprints/animation/src/scenes/example.tsx
deleted file mode 100644
index 525cd51..0000000
--- a/home/modules/create-project/project-blueprints/animation/src/scenes/example.tsx
+++ /dev/null
@@ -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();
-
- view.add();
-
- yield* circle().scale(2, 2).to(1, 2);
-});
diff --git a/home/modules/create-project/project-blueprints/animation/tsconfig.json b/home/modules/create-project/project-blueprints/animation/tsconfig.json
deleted file mode 100644
index e7d5347..0000000
--- a/home/modules/create-project/project-blueprints/animation/tsconfig.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "extends": "@motion-canvas/2d/tsconfig.project.json",
- "include": ["src"]
-}
diff --git a/home/modules/create-project/project-blueprints/animation/vite.config.ts b/home/modules/create-project/project-blueprints/animation/vite.config.ts
deleted file mode 100644
index 42d9d68..0000000
--- a/home/modules/create-project/project-blueprints/animation/vite.config.ts
+++ /dev/null
@@ -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(),
- ],
-});
diff --git a/home/modules/create-project/project-blueprints/c-sharp/flake.nix b/home/modules/create-project/project-blueprints/c-sharp/flake.nix
index b4a2e0e..7cc631b 100644
--- a/home/modules/create-project/project-blueprints/c-sharp/flake.nix
+++ b/home/modules/create-project/project-blueprints/c-sharp/flake.nix
@@ -13,6 +13,8 @@
default = pkgs.mkShell {
buildInputs = with pkgs; [
dotnetCorePackages.sdk_10_0-bin
+ netcoredbg
+ csharp-ls
];
};
};
diff --git a/home/modules/create-project/project-blueprints/python/flake.nix b/home/modules/create-project/project-blueprints/python/flake.nix
index 4da5bab..5b9ac02 100644
--- a/home/modules/create-project/project-blueprints/python/flake.nix
+++ b/home/modules/create-project/project-blueprints/python/flake.nix
@@ -25,7 +25,10 @@
devShells."${system}" = {
default = pkgs.mkShell {
- packages = [pythonEnv];
+ packages = [
+ pythonEnv
+ pkgs.pyright
+ ];
};
};
};
diff --git a/home/modules/create-project/project-blueprints/rust/flake.nix b/home/modules/create-project/project-blueprints/rust/flake.nix
index f2e1153..be18e35 100644
--- a/home/modules/create-project/project-blueprints/rust/flake.nix
+++ b/home/modules/create-project/project-blueprints/rust/flake.nix
@@ -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;
diff --git a/home/modules/create-project/project-blueprints/typst/flake.nix b/home/modules/create-project/project-blueprints/typst/flake.nix
index 57ee7e3..8ad528f 100644
--- a/home/modules/create-project/project-blueprints/typst/flake.nix
+++ b/home/modules/create-project/project-blueprints/typst/flake.nix
@@ -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
];
};
};
diff --git a/home/modules/daily_apps.nix b/home/modules/daily_apps.nix
new file mode 100644
index 0000000..2bc4f24
--- /dev/null
+++ b/home/modules/daily_apps.nix
@@ -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
+ ];
+}
diff --git a/home/modules/default.nix b/home/modules/default.nix
new file mode 100644
index 0000000..57edb74
--- /dev/null
+++ b/home/modules/default.nix
@@ -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
+ ];
+}
diff --git a/home/modules/games.nix b/home/modules/games.nix
deleted file mode 100644
index 0404c44..0000000
--- a/home/modules/games.nix
+++ /dev/null
@@ -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
- ];
- })
- ];
-}
diff --git a/home/modules/games/default.nix b/home/modules/games/default.nix
new file mode 100644
index 0000000..6c98d49
--- /dev/null
+++ b/home/modules/games/default.nix
@@ -0,0 +1,6 @@
+{
+ imports = [
+ ./minecraft.nix
+ ./heroic.nix
+ ];
+}
diff --git a/home/modules/games/heroic.nix b/home/modules/games/heroic.nix
new file mode 100644
index 0000000..1850b17
--- /dev/null
+++ b/home/modules/games/heroic.nix
@@ -0,0 +1,12 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: {
+ config = lib.mkIf config.myModules.games.enable {
+ home.packages = with pkgs; [
+ heroic
+ ];
+ };
+}
diff --git a/home/modules/games/minecraft.nix b/home/modules/games/minecraft.nix
new file mode 100644
index 0000000..b97f1ed
--- /dev/null
+++ b/home/modules/games/minecraft.nix
@@ -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
+ ];
+ })
+ ];
+ };
+}
diff --git a/home/modules/helix.nix b/home/modules/helix.nix
new file mode 100644
index 0000000..d266267
--- /dev/null
+++ b/home/modules/helix.nix
@@ -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;
+ }
+ ];
+ };
+ };
+}
diff --git a/home/modules/hyprland.nix b/home/modules/hyprland.nix
deleted file mode 100644
index 081877a..0000000
--- a/home/modules/hyprland.nix
+++ /dev/null
@@ -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
- ];
-}
diff --git a/home/modules/multimedia.nix b/home/modules/multimedia.nix
deleted file mode 100644
index 9c72c08..0000000
--- a/home/modules/multimedia.nix
+++ /dev/null
@@ -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;
- };
-}
diff --git a/home/modules/niri.nix b/home/modules/niri.nix
new file mode 100644
index 0000000..101ae34
--- /dev/null
+++ b/home/modules/niri.nix
@@ -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"];
+ };
+ };
+ };
+}
diff --git a/home/modules/nvf.nix b/home/modules/nvf.nix
deleted file mode 100644
index bd96f03..0000000
--- a/home/modules/nvf.nix
+++ /dev/null
@@ -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"];
- };
-}
diff --git a/home/modules/passwords.nix b/home/modules/passwords.nix
deleted file mode 100644
index 69cc723..0000000
--- a/home/modules/passwords.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{pkgs, ...}: {
- home.packages = with pkgs; [
- keepassxc
- ];
-}
diff --git a/home/modules/programming.nix b/home/modules/programming.nix
deleted file mode 100644
index 1e31549..0000000
--- a/home/modules/programming.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{pkgs, ...}: {
- home.packages = with pkgs; [
- godot
- lazygit
- arduino-ide
- ];
-}
diff --git a/home/modules/rice.nix b/home/modules/rice.nix
deleted file mode 100644
index cffa2d2..0000000
--- a/home/modules/rice.nix
+++ /dev/null
@@ -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);
- };
- };
-}
diff --git a/home/modules/shell/config.nu b/home/modules/shell/config.nu
new file mode 100644
index 0000000..52780f7
--- /dev/null
+++ b/home/modules/shell/config.nu
@@ -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' }]
+})
diff --git a/home/modules/shell/default.nix b/home/modules/shell/default.nix
new file mode 100644
index 0000000..96696e7
--- /dev/null
+++ b/home/modules/shell/default.nix
@@ -0,0 +1,5 @@
+{
+ imports = [
+ ./shell.nix
+ ];
+}
diff --git a/home/modules/shell/shell.nix b/home/modules/shell/shell.nix
new file mode 100644
index 0000000..a415539
--- /dev/null
+++ b/home/modules/shell/shell.nix
@@ -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";
+ };
+ };
+ };
+}
diff --git a/home/modules/shells.nix b/home/modules/shells.nix
deleted file mode 100644
index 6ac2090..0000000
--- a/home/modules/shells.nix
+++ /dev/null
@@ -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";
- };
- };
- };
-}
diff --git a/home/modules/stylix.nix b/home/modules/theming.nix
similarity index 52%
rename from home/modules/stylix.nix
rename to home/modules/theming.nix
index 8a76443..c83f291 100644
--- a/home/modules/stylix.nix
+++ b/home/modules/theming.nix
@@ -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;
diff --git a/home/modules/zellij.nix b/home/modules/zellij.nix
deleted file mode 100644
index e7dbe7b..0000000
--- a/home/modules/zellij.nix
+++ /dev/null
@@ -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;
- };
- };
-}