diff --git a/README.md b/README.md
index cac7224..67dc19c 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@
- [File structure](#-file-structure)
- [Desktop preview](#%EF%B8%8F-desktop-preview)
- [Hyprland](#-hyprland)
- - [SwayFX](#-swayfx)
+ - [Sway](#-sway)
- [Software](#-software)
- [Network topology](#-network-topology)
- [Hosts description](#%EF%B8%8F-hosts-description)
@@ -71,18 +71,18 @@ The images below may not represent the final system. Some parts may differ.

-### 💪 SwayFX
+### 💪 Sway
-
+
-
+
-
+
## 📘 Software
- OS - [**`NixOS`**](https://nixos.org/)
- - WM - [**`Hyprland`**](https://hyprland.org/) or [**`SwayFX`**](https://github.com/WillPower3309/swayfx)
+ - WM - [**`Hyprland`**](https://hyprland.org/) or [**`Sway`**](https://github.com/swaywm/sway)
- Theme - [**`Nord`**](https://github.com/nordtheme/nord)
- Wallpapers - [**`Grey wave`**](assets/grey_gradient.png)
- Editor - [**`Neovim`**](https://neovim.io/)
diff --git a/assets/Nix_Logo.svg b/assets/Nix_Logo.svg
new file mode 100644
index 0000000..9a70a14
--- /dev/null
+++ b/assets/Nix_Logo.svg
@@ -0,0 +1,513 @@
+
+
+
+
diff --git a/assets/github/swayfx/image0.png b/assets/github/sway/image0.png
similarity index 100%
rename from assets/github/swayfx/image0.png
rename to assets/github/sway/image0.png
diff --git a/assets/github/swayfx/image1.png b/assets/github/sway/image1.png
similarity index 100%
rename from assets/github/swayfx/image1.png
rename to assets/github/sway/image1.png
diff --git a/assets/github/swayfx/image2.png b/assets/github/sway/image2.png
similarity index 100%
rename from assets/github/swayfx/image2.png
rename to assets/github/sway/image2.png
diff --git a/flake.lock b/flake.lock
index 121ffe8..c6d5bce 100644
--- a/flake.lock
+++ b/flake.lock
@@ -86,30 +86,14 @@
"type": "github"
}
},
- "base16-foot": {
- "flake": false,
- "locked": {
- "lastModified": 1696725948,
- "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
- "owner": "tinted-theming",
- "repo": "base16-foot",
- "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "base16-foot",
- "type": "github"
- }
- },
"base16-helix": {
"flake": false,
"locked": {
- "lastModified": 1720809814,
- "narHash": "sha256-numb3xigRGnr/deF7wdjBwVg7fpbTH7reFDkJ75AJkY=",
+ "lastModified": 1725860795,
+ "narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=",
"owner": "tinted-theming",
"repo": "base16-helix",
- "rev": "34f41987bec14c0f3f6b2155c19787b1f6489625",
+ "rev": "7f795bf75d38e0eea9fed287264067ca187b88a9",
"type": "github"
},
"original": {
@@ -118,38 +102,6 @@
"type": "github"
}
},
- "base16-kitty": {
- "flake": false,
- "locked": {
- "lastModified": 1665001328,
- "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=",
- "owner": "kdrag0n",
- "repo": "base16-kitty",
- "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805",
- "type": "github"
- },
- "original": {
- "owner": "kdrag0n",
- "repo": "base16-kitty",
- "type": "github"
- }
- },
- "base16-tmux": {
- "flake": false,
- "locked": {
- "lastModified": 1696725902,
- "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
- "owner": "tinted-theming",
- "repo": "base16-tmux",
- "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "base16-tmux",
- "type": "github"
- }
- },
"base16-vim": {
"flake": false,
"locked": {
@@ -168,21 +120,18 @@
},
"chaotic": {
"inputs": {
- "compare-to": "compare-to",
"fenix": "fenix",
"flake-schemas": "flake-schemas",
"home-manager": "home-manager",
"jovian": "jovian",
- "nixpkgs": "nixpkgs_2",
- "systems": "systems_2",
- "yafas": "yafas"
+ "nixpkgs": "nixpkgs_2"
},
"locked": {
- "lastModified": 1725738693,
- "narHash": "sha256-nqsRStEB29KcTsMC52NdKFzd0PSudQHY6w6oRrNyLCM=",
+ "lastModified": 1728001451,
+ "narHash": "sha256-Ost5YHSZZE4ZIKBcWsXC1c7g7n3kIqaNNjs5ula/lAI=",
"owner": "chaotic-cx",
"repo": "nyx",
- "rev": "38451822a144faa53a7ee96d4f0478d94945b67a",
+ "rev": "25f420d9cf70929455ba14642b92ae715ae8d792",
"type": "github"
},
"original": {
@@ -192,20 +141,6 @@
"type": "github"
}
},
- "compare-to": {
- "locked": {
- "lastModified": 1695341185,
- "narHash": "sha256-htO6DSbWyCgaDkxi7foPjXwJFPzGjVt3RRUbPSpNtZY=",
- "rev": "98b8e330823a3570d328720f87a1153f8a7f2224",
- "revCount": 2,
- "type": "tarball",
- "url": "https://api.flakehub.com/f/pinned/chaotic-cx/nix-empty-flake/0.1.2%2Brev-98b8e330823a3570d328720f87a1153f8a7f2224/018aba35-d228-7fa9-b205-7616c89ef4e0/source.tar.gz"
- },
- "original": {
- "type": "tarball",
- "url": "https://flakehub.com/f/chaotic-cx/nix-empty-flake/%3D0.1.2.tar.gz"
- }
- },
"crane": {
"inputs": {
"flake-compat": [
@@ -246,11 +181,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
- "lastModified": 1721700458,
- "narHash": "sha256-mV/wLYhYQu0hAS7EhOpsoroEjTcOyggqBntJNQy9EMU=",
+ "lastModified": 1725955099,
+ "narHash": "sha256-CcDATbwdZTOlm3/NLu2wJ5U//pErNCsz4sQOBpSdAQI=",
"owner": "SomeoneSerge",
"repo": "pkgs",
- "rev": "a3dc754b191c55b0d2256d3fe8a3d40219209246",
+ "rev": "6942b3e69f4955effb7159b3af65b1ddbc88be8d",
"type": "github"
},
"original": {
@@ -266,11 +201,11 @@
]
},
"locked": {
- "lastModified": 1725628909,
- "narHash": "sha256-xI0OSqPHcs/c/utJsU0Zvcp1VhejMI9mgwr68uHHlPs=",
+ "lastModified": 1727999297,
+ "narHash": "sha256-LTJuQPCsSItZ/8TieFeP30iY+uaLoD0mT0tAj1gLeyQ=",
"owner": "LnL7",
"repo": "nix-darwin",
- "rev": "76559183801030451e200c90a1627c1d82bb4910",
+ "rev": "8c8388ade72e58efdeae71b4cbb79e872c23a56b",
"type": "github"
},
"original": {
@@ -309,11 +244,11 @@
]
},
"locked": {
- "lastModified": 1725377834,
- "narHash": "sha256-tqoAO8oT6zEUDXte98cvA1saU9+1dLJQe3pMKLXv8ps=",
+ "lastModified": 1727977578,
+ "narHash": "sha256-DBORKcmQ7ZjA4qE1MsnF1MmZSokOGrw4W9vTCioOv2U=",
"owner": "nix-community",
"repo": "disko",
- "rev": "e55f9a8678adc02024a4877c2a403e3f6daf24fe",
+ "rev": "574400001b3ffe555c7a21e0ff846230759be2ed",
"type": "github"
},
"original": {
@@ -354,11 +289,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
- "lastModified": 1725690497,
- "narHash": "sha256-5fT+96rV7Hx29HG+4/oBbr3V+yExKuLN2vcBcPbVBlU=",
+ "lastModified": 1727937235,
+ "narHash": "sha256-Ih4RD65WZZDgtla9Uh8zm6gQJ1zgkXkiU4HKtEwQjvI=",
"owner": "nix-community",
"repo": "fenix",
- "rev": "4b8d964df93d1f918ee6c4f003b3548c432cc866",
+ "rev": "381781f96b880c2ced9019a9e2406b31ccea82b4",
"type": "github"
},
"original": {
@@ -422,11 +357,11 @@
]
},
"locked": {
- "lastModified": 1725234343,
- "narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=",
+ "lastModified": 1727826117,
+ "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "567b938d64d4b4112ee253b9274472dc3a346eb6",
+ "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
"type": "github"
},
"original": {
@@ -458,16 +393,16 @@
},
"flake-schemas": {
"locked": {
- "lastModified": 1693491534,
- "narHash": "sha256-ifw8Td8kD08J8DxFbYjeIx5naHcDLz7s2IFP3X42I/U=",
- "rev": "c702cbb663d6d70bbb716584a2ee3aeb35017279",
- "revCount": 21,
+ "lastModified": 1721999734,
+ "narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=",
+ "rev": "0a5c42297d870156d9c57d8f99e476b738dcd982",
+ "revCount": 75,
"type": "tarball",
- "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.1/018a4c59-80e1-708a-bb4d-854930c20f72/source.tar.gz"
+ "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz"
},
"original": {
"type": "tarball",
- "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.1.tar.gz"
+ "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz"
}
},
"flake-utils": {
@@ -490,7 +425,7 @@
},
"flake-utils_2": {
"inputs": {
- "systems": "systems_4"
+ "systems": "systems_3"
},
"locked": {
"lastModified": 1681202837,
@@ -508,7 +443,7 @@
},
"flake-utils_3": {
"inputs": {
- "systems": "systems_5"
+ "systems": "systems_4"
},
"locked": {
"lastModified": 1701680307,
@@ -526,7 +461,7 @@
},
"flake-utils_4": {
"inputs": {
- "systems": "systems_6"
+ "systems": "systems_5"
},
"locked": {
"lastModified": 1710146030,
@@ -565,7 +500,7 @@
},
"flake-utils_6": {
"inputs": {
- "systems": "systems_9"
+ "systems": "systems_8"
},
"locked": {
"lastModified": 1705309234,
@@ -599,11 +534,11 @@
"fzf-zsh-completions": {
"flake": false,
"locked": {
- "lastModified": 1708541691,
- "narHash": "sha256-jm6Yd6sEJJ1eynpZa2yLzv6d5FGZZm4l6zMZ3DomY7o=",
+ "lastModified": 1727968409,
+ "narHash": "sha256-QIRZShypkl1c7UAQHVKJWrjvlpuKae1aaZIApjisjGg=",
"owner": "chitoku-k",
"repo": "fzf-zsh-completions",
- "rev": "a0593dd3697c4f01918b333f379faf07af7ebc4d",
+ "rev": "8dde1cd4f006dc6c230e994f99e621ecef006ad6",
"type": "github"
},
"original": {
@@ -681,11 +616,11 @@
]
},
"locked": {
- "lastModified": 1725694918,
- "narHash": "sha256-+HsjshXpqNiJHLaJaK0JnIicJ/a1NquKcfn4YZ3ILgg=",
+ "lastModified": 1727817100,
+ "narHash": "sha256-dlyV9/eiWkm/Y/t2+k4CFZ29tBvCANmJogEYaHeAOTw=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda",
+ "rev": "437ec62009fa8ceb684eb447d455ffba25911cf9",
"type": "github"
},
"original": {
@@ -701,11 +636,11 @@
]
},
"locked": {
- "lastModified": 1725863684,
- "narHash": "sha256-HmdTBpuCsw35Ii35JUKO6AE6nae+kJliQb0XGd4hoLE=",
+ "lastModified": 1727817100,
+ "narHash": "sha256-dlyV9/eiWkm/Y/t2+k4CFZ29tBvCANmJogEYaHeAOTw=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "be47a2bdf278c57c2d05e747a13ed31cef54a037",
+ "rev": "437ec62009fa8ceb684eb447d455ffba25911cf9",
"type": "github"
},
"original": {
@@ -772,7 +707,7 @@
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_4",
- "systems": "systems_3",
+ "systems": "systems_2",
"xdph": "xdph"
},
"locked": {
@@ -943,11 +878,11 @@
},
"impermanence": {
"locked": {
- "lastModified": 1725690722,
- "narHash": "sha256-4qWg9sNh5g1qPGO6d/GV2ktY+eDikkBTbWSg5/iD2nY=",
+ "lastModified": 1727649413,
+ "narHash": "sha256-FA53of86DjFdeQzRDVtvgWF9o52rWK70VHGx0Y8fElQ=",
"owner": "nix-community",
"repo": "impermanence",
- "rev": "63f4d0443e32b0dd7189001ee1894066765d18a5",
+ "rev": "d0b38e550039a72aff896ee65b0918e975e6d48e",
"type": "github"
},
"original": {
@@ -965,11 +900,11 @@
]
},
"locked": {
- "lastModified": 1725600800,
- "narHash": "sha256-wst7p3RZ9kZUNzN22d27wU8YSBB7Grlx6Q03A7boRaU=",
+ "lastModified": 1727865565,
+ "narHash": "sha256-SBcqfosxb0XlKdIz6QGXCnK4W/TEVHLDZHkRHZ8Me60=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
- "rev": "2d050e65a71e02a1f19d1a35c086bd2e3dfb2cdb",
+ "rev": "703c0ac8432f3758987e0788248ddc1a8e0bf412",
"type": "github"
},
"original": {
@@ -1007,11 +942,11 @@
},
"master": {
"locked": {
- "lastModified": 1725867797,
- "narHash": "sha256-DW6NHvXHrWFUa0TY4TCf+M8uFIRhmV9H3smBZ2Pu7pk=",
+ "lastModified": 1728001490,
+ "narHash": "sha256-jyLDB1hREFhujapdfZNOyFGQ2+FlhsnhCBYa9YBWn+4=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "cb97dfe6c051011be9cb13cd33103c907d9b2107",
+ "rev": "52cfd83eee767c5d02089efe79c4811ffc52a046",
"type": "github"
},
"original": {
@@ -1165,11 +1100,11 @@
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1725634671,
- "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
+ "lastModified": 1727802920,
+ "narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
+ "rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515",
"type": "github"
},
"original": {
@@ -1261,16 +1196,16 @@
},
"nixpkgs_8": {
"locked": {
- "lastModified": 1725103162,
- "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
+ "lastModified": 1726871744,
+ "narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
+ "rev": "a1d92660c6b3b7c26fb883500a80ea9d33321be2",
"type": "github"
},
"original": {
"owner": "nixos",
- "ref": "nixos-unstable",
+ "ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
@@ -1291,14 +1226,29 @@
"type": "github"
}
},
+ "nur": {
+ "locked": {
+ "lastModified": 1727999300,
+ "narHash": "sha256-y18q4rFuWZ5z1OllpZnNGtYZfIWPYta8V3MI+liB+d8=",
+ "owner": "nix-community",
+ "repo": "NUR",
+ "rev": "2eaa6a4b8f589bc82805ec76506e9264e3acec9a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "NUR",
+ "type": "github"
+ }
+ },
"powerlevel10k": {
"flake": false,
"locked": {
- "lastModified": 1725532669,
- "narHash": "sha256-1NfhbCMox666KPprJqC+yDPPAZi/5p7FSTtwbhKcYoI=",
+ "lastModified": 1727947006,
+ "narHash": "sha256-C0QgZ/DNA6YwQAUv7HHLo+18xrx+C+pUiU9uoD2/AvQ=",
"owner": "romkatv",
"repo": "powerlevel10k",
- "rev": "d71edb83f9c7f045a0d528eeff3445ec3d518d71",
+ "rev": "c64a13361685fc4ec38a55b41256e28494a5d567",
"type": "github"
},
"original": {
@@ -1424,6 +1374,7 @@
"nixpkgs": [
"unstable"
],
+ "nur": "nur",
"powerlevel10k": "powerlevel10k",
"sops-nix": "sops-nix",
"stable": "stable",
@@ -1441,11 +1392,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
- "lastModified": 1725630423,
- "narHash": "sha256-gNCLk3Zg7JlAwmWbVHTH6f3+iqdeQ4fheOotCZy8x5M=",
+ "lastModified": 1727778987,
+ "narHash": "sha256-OTI1eKQ3WIkj6q8PROpPY1vhaxYRdiS1btSfBowQPps=",
"owner": "rust-lang",
"repo": "rust-analyzer",
- "rev": "08c7bbc2dbe4dcc8968484f1a0e1e6fe7a1d4f6d",
+ "rev": "e1a76671af2fbc74c84c18ba18fcda5e653d7531",
"type": "github"
},
"original": {
@@ -1509,11 +1460,11 @@
"nixpkgs-stable": "nixpkgs-stable_3"
},
"locked": {
- "lastModified": 1725765163,
- "narHash": "sha256-rfd2c47iVSFI6bRYy5l8wRijRBaYDeU7dM8XCDUGqlA=",
+ "lastModified": 1727734513,
+ "narHash": "sha256-i47LQwoGCVQq4upV2YHV0OudkauHNuFsv306ualB/Sw=",
"owner": "Mic92",
"repo": "sops-nix",
- "rev": "b68757cd2c3fa66d6ccaa0d046ce42a9324e0070",
+ "rev": "3198a242e547939c5e659353551b0668ec150268",
"type": "github"
},
"original": {
@@ -1524,11 +1475,11 @@
},
"stable": {
"locked": {
- "lastModified": 1725693463,
- "narHash": "sha256-ZPzhebbWBOr0zRWW10FfqfbJlan3G96/h3uqhiFqmwg=",
+ "lastModified": 1727907660,
+ "narHash": "sha256-QftbyPoieM5M50WKUMzQmWtBWib/ZJbHo7mhj5riQec=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "68e7dce0a6532e876980764167ad158174402c6f",
+ "rev": "5966581aa04be7eff830b9e1457d56dc70a0b798",
"type": "github"
},
"original": {
@@ -1542,24 +1493,24 @@
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
- "base16-foot": "base16-foot",
"base16-helix": "base16-helix",
- "base16-kitty": "base16-kitty",
- "base16-tmux": "base16-tmux",
"base16-vim": "base16-vim",
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_5",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_7",
- "systems": "systems_7"
+ "systems": "systems_6",
+ "tinted-foot": "tinted-foot",
+ "tinted-kitty": "tinted-kitty",
+ "tinted-tmux": "tinted-tmux"
},
"locked": {
- "lastModified": 1725290973,
- "narHash": "sha256-+jwXF9KI0HfvDgpsoJGvOdfOGGSKOrID1wQB79zjUbo=",
+ "lastModified": 1727723275,
+ "narHash": "sha256-k4HrG8TJQ0RqDS1tlDz71kvWFBNQ7qZI9T5Z0qLR85Y=",
"owner": "danth",
"repo": "stylix",
- "rev": "ef81ad9e85e60420cc83d4642619c14b57139d33",
+ "rev": "e7e97059776da7e34b739415a7bc8f80f606b803",
"type": "github"
},
"original": {
@@ -1599,21 +1550,6 @@
}
},
"systems_3": {
- "locked": {
- "lastModified": 1689347949,
- "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
- "owner": "nix-systems",
- "repo": "default-linux",
- "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default-linux",
- "type": "github"
- }
- },
- "systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1628,7 +1564,7 @@
"type": "github"
}
},
- "systems_5": {
+ "systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1643,7 +1579,7 @@
"type": "github"
}
},
- "systems_6": {
+ "systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1658,7 +1594,7 @@
"type": "github"
}
},
- "systems_7": {
+ "systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1673,7 +1609,7 @@
"type": "github"
}
},
- "systems_8": {
+ "systems_7": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@@ -1688,7 +1624,7 @@
"type": "github"
}
},
- "systems_9": {
+ "systems_8": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1703,16 +1639,64 @@
"type": "github"
}
},
+ "tinted-foot": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1696725948,
+ "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
+ "owner": "tinted-theming",
+ "repo": "tinted-foot",
+ "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tinted-theming",
+ "repo": "tinted-foot",
+ "type": "github"
+ }
+ },
+ "tinted-kitty": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1665001328,
+ "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=",
+ "owner": "tinted-theming",
+ "repo": "tinted-kitty",
+ "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tinted-theming",
+ "repo": "tinted-kitty",
+ "type": "github"
+ }
+ },
+ "tinted-tmux": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1696725902,
+ "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
+ "owner": "tinted-theming",
+ "repo": "tinted-tmux",
+ "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tinted-theming",
+ "repo": "tinted-tmux",
+ "type": "github"
+ }
+ },
"treefmt-nix": {
"inputs": {
"nixpkgs": "nixpkgs_8"
},
"locked": {
- "lastModified": 1725271838,
- "narHash": "sha256-VcqxWT0O/gMaeWTTjf1r4MOyG49NaNxW4GHTO3xuThE=",
+ "lastModified": 1727984844,
+ "narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=",
"owner": "numtide",
"repo": "treefmt-nix",
- "rev": "9fb342d14b69aefdf46187f6bb80a4a0d97007cd",
+ "rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64",
"type": "github"
},
"original": {
@@ -1723,11 +1707,11 @@
},
"unstable": {
"locked": {
- "lastModified": 1725634671,
- "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
+ "lastModified": 1727802920,
+ "narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
+ "rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515",
"type": "github"
},
"original": {
@@ -1744,7 +1728,7 @@
"nixpkgs": [
"nixpkgs"
],
- "systems": "systems_8"
+ "systems": "systems_7"
},
"locked": {
"lastModified": 1704466722,
@@ -1791,31 +1775,6 @@
"type": "github"
}
},
- "yafas": {
- "inputs": {
- "flake-schemas": [
- "chaotic",
- "flake-schemas"
- ],
- "systems": [
- "chaotic",
- "systems"
- ]
- },
- "locked": {
- "lastModified": 1695926485,
- "narHash": "sha256-wNFFnItckgSs8XeYhhv8vlJs2WF09fSQaWgw4xkDqHQ=",
- "owner": "UbiqueLambda",
- "repo": "yafas",
- "rev": "7772afd6686458ca0ddbc599a52cf5d337367653",
- "type": "github"
- },
- "original": {
- "owner": "UbiqueLambda",
- "repo": "yafas",
- "type": "github"
- }
- },
"yandex-music": {
"inputs": {
"flake-utils": "flake-utils_6",
@@ -1823,11 +1782,11 @@
"ymExe": "ymExe"
},
"locked": {
- "lastModified": 1725496778,
- "narHash": "sha256-c+OKyhbgpXMryc6QQH4b5cePlqyHeSfDh4kT2rU+Tpo=",
+ "lastModified": 1727974068,
+ "narHash": "sha256-+tNKENP5wgpfjaCaEvQBXhUp1j0xf9Ygyt2/O0g/Q/w=",
"owner": "cucumber-sp",
"repo": "yandex-music-linux",
- "rev": "98fed92683e2e5a49999d04b5559edd02eddf627",
+ "rev": "4d8753bf03e9faf68ec0fd716c0a55450848e5cf",
"type": "github"
},
"original": {
@@ -1839,13 +1798,13 @@
"ymExe": {
"flake": false,
"locked": {
- "narHash": "sha256-JcdIfz+evOf0D5YlQsmOEzGVkCgcGHoEpbGzTIwkmgw=",
+ "narHash": "sha256-PFrV8F2KlkAsxEGSf8Wg1e67dnP2M+iNLNuR5AyJGuE=",
"type": "file",
- "url": "https://music-desktop-application.s3.yandex.net/stable/Yandex_Music_x64_5.15.0.exe"
+ "url": "https://music-desktop-application.s3.yandex.net/stable/Yandex_Music_x64_5.20.2.exe"
},
"original": {
"type": "file",
- "url": "https://music-desktop-application.s3.yandex.net/stable/Yandex_Music_x64_5.15.0.exe"
+ "url": "https://music-desktop-application.s3.yandex.net/stable/Yandex_Music_x64_5.20.2.exe"
}
},
"zsh-auto-notify": {
diff --git a/flake.nix b/flake.nix
index 2ffa581..47c7358 100644
--- a/flake.nix
+++ b/flake.nix
@@ -57,6 +57,10 @@
url = "github:oddlama/nix-topology";
};
+ nur = {
+ url = "github:nix-community/NUR";
+ };
+
# MacOS configuration
darwin = {
url = "github:LnL7/nix-darwin/master";
@@ -140,6 +144,7 @@
imports = [
./parts
+ # ./docs
];
flake = {
diff --git a/home/default.nix b/home/default.nix
index 6e78cb5..95ecd9b 100644
--- a/home/default.nix
+++ b/home/default.nix
@@ -30,8 +30,9 @@ let
sshModuleExistPath = builtins.pathExists sshModulePath;
in {
home-manager = {
- useGlobalPkgs = true;
- useUserPackages = true;
+ useGlobalPkgs = true;
+ useUserPackages = true;
+ backupFileExtension = "backup-" + pkgs.lib.readFile "${pkgs.runCommand "timestamp" {} "echo -n `date '+%Y%m%d%H%M%S'` > $out"}";
extraSpecialArgs = {
inherit
@@ -55,6 +56,7 @@ in {
imports = [
inputs.impermanence.nixosModules.home-manager.impermanence
inputs.sops-nix.homeManagerModules.sops
+ inputs.nur.nixosModules.nur
"${commonModules}"
"${homeModules}"
@@ -62,8 +64,6 @@ in {
++ lib.optional userConfigurationPathExist userConfigurationPath
++ lib.optional userModulesPathExist userModulesPath;
- programs.home-manager.enable = true;
-
home = {
inherit username;
inherit stateVersion;
diff --git a/home/modules/alacritty/default.nix b/home/modules/alacritty/default.nix
index 0074a62..a60520f 100644
--- a/home/modules/alacritty/default.nix
+++ b/home/modules/alacritty/default.nix
@@ -20,33 +20,12 @@ in {
settings = {
env.TERM = "xterm-256color";
- /* font = {
- size = 10;
-
- normal = {
- family = "JetBrainsMono Nerd Font Mono";
- style = "Regular";
- };
-
- bold = {
- family = "JetBrainsMono Nerd Font Mono";
- style = "Bold";
- };
-
- italic = {
- family = "JetBrainsMono Nerd Font Mono";
- style = "Italic";
- };
-
- bold_italic = {
- family = "JetBrainsMono Nerd Font Mono";
- style = "Bold Italic";
- };
- }; */
+ cursor.style = {
+ shape = "Beam";
+ blinking = "off";
+ };
window = {
- # opacity = 0.95;
-
dimensions = {
lines = 27;
columns = 115;
@@ -58,37 +37,6 @@ in {
};
};
- /*colors = {
- draw_bold_text_with_bright_colors = true;
-
- primary = {
- background = "0x282a33";
- foreground = "0xe1e2e6";
- };
-
- normal = {
- black = "0x29414f";
- blue = "0x6699cc";
- cyan = "0x5fb3b3";
- green = "0x99c794";
- magenta = "0xc594c5";
- red = "0xec5f67";
- white = "0x65737e";
- yellow = "0xfac863";
- };
-
- bright = {
- black = "0x405860";
- blue = "0x6699cc";
- cyan = "0x5fb3b3";
- green = "0x99c794";
- magenta = "0xc594c5";
- red = "0xec5f67";
- white = "0xadb5c0";
- yellow = "0xfac863";
- };
- };*/
-
keyboard.bindings = [
{
action = "Copy";
diff --git a/home/modules/doom-emacs/default.nix b/home/modules/doom-emacs/default.nix
deleted file mode 100644
index d7f95fa..0000000
--- a/home/modules/doom-emacs/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ config
-, lib
-, pkgs
-, ...
-}:
-
-with lib;
-
-let
- cfg = config.module.doom-emacs;
-in {
- options = {
- module.doom-emacs.enable = mkEnableOption "Enable doom-emacs";
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- emacs
- emacsPackages.vterm
- emacsPackages.python
- emacsPackages.emacsql
- emacsPackages.emacsql-sqlite
- emacsPackages.pdf-tools
-
- fd
- nil
- ];
- };
-}
-
diff --git a/home/modules/emacs/default.nix b/home/modules/emacs/default.nix
new file mode 100644
index 0000000..cd56e98
--- /dev/null
+++ b/home/modules/emacs/default.nix
@@ -0,0 +1,30 @@
+{ config
+, lib
+, pkgs
+, ...
+}:
+
+with lib;
+
+let
+ cfg = config.module.emacs;
+in {
+ options = {
+ module.emacs.enable = mkEnableOption "Enable emacs";
+ };
+
+ config = mkIf cfg.enable {
+ programs.emacs = {
+ enable = true;
+ package = pkgs.emacs30-pgtk;
+ };
+
+ services.emacs = {
+ enable = true;
+ package = pkgs.emacs30-pgtk;
+ client.enable = true;
+ socketActivation.enable = true;
+ };
+ };
+}
+
diff --git a/home/modules/fastfetch/default.nix b/home/modules/fastfetch/default.nix
new file mode 100644
index 0000000..f02770d
--- /dev/null
+++ b/home/modules/fastfetch/default.nix
@@ -0,0 +1,75 @@
+{ lib
+, config
+, ...
+}:
+
+with lib;
+
+let
+ cfg = config.module.fastfetch;
+in {
+ options = {
+ module.fastfetch = {
+ enable = mkEnableOption "Enable fastfetch";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ programs.fastfetch = {
+ enable = true;
+
+ settings = {
+ logo = {
+ type = "builtin";
+ source = "NixOS";
+ };
+
+ display = {
+ color = {
+ keys = "blue";
+ title = "blue";
+ };
+ };
+
+ modules = [
+ "title"
+ "separator"
+ {
+ type = "os";
+ key = "Distro";
+ format = "{3}";
+ }
+ {
+ type = "kernel";
+ key = "Kernel Version";
+ format = "{2}";
+ }
+ {
+ type = "packages";
+ format = "{9}";
+ }
+ "shell"
+ "wm"
+ "separator"
+ {
+ type = "cpu";
+ format = "{1} - {3} Cores";
+ }
+ {
+ type = "gpu";
+ key = "GPU";
+ hideType = "integrated";
+ format = "{2}";
+ }
+ {
+ type = "memory";
+ }
+ {
+ type = "disk";
+ }
+ ];
+ };
+ };
+ };
+}
+
diff --git a/home/modules/fish/default.nix b/home/modules/fish/default.nix
index d983387..1e03cd2 100644
--- a/home/modules/fish/default.nix
+++ b/home/modules/fish/default.nix
@@ -25,9 +25,14 @@ in {
interactiveShellInit = ''
set fish_greeting
+ set fish_cursor_default block blink
+ set fish_cursor_insert line blink
+ set fish_cursor_replace_one underscore blink
+ set fish_cursor_visual block
function fish_user_key_bindings
- fish_vi_key_bindings
+ fish_default_key_bindings -M insert
+ fish_vi_key_bindings --no-erase insert
end
'';
@@ -69,7 +74,6 @@ in {
# Others
"gopenssl" = "/opt/cryptopack3/bin/openssl";
"fuck" = "_ !!";
- "sudo" = "doas";
};
plugins = [
diff --git a/home/modules/fish/starship/default.nix b/home/modules/fish/starship/default.nix
index 43c8a91..3ed961e 100644
--- a/home/modules/fish/starship/default.nix
+++ b/home/modules/fish/starship/default.nix
@@ -5,13 +5,23 @@
settings = {
add_newline = false;
+
format = ''
- [┌ ](bold blue)$username[@](bold blue)$hostname$kubernetes$directory$git_branch$git_commit$git_state$git_status$docker_context$package$golang$helm$java$cmake$julia$kotlin$lua$nim$nodejs$python$ruby$rust$swift$terraform$aws$gcloud$azure$nix_shell$fill$status$cmd_duration$time
+ [┌ ](bold blue)$username[@](bold blue)$hostname$kubernetes$directory$git_branch$git_commit$git_state$git_status$docker_context$package$golang$helm$java$cmake$julia$kotlin$lua$nim$nodejs$python$ruby$rust$swift$terraform$aws$gcloud$azure$nix_shell$fill$character$cmd_duration$time
[└─> ](bold blue)
'';
fill.symbol = " ";
+ character = {
+ error_symbol = "[](bold red)";
+ success_symbol = "[](bold green)";
+ vimcmd_symbol = "[N](bold blue)";
+ vimcmd_visual_symbol = "[V](bold red)";
+ vimcmd_replace_one_symbol = "[R](bold purple)";
+ vimcmd_replace_symbol = "[R](bold purple)";
+ };
+
username = {
style_user = "blue bold";
style_root = "red bold";
diff --git a/home/modules/foot/default.nix b/home/modules/foot/default.nix
index c6c9925..907623b 100644
--- a/home/modules/foot/default.nix
+++ b/home/modules/foot/default.nix
@@ -22,7 +22,12 @@ in {
term = "xterm-256color";
workers = 32;
initial-window-size-chars = "115x24";
- pad = "0x4";
+ pad = "4x4 center";
+ };
+
+ cursor = {
+ style = "beam";
+ beam-thickness = 1;
};
mouse = {
diff --git a/home/modules/hypridle/default.nix b/home/modules/hypridle/default.nix
index e02cbf7..1073359 100644
--- a/home/modules/hypridle/default.nix
+++ b/home/modules/hypridle/default.nix
@@ -15,7 +15,7 @@ let
suspendCmd = "${pkgs.systemd}/bin/systemctl suspend";
hyprctlCmd = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl";
- swaymsg = "${pkgs.swayfx}/bin/swaymsg";
+ swaymsg = "${pkgs.sway}/bin/swaymsg";
hyprlockCmd = "${config.programs.hyprlock.package}/bin/hyprlock";
swaylockCmd = "${pkgs.swaylock}/bin/swaylock";
diff --git a/home/modules/hyprland/binds/default.nix b/home/modules/hyprland/binds/default.nix
index bf1866d..a37a738 100644
--- a/home/modules/hyprland/binds/default.nix
+++ b/home/modules/hyprland/binds/default.nix
@@ -14,7 +14,7 @@ let
brightnessControl = "${pkgs.brightnessctl}/bin/brightnessctl";
screenshotArea = "${pkgs.grimblast}/bin/grimblast --notify --freeze copy area";
screenshotScreen = "${pkgs.grimblast}/bin/grimblast --notify --freeze copy output";
- appLauncher = "${pkgs.fuzzel}/bin/fuzzel -T ${terminal}";
+ appLauncher = "${pkgs.wofi}/bin/wofi --show drun";
cliphist = "${pkgs.cliphist}/bin/cliphist list | ${appLauncher} -d | ${pkgs.cliphist}/bin/cliphist decode | ${pkgs.wl-clipboard}/bin/wl-copy";
in {
options = {
diff --git a/home/modules/hyprland/default.nix b/home/modules/hyprland/default.nix
index 82f9139..3680785 100644
--- a/home/modules/hyprland/default.nix
+++ b/home/modules/hyprland/default.nix
@@ -43,6 +43,7 @@ in {
env = [
"XDG_CURRENT_DESKTOP,Hyprland"
"XDG_SESSION_DESKTOP,Hyprland"
+ "GTK_CSD,0"
];
animations = {
diff --git a/home/modules/lazygit/default.nix b/home/modules/lazygit/default.nix
new file mode 100644
index 0000000..42f9995
--- /dev/null
+++ b/home/modules/lazygit/default.nix
@@ -0,0 +1,21 @@
+{ lib
+, config
+, ...
+}:
+
+with lib;
+
+let
+ cfg = config.module.lazygit;
+in {
+ options = {
+ module.lazygit.enable = mkEnableOption "Enables lazygit";
+ };
+
+ config = mkIf cfg.enable {
+ programs.lazygit = {
+ enable = true;
+ };
+ };
+}
+
diff --git a/home/modules/librewolf/default.nix b/home/modules/librewolf/default.nix
new file mode 100644
index 0000000..85d6c0e
--- /dev/null
+++ b/home/modules/librewolf/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, config
+, ...
+}:
+
+with lib;
+
+let
+ cfg = config.module.librewolf;
+in {
+ options = {
+ module.librewolf.enable = mkEnableOption "Enables librewolf";
+ };
+
+ config = mkIf cfg.enable {
+ programs.librewolf = {
+ enable = true;
+
+ settings = {
+ "webgl.disabled" = false;
+ "privacy.resistFingerprinting" = false;
+ "privacy.clearOnShutdown.history" = false;
+ "privacy.clearOnShutdown.cookies" = false;
+ "network.cookie.lifetimePolicy" = 0;
+
+ "browser.fullscreen.autohide" = false;
+ };
+ };
+ };
+}
+
diff --git a/home/modules/neovim/config/init.lua b/home/modules/neovim/config/init.lua
index fb236bc..6933571 100644
--- a/home/modules/neovim/config/init.lua
+++ b/home/modules/neovim/config/init.lua
@@ -1,4 +1,2 @@
-require('base/main')
-require('keys/main')
-require('lazyInit')
+require('config')
diff --git a/home/modules/neovim/config/lua/base/main.lua b/home/modules/neovim/config/lua/base/main.lua
deleted file mode 100644
index 01f50f4..0000000
--- a/home/modules/neovim/config/lua/base/main.lua
+++ /dev/null
@@ -1,3 +0,0 @@
-require('base/tabs')
-require('base/other')
-
diff --git a/home/modules/neovim/config/lua/base/other.lua b/home/modules/neovim/config/lua/base/other.lua
deleted file mode 100644
index f5272ba..0000000
--- a/home/modules/neovim/config/lua/base/other.lua
+++ /dev/null
@@ -1,11 +0,0 @@
-vim.opt.mouse = "a"
-vim.opt.colorcolumn = "79"
-vim.opt.encoding = "utf-8"
-vim.opt.clipboard = "unnamedplus"
-vim.opt.fileformat = "unix"
-vim.opt.number = true
-vim.opt.relativenumber = true
-vim.opt.swapfile = false
-vim.opt.scrolloff = 7
--- vim.g.nord_italic = false
-
diff --git a/home/modules/neovim/config/lua/base/tabs.lua b/home/modules/neovim/config/lua/config/autocmds.lua
similarity index 57%
rename from home/modules/neovim/config/lua/base/tabs.lua
rename to home/modules/neovim/config/lua/config/autocmds.lua
index cce89a8..f09261f 100644
--- a/home/modules/neovim/config/lua/base/tabs.lua
+++ b/home/modules/neovim/config/lua/config/autocmds.lua
@@ -1,9 +1,4 @@
-vim.opt.tabstop = 2
-vim.opt.shiftwidth = 2
-vim.opt.softtabstop = 2
-vim.opt.expandtab = true
-vim.opt.smartindent = true
-vim.g.editorconfig = false
+local autocmd = vim.api.nvim_create_autocmd
local function check_git_repo()
local cmd = "git rev-parse --is-inside-work-tree"
@@ -13,9 +8,14 @@ local function check_git_repo()
end
end
-vim.api.nvim_create_autocmd({ "VimEnter", "DirChanged" }, {
+autocmd({ "VimEnter", "DirChanged" }, {
callback = function()
vim.schedule(check_git_repo)
end,
})
+autocmd({"VimLeave", "VimSuspend"}, {
+ pattern = "*",
+ command = "set guicursor=a:ver25"
+})
+
diff --git a/home/modules/neovim/config/lua/config/init.lua b/home/modules/neovim/config/lua/config/init.lua
new file mode 100644
index 0000000..56262d2
--- /dev/null
+++ b/home/modules/neovim/config/lua/config/init.lua
@@ -0,0 +1,5 @@
+require('config.options')
+require('config.lazy')
+require('config.keymaps')
+require('config.autocmds')
+
diff --git a/home/modules/neovim/config/lua/keys/barbar.lua b/home/modules/neovim/config/lua/config/keymaps.lua
similarity index 53%
rename from home/modules/neovim/config/lua/keys/barbar.lua
rename to home/modules/neovim/config/lua/config/keymaps.lua
index 7324051..8d471f4 100644
--- a/home/modules/neovim/config/lua/keys/barbar.lua
+++ b/home/modules/neovim/config/lua/config/keymaps.lua
@@ -1,6 +1,37 @@
-local map = vim.api.nvim_set_keymap
+local map = vim.keymap.set
local opts = { noremap = true, silent = true }
+local builtin = require('telescope.builtin')
+local function escape(str)
+ local escape_chars = [[;,."|\]]
+ return vim.fn.escape(str, escape_chars)
+end
+
+-- Russian layout
+local en_shift = [[~QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>]]
+local ru_shift = [[ËЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ]]
+local en = [[`qwertyuiop[]asdfghjkl;'zxcvbnm]]
+local ru = [[ёйцукенгшщзхъфывапролджэячсмить]]
+
+vim.opt.langmap = vim.fn.join({
+ escape(ru_shift) .. ';' .. escape(en_shift),
+ escape(ru) .. ';' .. escape(en),
+}, ',')
+
+-- Base
+-- nnoremap , :nohlsearch
+map('n', ',', 'nohlsearch') --, opts)
+map({ "n", "x" }, "H", "^", { desc = "Go to start line" })
+map({ "n", "x" }, "L", "g_", { desc = "Go to end line" })
+map("n", "", "ggG", { desc = "Select All" })
+
+map("n", "", ":wincmd h", { silent = true, desc = "Focus Right" })
+map("n", "", ":wincmd l", { silent = true, desc = "Focus Left" })
+map("n", "", ":wincmd j", { silent = true, desc = "Focus Bottom" })
+map("n", "", ":wincmd k", { silent = true, desc = "Focus Top" })
+map("n", "gn", ":Neogit", { silent = true })
+
+-- BarBar
-- Move to previous/next
map('n', '', 'BufferPrevious', opts)
map('n', '', 'BufferNext', opts)
@@ -43,3 +74,15 @@ map('n', 'bw', 'BufferOrderByWindowNumber', opts)
-- :BarbarEnable - enables barbar (enabled by default)
-- :BarbarDisable - very bad command, should never be used
+-- NeoGit
+map("n", "gn", ":Neogit", { silent = true })
+
+-- Nvim Tree
+map("n", "", ":NvimTreeToggle", { silent = true })
+
+-- Telescope
+map('n', 'ff', builtin.find_files, {})
+map('n', 'fg', builtin.live_grep, {})
+map('n', 'fb', builtin.buffers, {})
+map('n', 'fh', builtin.help_tags, {})
+
diff --git a/home/modules/neovim/config/lua/lazyInit.lua b/home/modules/neovim/config/lua/config/lazy.lua
similarity index 93%
rename from home/modules/neovim/config/lua/lazyInit.lua
rename to home/modules/neovim/config/lua/config/lazy.lua
index 1edbb16..8c1ec71 100644
--- a/home/modules/neovim/config/lua/lazyInit.lua
+++ b/home/modules/neovim/config/lua/config/lazy.lua
@@ -19,7 +19,9 @@ require("lazy").setup(
{
defaults = {
- lazy = true,
+ lazy = true,
+ autocmds = true,
+ keymaps = true,
},
rocks = {
diff --git a/home/modules/neovim/config/lua/config/options.lua b/home/modules/neovim/config/lua/config/options.lua
new file mode 100644
index 0000000..bcd2efa
--- /dev/null
+++ b/home/modules/neovim/config/lua/config/options.lua
@@ -0,0 +1,22 @@
+local opt = vim.opt
+local g = vim.g
+
+opt.mouse = "a"
+opt.colorcolumn = "79"
+opt.encoding = "utf-8"
+opt.clipboard = "unnamedplus"
+opt.fileformat = "unix"
+opt.number = true
+opt.relativenumber = true
+opt.swapfile = false
+opt.scrolloff = 7
+opt.tabstop = 2
+opt.shiftwidth = 2
+opt.softtabstop = 2
+opt.expandtab = true
+opt.smartindent = true
+
+g.mapleader = ","
+g.editorconfig = false
+-- g.nord_italic = false
+
diff --git a/home/modules/neovim/config/lua/keys/base.lua b/home/modules/neovim/config/lua/keys/base.lua
deleted file mode 100644
index 9f2d66e..0000000
--- a/home/modules/neovim/config/lua/keys/base.lua
+++ /dev/null
@@ -1,13 +0,0 @@
-vim.g.mapleader = ","
--- nnoremap , :nohlsearch
-vim.keymap.set('n', ',', 'nohlsearch') --, opts)
-vim.keymap.set({ "n", "x" }, "H", "^", { desc = "Go to start line" })
-vim.keymap.set({ "n", "x" }, "L", "g_", { desc = "Go to end line" })
-vim.keymap.set("n", "", "ggG", { desc = "Select All" })
-
-vim.keymap.set("n", "", ":wincmd h", { silent = true, desc = "Focus Right" })
-vim.keymap.set("n", "", ":wincmd l", { silent = true, desc = "Focus Left" })
-vim.keymap.set("n", "", ":wincmd j", { silent = true, desc = "Focus Bottom" })
-vim.keymap.set("n", "", ":wincmd k", { silent = true, desc = "Focus Top" })
-vim.keymap.set("n", "gn", ":Neogit", { silent = true })
-
diff --git a/home/modules/neovim/config/lua/keys/git.lua b/home/modules/neovim/config/lua/keys/git.lua
deleted file mode 100644
index 617e33d..0000000
--- a/home/modules/neovim/config/lua/keys/git.lua
+++ /dev/null
@@ -1,2 +0,0 @@
-vim.keymap.set("n", "gn", ":Neogit", { silent = true })
-
diff --git a/home/modules/neovim/config/lua/keys/main.lua b/home/modules/neovim/config/lua/keys/main.lua
deleted file mode 100644
index 990b794..0000000
--- a/home/modules/neovim/config/lua/keys/main.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-require('keys/base')
-require('keys/nvimTree')
-require('keys/ruLayout')
-require('keys/barbar')
-require('keys/git')
--- require('keys/telescope')
-
diff --git a/home/modules/neovim/config/lua/keys/nvimTree.lua b/home/modules/neovim/config/lua/keys/nvimTree.lua
deleted file mode 100644
index c2f68e8..0000000
--- a/home/modules/neovim/config/lua/keys/nvimTree.lua
+++ /dev/null
@@ -1,2 +0,0 @@
-vim.keymap.set("n", "", ":NvimTreeToggle", { silent = true })
-
diff --git a/home/modules/neovim/config/lua/keys/ruLayout.lua b/home/modules/neovim/config/lua/keys/ruLayout.lua
deleted file mode 100644
index edc551e..0000000
--- a/home/modules/neovim/config/lua/keys/ruLayout.lua
+++ /dev/null
@@ -1,20 +0,0 @@
-local function escape(str)
- -- Эти символы должны быть экранированы, если встречаются в langmap
- local escape_chars = [[;,."|\]]
- return vim.fn.escape(str, escape_chars)
-end
-
--- Наборы символов, введенных с зажатым шифтом
-local en_shift = [[~QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>]]
-local ru_shift = [[ËЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ]]
--- Наборы символов, введенных как есть
--- Здесь я не добавляю ',.' и 'бю', чтобы впоследствии не было рекурсивного вызова комманды
-local en = [[`qwertyuiop[]asdfghjkl;'zxcvbnm]]
-local ru = [[ёйцукенгшщзхъфывапролджэячсмить]]
-vim.opt.langmap = vim.fn.join({
- -- ; - разделитель, который не нужно экранировать
- -- |
- escape(ru_shift) .. ';' .. escape(en_shift),
- escape(ru) .. ';' .. escape(en),
-}, ',')
-
diff --git a/home/modules/neovim/config/lua/keys/telescope.lua b/home/modules/neovim/config/lua/keys/telescope.lua
deleted file mode 100644
index 4b68a8b..0000000
--- a/home/modules/neovim/config/lua/keys/telescope.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-local builtin = require('telescope.builtin')
-
-vim.keymap.set('n', 'ff', builtin.find_files, {})
-vim.keymap.set('n', 'fg', builtin.live_grep, {})
-vim.keymap.set('n', 'fb', builtin.buffers, {})
-vim.keymap.set('n', 'fh', builtin.help_tags, {})
-
diff --git a/home/modules/neovim/config/lua/lsp/init.lua b/home/modules/neovim/config/lua/lsp/init.lua
index 68585b4..83fefca 100644
--- a/home/modules/neovim/config/lua/lsp/init.lua
+++ b/home/modules/neovim/config/lua/lsp/init.lua
@@ -7,7 +7,7 @@ end
local servers = {
"gopls"
- , "nil_ls"
+ -- , "nil_ls"
, "lua_ls"
, "jsonls"
, "pyright"
@@ -16,6 +16,7 @@ local servers = {
, "helm_ls"
, "dockerls"
, "docker_compose_language_service"
+ , "nixd"
-- , "gitlab-ci-ls"
}
diff --git a/home/modules/neovim/config/lua/lsp/settings/nil_ls.lua b/home/modules/neovim/config/lua/lsp/settings/nil_ls.lua
index e87c0a5..3ca5647 100644
--- a/home/modules/neovim/config/lua/lsp/settings/nil_ls.lua
+++ b/home/modules/neovim/config/lua/lsp/settings/nil_ls.lua
@@ -1,4 +1,4 @@
-return {
+--[[ return {
settings = {
["nil"] = {
nix = {
@@ -10,4 +10,4 @@ return {
},
},
}
-
+]]--
diff --git a/home/modules/neovim/config/lua/plugins/mini.lua b/home/modules/neovim/config/lua/plugins/mini.lua
new file mode 100644
index 0000000..c59d414
--- /dev/null
+++ b/home/modules/neovim/config/lua/plugins/mini.lua
@@ -0,0 +1,10 @@
+return {
+ {
+ "echasnovski/mini.nvim",
+ event = { "BufReadPre" },
+ config = function()
+ require('mini.align').setup()
+ end,
+ },
+}
+
diff --git a/home/modules/neovim/default.nix b/home/modules/neovim/default.nix
index 7018db5..3ff65f2 100644
--- a/home/modules/neovim/default.nix
+++ b/home/modules/neovim/default.nix
@@ -38,6 +38,7 @@ in {
cmake-language-server
helm-ls
nil
+ nixd
lua-language-server
stylua
pyright
diff --git a/home/modules/sway/default.nix b/home/modules/sway/default.nix
index 5af651c..9c56418 100644
--- a/home/modules/sway/default.nix
+++ b/home/modules/sway/default.nix
@@ -26,19 +26,26 @@ in {
};
home.sessionVariables = {
- XDG_CURRENT_DESKTOP = "sway";
- XDG_SESSION_DESKTOP = "sway";
+ XDG_CURRENT_DESKTOP = "sway";
+ XDG_SESSION_DESKTOP = "sway";
+ GTK_CSD = 0;
+ };
+
+ gtk = {
+ gtk3.extraConfig = {
+ gtk-decoration-layout = ":";
+ };
};
wayland.windowManager.sway = {
enable = true;
- package = pkgs.swayfx;
+ package = pkgs.sway;
checkConfig = false;
# Swayfx settings
- extraConfig = ''
+ /* extraConfig = ''
corner_radius 3
- '';
+ ''; */
config = {
focus.mouseWarping = "container";
@@ -74,16 +81,17 @@ in {
};
startup = [
+ { command = "${pkgs.blueman}/bin/blueman-applet"; }
{ command = "${pkgs.wl-clipboard}/bin/wl-paste --type text --watch cliphist store"; }
{ command = "${pkgs.wl-clipboard}/bin/wl-paste --type image --watch cliphist store"; }
- { command = "${pkgs.swayfx}/bin/swaymsg 'workspace 1; exec ${pkgs.firefox}/bin/firefox'"; }
- { command = "${pkgs.swayfx}/bin/swaymsg 'workspace 2; exec ${pkgs.telegram-desktop}/bin/telegram-desktop'"; }
- { command = "${pkgs.swayfx}/bin/swaymsg 'workspace 4; exec ${pkgs.obsidian}/bin/obsidian'"; }
- { command = "${pkgs.swayfx}/bin/swaymsg 'workspace 5; exec ${pkgs.foot}/bin/foot'"; }
- { command = "${pkgs.swayfx}/bin/swaymsg 'workspace 5; exec ${pkgs.foot}/bin/foot'"; }
- { command = "${pkgs.swayfx}/bin/swaymsg 'workspace 5; exec ${pkgs.foot}/bin/foot'"; }
- { command = "${pkgs.swayfx}/bin/swaymsg 'workspace 6; exec ${pkgs.firefox}/bin/firefox -P work'"; }
- { command = "${pkgs.swayfx}/bin/swaymsg 'workspace 8; exec ${pkgs.vesktop}/bin/vesktop'"; }
+ { command = "${pkgs.sway}/bin/swaymsg 'workspace 1; exec ${pkgs.librewolf}/bin/librewolf'"; }
+ { command = "${pkgs.sway}/bin/swaymsg 'workspace 2; exec ${pkgs.telegram-desktop}/bin/telegram-desktop'"; }
+ { command = "${pkgs.sway}/bin/swaymsg 'workspace 4; exec ${pkgs.obsidian}/bin/obsidian'"; }
+ { command = "${pkgs.sway}/bin/swaymsg 'workspace 5; exec ${pkgs.foot}/bin/foot'"; }
+ { command = "${pkgs.sway}/bin/swaymsg 'workspace 5; exec ${pkgs.foot}/bin/foot'"; }
+ { command = "${pkgs.sway}/bin/swaymsg 'workspace 5; exec ${pkgs.foot}/bin/foot'"; }
+ { command = "${pkgs.sway}/bin/swaymsg 'workspace 6; exec ${pkgs.librewolf}/bin/librewolf -P work'"; }
+ { command = "${pkgs.sway}/bin/swaymsg 'workspace 8; exec ${pkgs.vesktop}/bin/vesktop'"; }
];
};
};
diff --git a/home/modules/sway/keybinds/default.nix b/home/modules/sway/keybinds/default.nix
index a1b27ab..1b33e40 100644
--- a/home/modules/sway/keybinds/default.nix
+++ b/home/modules/sway/keybinds/default.nix
@@ -26,11 +26,33 @@ let
terminal = "${pkgs.foot}/bin/foot";
screenshotArea = "${pkgs.slurp}/bin/slurp | ${pkgs.grim}/bin/grim -g - - | ${pkgs.wl-clipboard}/bin/wl-copy ";
screenshotScreen = "${pkgs.grim}/bin/grim -o $(swaymsg -t get_outputs | ${pkgs.jq}/bin/jq -r '.[] | select(.focused) | .name') - | ${pkgs.wl-clipboard}/bin/wl-copy";
- appLauncher = "${pkgs.fuzzel}/bin/fuzzel -T ${terminal}";
+ appLauncher = "${pkgs.wofi}/bin/wofi --show drun";
audioControl = "${pkgs.pulseaudio}/bin/pactl";
brightnessControl = "${pkgs.brightnessctl}/bin/brightnessctl";
clipHist = "${pkgs.cliphist}/bin/cliphist list | ${appLauncher} -d | ${pkgs.cliphist}/bin/cliphist decode | ${pkgs.wl-clipboard}/bin/wl-copy";
notificationsApp = "${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw";
+
+ powerMenu = pkgs.writeShellScriptBin "powerMenu.sh" ''
+ #!/usr/bin/env bash
+
+ op=$(echo -e " Poweroff\n Reboot\n Suspend\n Lock\n Logout" | ${pkgs.wofi}/bin/wofi -i --dmenu | ${pkgs.gawk}/bin/awk '{print tolower($2)}')
+
+ case $op in
+ poweroff)
+ ;&
+ reboot)
+ ;&
+ suspend)
+ systemctl $op
+ ;;
+ lock)
+ swaylock
+ ;;
+ logout)
+ swaymsg exit
+ ;;
+ esac
+ '';
in {
options.module.sway.keybindings = {
enable = mkEnableOption "Enable sway keybindings";
@@ -54,6 +76,9 @@ in {
# Kill active window
"--to-code ${super}+q" = "kill";
+ # PowerMenu
+ "--to-code ${super}+p" = "exec ${powerMenu}/bin/powerMenu.sh";
+
# Change focus
# Vim like
"--to-code ${super}+h" = "focus left";
@@ -104,6 +129,9 @@ in {
# Fullscreen mode
"--to-code ${super}+f" = "fullscreen";
+ # Float mode
+ "--to-code ${super}+Space" = "floating toggle";
+
# Resize mode
"--to-code ${super}+r" = "mode resize";
diff --git a/home/modules/sway/outputs/default.nix b/home/modules/sway/outputs/default.nix
index 1edddfd..14ddc34 100644
--- a/home/modules/sway/outputs/default.nix
+++ b/home/modules/sway/outputs/default.nix
@@ -9,60 +9,56 @@ with lib;
let
cfg = config.module.sway.outputs;
- pcboxOutputs = {
- DP-1 = {
- resolution = "1920x1080@144Hz";
- position = "0 0";
- };
-
- DP-2 = {
- resolution = "1920x1080@144Hz";
- position = "1920 0";
+ outputs = {
+ default = { };
+
+ pcbox = {
+ DP-1 = {
+ resolution = "1920x1080@144Hz";
+ position = "0 0";
+ };
+
+ DP-2 = {
+ resolution = "1920x1080@144Hz";
+ position = "1920 0";
+ };
};
- };
- nboxOutputs = {
- eDP-1 = {
- resolution = "2880x1800@120Hz";
- position = "0 0";
+ nbox = {
+ eDP-1 = {
+ resolution = "2880x1800@120Hz";
+ position = "0 0";
+ };
};
};
- outputsByHostname = if hostname == "pcbox"
- then pcboxOutputs
- else if hostname == "nbox"
- then nboxOutputs
- else {};
+ workspaces = {
+ default = [ ];
- pcboxWorkspaces = [
- { workspace = "1"; output = "DP-2"; }
- { workspace = "2"; output = "DP-2"; }
- { workspace = "3"; output = "DP-2"; }
- { workspace = "4"; output = "DP-2"; }
- { workspace = "5"; output = "DP-2"; }
- { workspace = "6"; output = "DP-2"; }
- { workspace = "7"; output = "DP-1"; }
- { workspace = "8"; output = "DP-1"; }
- { workspace = "9"; output = "DP-1"; }
- { workspace = "10"; output = "DP-1"; }
- { workspace = "11"; output = "DP-1"; }
- { workspace = "12"; output = "DP-1"; }
- ];
+ pcbox = [
+ { workspace = "1"; output = "DP-2"; }
+ { workspace = "2"; output = "DP-2"; }
+ { workspace = "3"; output = "DP-2"; }
+ { workspace = "4"; output = "DP-2"; }
+ { workspace = "5"; output = "DP-2"; }
+ { workspace = "6"; output = "DP-2"; }
+ { workspace = "7"; output = "DP-1"; }
+ { workspace = "8"; output = "DP-1"; }
+ { workspace = "9"; output = "DP-1"; }
+ { workspace = "10"; output = "DP-1"; }
+ { workspace = "11"; output = "DP-1"; }
+ { workspace = "12"; output = "DP-1"; }
+ ];
- nboxWorkspaces = [
- { workspace = "1"; output = "eDP-1"; }
- { workspace = "2"; output = "eDP-1"; }
- { workspace = "3"; output = "eDP-1"; }
- { workspace = "4"; output = "eDP-1"; }
- { workspace = "5"; output = "eDP-1"; }
- { workspace = "6"; output = "eDP-1"; }
- ];
-
- workspacesByHostname = if hostname == "pcbox"
- then pcboxWorkspaces
- else if hostname == "nbox"
- then nboxWorkspaces
- else [];
+ nbox = [
+ { workspace = "1"; output = "eDP-1"; }
+ { workspace = "2"; output = "eDP-1"; }
+ { workspace = "3"; output = "eDP-1"; }
+ { workspace = "4"; output = "eDP-1"; }
+ { workspace = "5"; output = "eDP-1"; }
+ { workspace = "6"; output = "eDP-1"; }
+ ];
+ };
in {
options.module.sway.outputs = {
enable = mkEnableOption "Enable sway outputs";
@@ -70,9 +66,9 @@ in {
config = mkIf cfg.enable {
wayland.windowManager.sway.config = {
- output = outputsByHostname;
+ output = outputs.${hostname};
- workspaceOutputAssign = workspacesByHostname;
+ workspaceOutputAssign = workspaces.${hostname};
};
};
}
diff --git a/home/modules/thunderbird/default.nix b/home/modules/thunderbird/default.nix
new file mode 100644
index 0000000..6e37ffa
--- /dev/null
+++ b/home/modules/thunderbird/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, config
+, ...
+}:
+
+with lib;
+
+let
+ cfg = config.module.thunderbird;
+in {
+ options = {
+ module.thunderbird.enable = mkEnableOption "Enables thunderbird";
+ };
+
+ config = mkIf cfg.enable {
+ programs.thunderbird = {
+ enable = true;
+
+ profiles = {
+ "main" = {
+ isDefault = true;
+
+ settings = {
+ "calendar.alarms.showmissed" = false;
+ "calendar.alarms.playsound" = false;
+ "calendar.alarms.show" = false;
+ };
+ };
+ };
+ };
+ };
+}
+
diff --git a/home/modules/waybar/default.nix b/home/modules/waybar/default.nix
index 3b822f6..d370afb 100644
--- a/home/modules/waybar/default.nix
+++ b/home/modules/waybar/default.nix
@@ -1,4 +1,5 @@
-{ pkgs
+{ self
+, pkgs
, config
, lib
, homeModules
@@ -35,7 +36,7 @@ in {
margin-right = 7;
modules-left = [
- "custom/nixlogo"
+ "image#nixlogo"
"${wm}/workspaces"
];
@@ -56,9 +57,15 @@ in {
# Logo
"custom/nixlogo" = {
- format = " ";
+ format = "";
tooltip = false;
- on-click = "rofi -show";
+ on-click = "${pkgs.wofi}/bin/wofi --show drun";
+ };
+
+ "image#nixlogo" = {
+ path = "${self}/assets/Nix_Logo.svg";
+ tooltip = false;
+ on-click = "${pkgs.wofi}/bin/wofi --show drun";
};
# Workspaces
@@ -73,6 +80,7 @@ in {
"sway/workspaces" = {
all-outputs = true;
+ disable-scroll = true;
};
# Clock & Calendar
@@ -88,7 +96,7 @@ in {
# Tray
tray = {
- icon-size = 18;
+ icon-size = 15;
show-passive-items = true;
spacing = 8;
};
@@ -142,7 +150,7 @@ in {
# Battery
battery = {
- format = "{icon} {capacity}%";
+ format = "{icon} {capacity}%";
format-charging = "{icon} {capacity}%";
format-icons = ["" "" "" "" ""];
format-plugged = " {power} W";
diff --git a/home/modules/waybar/style.css b/home/modules/waybar/style.css
index 1c1526a..92740c2 100644
--- a/home/modules/waybar/style.css
+++ b/home/modules/waybar/style.css
@@ -1,19 +1,5 @@
-@define-color background-alt rgba(137, 180, 250, 0.05);
-@define-color background-focus rgba(255, 255, 255, 0.1);
-@define-color border rgba(205, 214, 244, 0.2);
-@define-color red rgb( 243, 139, 168);
-@define-color orange rgb( 250, 179, 135);
-@define-color yellow rgb( 249, 226, 175 );
-@define-color green rgb( 166, 227, 161 );
-@define-color blue rgb( 137, 180, 250 );
-@define-color gray rgb( 108, 112, 134 );
-@define-color black rgb( 49, 50, 68 );
-@define-color white rgb( 205, 214, 244 );
-
* {
all: unset;
- /* font:
- 10pt "JetBrains Mono Nerd Font"*/
}
/* Button */
@@ -47,12 +33,12 @@ window#waybar {
/* Left Modules */
.modules-left {
- padding-left: 0.5rem;
+ padding-left: 0.2rem;
}
/* Right Modules */
.modules-right {
- padding-right: 0.5rem;
+ padding-right: 0.2rem;
}
/* Modules */
@@ -64,23 +50,16 @@ window#waybar {
#network,
#battery,
#custom-notification,
+#workspaces button,
+#custom-nixlogo,
+#image,
#clock {
color: @base05;
background: @base01;
border: 1px solid @base03;
border-radius: 5px;
- margin: 0.7rem 0.35rem;
- padding: 0.4rem 0.8rem 0.4rem 0.8rem;
-}
-
-#custom-nixlogo {
- color: @base05;
- background: @base01;
- border: 1px solid @base03;
- border-radius: 5px;
- margin: 0.7rem 0.35rem;
- padding: 0.4rem 0.45rem 0.4rem 0.7rem ;
- font: 10pt "JetBrains Mono Nerd Font";
+ margin: 0.35rem 0.25rem;
+ padding: 0.2rem 0.6rem 0.2rem 0.6rem;
}
.modules-left #workspaces button {
@@ -106,13 +85,7 @@ window#waybar {
}
#workspaces button {
- background: @base01;
- color: @base05;
- border: 1px solid @base03;
border-radius: 3px;
- padding: 0.4rem 0.8rem 0.4rem 0.8rem;
- margin-right: 0.8rem;
- margin: 0.7rem 0.35rem;
transition: 200ms linear;
}
@@ -122,7 +95,7 @@ window#waybar {
#workspaces button:hover {
background: lighter(@base05);
- color: @black;
+ color: @base00;
}
#workspaces button.empty {
@@ -157,17 +130,17 @@ window#waybar {
#workspaces button.active {
background: @base0D;
- color: @black;
+ color: @base00;
}
#workspaces button.active:hover {
background: lighter(@base0D);
- color: @black;
+ color: @base00;
}
#workspaces button.current_output.focused {
background: @base0D;
- color: @black;
+ color: @base00;
}
/* Systray */
@@ -229,7 +202,3 @@ menu menuitem:only-child {
}
}
-#network {
- padding: 0.4rem 1.0rem 0.4rem 0.8rem;
-}
-
diff --git a/home/modules/wofi/default.nix b/home/modules/wofi/default.nix
index 87aacf7..0aff498 100644
--- a/home/modules/wofi/default.nix
+++ b/home/modules/wofi/default.nix
@@ -17,6 +17,12 @@ in {
config = mkIf cfg.enable {
programs.wofi = {
enable = true;
+
+ settings = {
+ allow_images = true;
+ insensitive = true;
+ width = "30%";
+ };
};
};
}
diff --git a/home/users/maxmur/default.nix b/home/users/maxmur/default.nix
index 9766c77..b629a4d 100644
--- a/home/users/maxmur/default.nix
+++ b/home/users/maxmur/default.nix
@@ -15,16 +15,18 @@
};
module = {
- alacritty.enable = isWorkstation;
- vscode.enable = isWorkstation;
- doom-emacs.enable = isWorkstation;
- zathura.enable = isWorkstation;
- stylix.enable = isWorkstation;
+ alacritty.enable = isWorkstation;
+ vscode.enable = isWorkstation;
+ emacs.enable = isWorkstation;
+ zathura.enable = isWorkstation;
+ stylix.enable = isWorkstation;
- chrome.enable = isLinux && isWorkstation;
- firefox.enable = isLinux && isWorkstation;
- foot.enable = isLinux && isWorkstation;
- ssh.enable = isLinux && isWorkstation;
+ chrome.enable = isLinux && isWorkstation;
+ firefox.enable = isLinux && isWorkstation;
+ librewolf.enable = isLinux && isWorkstation;
+ thunderbird.enable = isLinux && isWorkstation;
+ foot.enable = isLinux && isWorkstation;
+ ssh.enable = isLinux && isWorkstation;
hyprland.enable = hyprlandEnable && isLinux && isWorkstation;
hyprlock.enable = hyprlandEnable && isLinux && isWorkstation;
@@ -35,6 +37,7 @@
hypridle.enable = wmEnable && isLinux && isWorkstation;
waybar.enable = wmEnable && isLinux && isWorkstation;
fuzzel.enable = wmEnable && isLinux && isWorkstation;
+ wofi.enable = wmEnable && isLinux && isWorkstation;
swaync.enable = wmEnable && isLinux && isWorkstation;
btop.enable = true;
@@ -43,7 +46,9 @@
fzf.enable = true;
htop.enable = true;
ripgrep.enable = true;
+ lazygit.enable = true;
neofetch.enable = true;
+ fastfetch.enable = true;
nvim.enable = true;
helix.enable = true;
password-store.enable = true;
diff --git a/home/users/maxmur/modules/impermanence/default.nix b/home/users/maxmur/modules/impermanence/default.nix
index 4dfbb96..cda0f40 100644
--- a/home/users/maxmur/modules/impermanence/default.nix
+++ b/home/users/maxmur/modules/impermanence/default.nix
@@ -39,6 +39,7 @@ in {
".kube"
".m2"
".mozilla"
+ ".librewolf"
".thunderbird"
".obsidian"
".openvpn"
@@ -58,6 +59,7 @@ in {
".config/nvim"
".config/syncthing"
".config/pulse"
+ ".local/share/chat.fluffy.fluffychat"
".local/share/zoxide"
".local/share/fish"
".local/share/nix"
diff --git a/home/users/maxmur/modules/packages/default.nix b/home/users/maxmur/modules/packages/default.nix
index d0b8849..0a70ef7 100644
--- a/home/users/maxmur/modules/packages/default.nix
+++ b/home/users/maxmur/modules/packages/default.nix
@@ -41,11 +41,6 @@ in {
# Text Editors
obsidian
- # Security
- semgrep
- grype
- syft
-
# Fonts
(nerdfonts.override { fonts = [ "JetBrainsMono" "UbuntuMono" "Iosevka" ]; })
corefonts
@@ -60,11 +55,10 @@ in {
kubernetes-helm
ansible
ansible-lint
- terraform
- vagrant
# Chats
telegram-desktop
+ fluffychat
vesktop
# Office
diff --git a/home/users/maxmur/modules/xdg/default.nix b/home/users/maxmur/modules/xdg/default.nix
index e4bc657..8b79754 100644
--- a/home/users/maxmur/modules/xdg/default.nix
+++ b/home/users/maxmur/modules/xdg/default.nix
@@ -20,11 +20,11 @@ in {
"text/markdown" = "nvim.desktop";
"text/plain" = "nvim.desktop";
- "text/html" = "firefox.desktop";
- "x-scheme-handler/http" = "firefox.desktop";
- "x-scheme-handler/https" = "firefox.desktop";
- "x-scheme-handler/about" = "firefox.desktop";
- "x-scheme-handler/unknown" = "firefox.desktop";
+ "text/html" = "librewolf.desktop";
+ "x-scheme-handler/http" = "librewolf.desktop";
+ "x-scheme-handler/https" = "librewolf.desktop";
+ "x-scheme-handler/about" = "librewolf.desktop";
+ "x-scheme-handler/unknown" = "librewolf.desktop";
"image/png" = "org.gnome.eog.desktop";
"image/jpeg" = "org.gnome.eog.desktop";
diff --git a/modules/nix/default.nix b/modules/nix/default.nix
index 38fa6e6..3c0298b 100644
--- a/modules/nix/default.nix
+++ b/modules/nix/default.nix
@@ -31,6 +31,8 @@ in {
"electron-27.3.11"
"electron-25.9.0"
"electron-19.1.9"
+ "fluffychat-linux-1.20.0"
+ "olm-3.2.16"
];
};
diff --git a/modules/stylix/default.nix b/modules/stylix/default.nix
index abf27e4..b8819cd 100644
--- a/modules/stylix/default.nix
+++ b/modules/stylix/default.nix
@@ -58,7 +58,7 @@ in {
monospace = {
inherit (config.stylix.fonts.serif) package;
- name = "Iosevka Term";
+ name = "Iosevka Nerd Font Mono";
};
emoji = config.stylix.fonts.serif;
diff --git a/system/default.nix b/system/default.nix
index 31960d9..641b3de 100644
--- a/system/default.nix
+++ b/system/default.nix
@@ -21,6 +21,7 @@
inputs.lanzaboote.nixosModules.lanzaboote
inputs.chaotic.nixosModules.default
inputs.nix-topology.nixosModules.default
+ inputs.nur.nixosModules.nur
"${commonModules}"
"${systemModules}"
diff --git a/system/machine/nbox/default.nix b/system/machine/nbox/default.nix
index 2bd5985..724082d 100644
--- a/system/machine/nbox/default.nix
+++ b/system/machine/nbox/default.nix
@@ -1,11 +1,10 @@
-{ hyprlandEnable
-, ...
-}:
+_:
{
module = {
sound.enable = true;
lanzaboote.enable = true;
+ bluetooth.enable = true;
locales.enable = true;
network.enable = true;
timedate.enable = true;
@@ -15,6 +14,7 @@
stylix.enable = true;
minimal.enable = true;
nixos-ng.enable = true;
+ plymouth.enable = true;
chaotic = {
enable = true;
@@ -36,11 +36,9 @@
syncthing.enable = true;
udev.enable = true;
zram.enable = true;
- greetd-tui.enable = true;
+ greetd.enable = true;
ollama.enable = true;
netbird.enable = true;
-
- hyprland.enable = hyprlandEnable;
};
programs = {
diff --git a/system/machine/pcbox/default.nix b/system/machine/pcbox/default.nix
index 719068e..3086a77 100644
--- a/system/machine/pcbox/default.nix
+++ b/system/machine/pcbox/default.nix
@@ -1,5 +1,4 @@
-{ hyprlandEnable
-, config
+{ config
, ...
}:
@@ -7,6 +6,7 @@
module = {
sound.enable = true;
boot.enable = true;
+ bluetooth.enable = true;
locales.enable = true;
network.enable = true;
timedate.enable = true;
@@ -16,6 +16,7 @@
stylix.enable = true;
minimal.enable = true;
nixos-ng.enable = true;
+ plymouth.enable = true;
chaotic = {
enable = true;
@@ -29,17 +30,15 @@
};
services = {
- bolt.enable = true;
- fwupd.enable = true;
- polkit.enable = true;
- printing.enable = true;
- syncthing.enable = true;
- udev.enable = true;
- greetd-tui.enable = true;
- qmk.enable = true;
- netbird.enable = true;
-
- hyprland.enable = hyprlandEnable;
+ bolt.enable = true;
+ fwupd.enable = true;
+ polkit.enable = true;
+ printing.enable = true;
+ syncthing.enable = true;
+ udev.enable = true;
+ greetd.enable = true;
+ qmk.enable = true;
+ netbird.enable = true;
ollama = {
enable = true;
diff --git a/system/machine/pcbox/modules/hardware/network/default.nix b/system/machine/pcbox/modules/hardware/network/default.nix
index 986c296..f066169 100644
--- a/system/machine/pcbox/modules/hardware/network/default.nix
+++ b/system/machine/pcbox/modules/hardware/network/default.nix
@@ -5,7 +5,7 @@ _:
enable = true;
networks.eth0 = {
- matchConfig.Name = "eth0";
+ matchConfig.Name = "enp0s31f6";
address = [ "192.168.1.50/24" ];
dns = [ "192.168.1.8" ];
};
diff --git a/system/machine/rasp/modules/hardware/default.nix b/system/machine/rasp/modules/hardware/default.nix
index dc7b401..f173a87 100644
--- a/system/machine/rasp/modules/hardware/default.nix
+++ b/system/machine/rasp/modules/hardware/default.nix
@@ -34,7 +34,9 @@ in {
libraspberrypi
];
- services.openssh.enable = true;
+ services.openssh = {
+ enable = true;
+ };
hardware.enableRedistributableFirmware = true;
}
diff --git a/system/machine/rasp/modules/hardware/network/default.nix b/system/machine/rasp/modules/hardware/network/default.nix
index 410400b..bfa1cea 100644
--- a/system/machine/rasp/modules/hardware/network/default.nix
+++ b/system/machine/rasp/modules/hardware/network/default.nix
@@ -25,6 +25,7 @@
53
80
443
+ 3000
4224
5335
8053
diff --git a/system/machine/rasp/modules/temp-control/default.nix b/system/machine/rasp/modules/temp-control/default.nix
index 08a2323..db1eda2 100644
--- a/system/machine/rasp/modules/temp-control/default.nix
+++ b/system/machine/rasp/modules/temp-control/default.nix
@@ -57,8 +57,8 @@
def main() -> int:
try:
- tempOn = 60
- controlPin = 14
+ tempOn = 75
+ controlPin = 512 + 14
pinState = False
try:
subprocess.run(f"echo {controlPin} > /sys/class/gpio/export", shell=True, check=True)
diff --git a/system/modules/bluetooth/default.nix b/system/modules/bluetooth/default.nix
new file mode 100644
index 0000000..b1985bd
--- /dev/null
+++ b/system/modules/bluetooth/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, config
+, ...
+}:
+
+with lib;
+
+let
+ cfg = config.module.bluetooth;
+in {
+ options = {
+ module.bluetooth = {
+ enable = mkEnableOption "Enables bluetooth";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ services.blueman.enable = true;
+
+ hardware.bluetooth = {
+ enable = true;
+ powerOnBoot = true;
+ };
+ };
+}
+
diff --git a/system/modules/locales/default.nix b/system/modules/locales/default.nix
index 7574f76..99193e9 100644
--- a/system/modules/locales/default.nix
+++ b/system/modules/locales/default.nix
@@ -16,20 +16,7 @@ in {
# Locale settings
i18n = {
defaultLocale = "en_US.UTF-8";
-
- extraLocaleSettings = {
- LC_ALL = "en_US.UTF-8";
- LC_CTYPE = "en_US.UTF-8";
- LC_ADDRESS = "en_US.UTF-8";
- LC_IDENTIFICATION = "en_US.UTF-8";
- LC_MEASUREMENT = "en_US.UTF-8";
- LC_MONETARY = "en_US.UTF-8";
- LC_NAME = "en_US.UTF-8";
- LC_NUMERIC = "en_US.UTF-8";
- LC_PAPER = "en_US.UTF-8";
- LC_TELEPHONE = "en_US.UTF-8";
- LC_TIME = "en_US.UTF-8";
- };
+ supportedLocales = [ "all" ];
};
};
}
diff --git a/system/modules/network/default.nix b/system/modules/network/default.nix
index 0fa59c0..1f373b6 100644
--- a/system/modules/network/default.nix
+++ b/system/modules/network/default.nix
@@ -15,6 +15,7 @@ in {
config = mkIf cfg.enable {
systemd.services.NetworkManager-wait-online.enable = false;
+ systemd.services.systemd-networkd-wait-online.enable = mkForce false;
networking = {
networkmanager = {
diff --git a/system/modules/nixos-ng/default.nix b/system/modules/nixos-ng/default.nix
index 8e9b91d..345f5cc 100644
--- a/system/modules/nixos-ng/default.nix
+++ b/system/modules/nixos-ng/default.nix
@@ -16,17 +16,23 @@ in {
config = mkIf cfg.enable {
boot.initrd.systemd.enable = true;
- # systemd.sysusers.enable = true; ### break
- system.switch = {
- enable = false;
- enableNg = true;
+ services = {
+ userborn.enable = true;
+ dbus.implementation = "broker";
};
- # system.etc.overlay = {
- # enable = true;
- # mutable = false;
- # };
+ system = {
+ switch = {
+ enable = false;
+ enableNg = true;
+ };
+
+ /* etc.overlay = {
+ enable = true;
+ mutable = true;
+ }; */
+ };
};
}
diff --git a/system/modules/plymouth/default.nix b/system/modules/plymouth/default.nix
new file mode 100644
index 0000000..044efb6
--- /dev/null
+++ b/system/modules/plymouth/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, config
+, ...
+}:
+
+with lib;
+
+let
+ cfg = config.module.plymouth;
+in {
+ options = {
+ module.plymouth = {
+ enable = mkEnableOption "Enables plymouth";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ boot.plymouth = {
+ enable = true;
+ };
+ };
+}
+
diff --git a/system/modules/programs/gnupg/default.nix b/system/modules/programs/gnupg/default.nix
index 40f47b1..6f9fdff 100644
--- a/system/modules/programs/gnupg/default.nix
+++ b/system/modules/programs/gnupg/default.nix
@@ -16,7 +16,6 @@ in {
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
- # pinentryPackage = lib.mkForce pkgs.pinentry-qt;
};
};
}
diff --git a/system/modules/programs/systemPackages/default.nix b/system/modules/programs/systemPackages/default.nix
index a368930..9a9385e 100644
--- a/system/modules/programs/systemPackages/default.nix
+++ b/system/modules/programs/systemPackages/default.nix
@@ -23,7 +23,6 @@ in {
environment.systemPackages = with pkgs; [
# Utils
git
- home-manager
nvd
nix-output-monitor
curl
@@ -60,8 +59,6 @@ in {
cacert
] ++ optionals isWorkstation [
# Themes
- orchis-theme
- vimix-cursors
tela-circle-icon-theme
# Hardware
@@ -76,7 +73,6 @@ in {
# Utils
dconf-editor
- grim
];
};
}
diff --git a/system/modules/security/default.nix b/system/modules/security/default.nix
index 0aa7489..e641e14 100644
--- a/system/modules/security/default.nix
+++ b/system/modules/security/default.nix
@@ -18,19 +18,18 @@ in {
config = mkIf cfg.enable {
security = {
- sudo.enable = true;
- pam.services.swaylock = {};
+ sudo.enable = false;
- doas = {
+ pam.services = {
+ gtklock = {};
+ swaylock = {};
+ hyprlock = {};
+ };
+
+ sudo-rs = {
enable = true;
- extraRules = [
- {
- groups = [ "wheel" ];
- noPass = false;
- keepEnv = true;
- persist = true;
- }
- ];
+ execWheelOnly = true;
+ wheelNeedsPassword = true;
};
};
@@ -106,7 +105,7 @@ in {
# Ignore outgoing ICMP redirects (this is ipv4 only)
"net.ipv4.conf.all.send_redirects" = false;
"net.ipv4.conf.default.send_redirects" = false;
- } // optionals cfg.disableIPV6 {
+ } // optionalAttrs cfg.disableIPV6 {
# Disable ipv6
"net.ipv6.conf.all.disable_ipv6" = true;
"net.ipv6.conf.default.disable_ipv6" = true;
diff --git a/system/modules/services/greetd-tui/default.nix b/system/modules/services/greetd/default.nix
similarity index 73%
rename from system/modules/services/greetd-tui/default.nix
rename to system/modules/services/greetd/default.nix
index 8aad4c9..f780e09 100644
--- a/system/modules/services/greetd-tui/default.nix
+++ b/system/modules/services/greetd/default.nix
@@ -10,17 +10,17 @@
with lib;
let
- cfg = config.module.services.greetd-tui;
+ cfg = config.module.services.greetd;
cmd = if wm == "hyprland"
then "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/Hyprland"
else if wm == "sway"
- then "${pkgs.swayfx}/bin/sway"
+ then "${pkgs.sway}/bin/sway"
else "";
in {
options = {
- module.services.greetd-tui = {
- enable = mkEnableOption "Enable greetd-tui";
+ module.services.greetd = {
+ enable = mkEnableOption "Enable greetd";
};
};
@@ -29,9 +29,14 @@ in {
enableGnomeKeyring = true;
};
+ programs.regreet = {
+ enable = true;
+ cageArgs = [ "-s" "-m" "last" ];
+ };
+
services.greetd = {
enable = true;
- vt = 2;
+ vt = 7;
settings = {
default_session = {
diff --git a/system/modules/users/default.nix b/system/modules/users/default.nix
index 6102d17..d7468ef 100644
--- a/system/modules/users/default.nix
+++ b/system/modules/users/default.nix
@@ -19,15 +19,22 @@ in {
users = {
mutableUsers = false;
+ groups = {
+ ${username} = {
+ gid = 1000;
+ };
+ };
+
users = {
${username} = {
- description = "${username}";
- home = "/home/${username}";
- shell = pkgs.fish;
+ uid = 1000;
+ home = "/home/${username}";
+ shell = pkgs.fish;
+ group = "${username}";
+ createHome = true;
+ description = "${username}";
+ isSystemUser = true;
hashedPasswordFile = "${self}/secrets/hashes/${username}.hash";
- createHome = true;
- group = "users";
- isSystemUser = true;
extraGroups = [
"audio"