1
0
Fork 0
mirror of https://git.sr.ht/~azikx/karbur synced 2024-10-30 05:26:20 +00:00

update 

This commit is contained in:
azikx 2024-10-18 16:16:37 +09:00
commit 5716264ab0
102 changed files with 7963 additions and 0 deletions

21
LICENSE Normal file
View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 Parasrah
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

67
README.md Normal file
View file

@ -0,0 +1,67 @@
<div align="center">
<h1>❄️【 NIXOS DOTFILES 】❄️</h1>
</div>
<details>
<summary>Software</summary>
| Name | Desciption |
| ------------- | ------------- |
| Desktop utilites |
| [hyprland](https://github.com/hyprwm/hyprland) | Best window manager |
| [kitty](https://github.com/kovidgoyal/kitty) | Very good terminal with image preview |
| [foot](https://codeberg.org/dnkl/foot) | Simplest terminal |
| [grimblast](https://github.com/hyprwm/contrib/tree/main/grimblast) | Screenshoter |
| [nwg-drawer](https://github.com/nwg-piotr/nwg-drawer) | Gnome-like launcher |
| [waybar](https://github.com/Alexays/Waybar) | Bar for waylands |
| CLI utilites |
| [fish](https://github.com/fish-shell/fish-shell) | Just working shell |
| [fastfetch](https://github.com/fastfetch-cli/fastfetch) | Fetch for be cool rices |
| [yazi](https://github.com/sxyazi/yazi) | Rusted file-manager great!!! |
| [joshuto](https://github.com/kamiyaa/joshuto) | Rusted file-manager |
| [helix](https://github.com/helix-editor/helix) | Best text editor with vi-like keys |
| [micro](https://github.com/zyedidia/micro) | Simplest fucking text editor |
| [cava](https://github.com/karlstav/cava) | Sound visualizer |
| [eza](https://github.com/eza-community/eza) | Rusted ls with icons |
| [lutgen](https://github.com/ozwaldorf/lutgen-rs) | Rusted lut |
| [nvtop](https://github.com/Syllo/nvtop) | Top for GPU |
| [btop](https://github.com/aristocratos/btop) | Very informated top |
| [doas](https://wiki.archlinux.org/title/Doas) | sudo from bsd systems |
| GUI utilites |
| [firefox](https://github.com/mozilla) | Customizable browser |
| [bottles](https://github.com/bottlesdevs/Bottles) | Wine launcher |
| [nemo](https://github.com/linuxmint/nemo) | File manager from Cinnamon |
| [obsidian](https://obsidian.md) | Markdown |
| [onlyoffice](https://github.com/ONLYOFFICE/DesktopEditors) | Office suite |
| [prismlauncher](https://github.com/PrismLauncher/PrismLauncher) | Fuckm all my homies plays this shit man |
| [vesktop](https://github.com/Vencord/Vesktop) | Wayland Discord client |
| [qbittorrent](https://github.com/qbittorrent/qBittorrent) | Torrents))))) hahah)))) |
| [ayugram](https://github.com/AyuGram/AyuGramDesktop) | Telegram client with ghost mode |
| [file-Roller](https://gitlab.gnome.org/GNOME/file-roller) | Archiver |
| [mpv](https://github.com/mpv-player/mpv) | Simplest video player |
| [anime4k](https://github.com/bloc97/Anime4K) | Anime upscaler |
| [swayimg](https://github.com/artemsen/swayimg) | Simple image viewer |
| Misc |
| [nix-tree](https://github.com/utdemir/nix-tree) | Tree for your generations&derivations |
| [prefetch-github](https://github.com/seppeljordan/nix-prefetch-github) | Tool for fetching github repo |
| [tenki](https://github.com/ckaznable/tenki) | TUI clock with effects |
| [confetty](https://github.com/maaslalani/confetty) | Confetty and fireworks in terminal |
| [jetbrains](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/JetBrainsMono) | Nerded JetBrains |
- IDK WHAT ALSO DUDES
</details>
## [WALLPAPERS](https://git.sr.ht/~azikx/wallpapers) & [USERSTYLES](https://git.sr.ht/~azikx/userstyles)
![aye](https://git.sr.ht/~azikx/wallpapers/blob/main/dotfiles/fetch.png)
![ауе](https://git.sr.ht/~azikx/wallpapers/blob/main/dotfiles/furryfox.png)
![ауе](https://git.sr.ht/~azikx/wallpapers/blob/main/dotfiles/top.png)
![ауе](https://git.sr.ht/~azikx/wallpapers/blob/main/dotfiles/yazi.png)
#### ENGLISH OR SPANISH??? WHOEVER MOVES IS GAY)))))))
#### THANKS FOR [hezaki](https://codeberg.org/Hezaki/Touka/), HONORED BROTHER, FOR THE EMPEROR

989
flake.lock Normal file
View file

@ -0,0 +1,989 @@
{
"nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1728326504,
"narHash": "sha256-dQXAj+4d6neY7ldCiH6gNym3upP49PVxRzEPxXlD9Aw=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "65dd97b5d21e917295159bbef1d52e06963f4eb0",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"ayugram-desktop": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1728599021,
"narHash": "sha256-smnxp3ceDH/DFIy0ANm8E1WC78UoC0LKTtl90EynJjc=",
"owner": "kaeeraa",
"repo": "ayugram-desktop",
"rev": "f126f1529ffd818905232ad6054d21999c2a2cdd",
"type": "github"
},
"original": {
"owner": "kaeeraa",
"ref": "release",
"repo": "ayugram-desktop",
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1708890466,
"narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "665b3c6748534eb766c777298721cece9453fdae",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1622559957,
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1725860795,
"narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "7f795bf75d38e0eea9fed287264067ca187b88a9",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1716150083,
"narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"type": "github"
}
},
"firefox-addons": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"dir": "pkgs/firefox-addons",
"lastModified": 1728792245,
"narHash": "sha256-u3DIFQ26jtO9kgxSXMVYYdjSF8VArR0jA0N7ns1wWoo=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "8064396aa8c2491dcecbedf9c71140936f032056",
"type": "gitlab"
},
"original": {
"dir": "pkgs/firefox-addons",
"owner": "rycee",
"repo": "nur-expressions",
"type": "gitlab"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"locked": {
"lastModified": 1629284811,
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": [
"stylix",
"systems"
]
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1689549921,
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"lastModified": 1713702291,
"narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934",
"type": "github"
},
"original": {
"owner": "GNOME",
"ref": "46.1",
"repo": "gnome-shell",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1728726232,
"narHash": "sha256-8ZWr1HpciQsrFjvPMvZl0W+b0dilZOqXPoKa2Ux36bc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d57112db877f07387ce7104b5ac346ede556d2d7",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1724435763,
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1727821604,
"narHash": "sha256-hNw5J6xatedqytYowx0mJKgctjA4lQARZFdgnzM2RpM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "d60e1e01e6e6633ef1c87148b9137cc1dd39263d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprfocus": {
"inputs": {
"hyprland": [
"hyprland"
],
"nix-filter": "nix-filter"
},
"locked": {
"lastModified": 1717066948,
"narHash": "sha256-R1ZgNhQkoS6ZHRRKB+j5vYgRANfYO//sHbrD7moUTx0=",
"owner": "pyt0xic",
"repo": "hyprfocus",
"rev": "aa7262d3a4564062f97b9cfdad47fd914cfb80f2",
"type": "github"
},
"original": {
"owner": "pyt0xic",
"repo": "hyprfocus",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_2",
"xdph": "xdph"
},
"locked": {
"lastModified": 1728752206,
"narHash": "sha256-r5xU/LqU4TrUOIouhYqrTZc1VY1zLQOOzbLsFCDlfpI=",
"ref": "refs/heads/main",
"rev": "1822707c7e7394ce8c7572f2fe890763a307f499",
"revCount": 5332,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
},
"original": {
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1728345020,
"narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "a7c183800e74f337753de186522b9017a07a8cee",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1728168612,
"narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1727300645,
"narHash": "sha256-OvAtVLaSRPnbXzOwlR1fVqCXR7i+ICRX3aPMCdIiv+c=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "3f5293432b6dc6a99f26aca2eba3876d2660665c",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1726874836,
"narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "500c81a9e1a76760371049a8d99e008ea77aa59e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"nix-filter": {
"locked": {
"lastModified": 1694857738,
"narHash": "sha256-bxxNyLHjhu0N8T3REINXQ2ZkJco0ABFPn6PIe2QUfqo=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "41fd48e00c22b4ced525af521ead8792402de0ea",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1728018373,
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1720386169,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1728627514,
"narHash": "sha256-r+SF9AnHrTg+bk6YszoKfV9lgyw+yaFUQe0dOjI0Z2o=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c505ebf777526041d792a49d5f6dd4095ea391a7",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1728018373,
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1728492678,
"narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1725194671,
"narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b833ff01a0d694b910daca6e2ff4a3f26dee478c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1722415718,
"narHash": "sha256-5US0/pgxbMksF92k1+eOa8arJTJiPvsdZj9Dl+vJkM4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c3392ad349a5227f4a3464dce87bcc5046692fce",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1728794320,
"narHash": "sha256-5Dm+961fOsneg5nX6gBCHPHMdwF6/JbV5p0Zvmi6ybU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "15bee9bde462e0e47e7d34c78d50bb0cc718c6e4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1728092656,
"narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "1211305a5b237771e13fcca0c51e60ad47326a9a",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"ayugram-desktop": "ayugram-desktop",
"firefox-addons": "firefox-addons",
"home-manager": "home-manager",
"hyprfocus": "hyprfocus",
"hyprland": "hyprland",
"nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable_2",
"nur": "nur",
"spicetify-nix": "spicetify-nix",
"stylix": "stylix",
"walls": "walls",
"yazi": "yazi"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"yazi",
"nixpkgs"
]
},
"locked": {
"lastModified": 1721441897,
"narHash": "sha256-gYGX9/22tPNeF7dR6bWN5rsrpU4d06GnQNNgZ6ZiXz0=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "b7996075da11a2d441cfbf4e77c2939ce51506fd",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "b7996075da11a2d441cfbf4e77c2939ce51506fd",
"type": "github"
}
},
"spicetify-nix": {
"inputs": {
"flake-compat": "flake-compat_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1728792969,
"narHash": "sha256-TwQNBUFNmvr7rSOH5onI2Rj6FoJ6wWzdnMH6P4mwyps=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "1f3c6931100c64f6747d47f8a7b8d7a75fc5844e",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "spicetify-nix",
"type": "github"
}
},
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_3",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_4",
"systems": "systems_3",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux"
},
"locked": {
"lastModified": 1728640680,
"narHash": "sha256-JH2+RXJNooFtZIN6ZhaGZWn2KChMrso4H7Fkp1Ujrdo=",
"owner": "danth",
"repo": "stylix",
"rev": "f95022bb6e74f726a87975aec982a5aa9fad8691",
"type": "github"
},
"original": {
"owner": "danth",
"repo": "stylix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"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_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_4": {
"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": {
"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": 1716423189,
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"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"
}
},
"walls": {
"flake": false,
"locked": {
"lastModified": 1728910152,
"narHash": "sha256-oVCgidnAX+DeDbh9xO3csjtIXdRIlDcU7eUFrKZExUg=",
"ref": "main",
"rev": "4204be45bd4348bb40a9cb65bff4cfe0b09fa442",
"revCount": 5,
"type": "git",
"url": "https://git.pub.solar/azikx/wallpapers"
},
"original": {
"ref": "main",
"type": "git",
"url": "https://git.pub.solar/azikx/wallpapers"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1728166987,
"narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"yazi": {
"inputs": {
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_5",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1728738312,
"narHash": "sha256-4LckVgl1UyyU+1HePzl9Xr0qkCqtF2ZFX+NFoimm66U=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "13e307eab27cdea1ddbfb97d62c24daf48ce7938",
"type": "github"
},
"original": {
"owner": "sxyazi",
"repo": "yazi",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

54
flake.nix Normal file
View file

@ -0,0 +1,54 @@
{
outputs = { nixpkgs, home-manager, ... }@inputs:
let
nxsys = nixpkgs.lib.nixosSystem;
hmsys = home-manager.lib.homeManagerConfiguration;
in {
nixosConfigurations.karbur = nxsys {
specialArgs = { inherit inputs; };
modules = [ ./host ];
};
homeConfigurations.dragora = hmsys {
pkgs = nixpkgs.legacyPackages."x86_64-linux";
extraSpecialArgs = { inherit inputs; };
modules = [ ./home ];
};
};
inputs = {
# REPOSITORIES NIXPKGS
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
# ONE LINE SOFTWARE
ayugram-desktop.url = "github:kaeeraa/ayugram-desktop/release?submodules=1";
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
stylix.url = "github:danth/stylix";
yazi.url = "github:sxyazi/yazi";
# TWO LINE SOFTWARE
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs";
};
# HYPRlAND
hyprfocus = {
url = "github:pyt0xic/hyprfocus";
inputs.hyprland.follows = "hyprland";
};
walls = {
url = "git+https://git.pub.solar/azikx/wallpapers?ref=main";
flake = false;
};
};
}

14
home/default.nix Normal file
View file

@ -0,0 +1,14 @@
{
imports = [ ./window-managers ./programs ./themes ];
home = {
username = "dragora";
homeDirectory = "/home/dragora";
stateVersion = "24.05";
};
manual = {
html.enable = false;
json.enable = false;
manpages.enable = false;
};
}

View file

@ -0,0 +1,11 @@
{ ... }: {
programs.btop = {
enable = true;
settings = {
color_theme = "TTY";
theme_background = true;
vim_keys = true;
rounded_corners = true;
};
};
}

View file

@ -0,0 +1,22 @@
{ config, ... }: {
programs.cava = {
enable = true;
settings = {
general = {
# framerate = 24;
# bars = 0;
# bar_width = 1;
# bar_spacing = 1;
};
color = with config.lib.stylix.colors; {
gradient = 1;
gradient_color_1 = "'#${base0E}'";
gradient_color_2 = "'#${base0D}'";
gradient_color_3 = "'#${base0C}'";
gradient_color_4 = "'#${base0B}'";
gradient_color_5 = "'#${base0A}'";
gradient_color_6 = "'#${base09}'";
};
};
};
}

View file

@ -0,0 +1,16 @@
{
imports = [
./pkgs.nix
./eza
./fzf
./fastfetch
./zoxide
./cava
./btop
./micro
./git
./helix
./yazi
];
}

View file

@ -0,0 +1,7 @@
{ ... }: {
programs.eza = {
enable = true;
icons = true;
extraOptions = [ "--group-directories-first" ];
};
}

View file

@ -0,0 +1,67 @@
{ ... }: {
programs.fastfetch = {
enable = true;
settings = {
logo = {
type = "builtin";
source = "nixos_small";
padding = {
left = 1;
right = 2;
top = 1;
};
color = {
"1" = "cyan";
"2" = "blue";
};
};
display = {
separator = ": ";
color = {
keys = "cyan";
title = "blue";
};
size = {
ndigits = 2;
maxPrefix = "GB";
};
};
modules = [
{
type = "title";
color = {
user = "cyan";
at = "cyan";
host = "cyan";
};
}
{
type = "uptime";
key = "UPT ";
format = "{2} hours, {3} mins";
}
{
type = "packages";
key = "PKG ";
}
{
type = "shell";
key = "SHL ";
format = "{6} {4}";
}
{
type = "wm";
key = "DWM ";
format = "{2} / {3}";
}
{
type = "memory";
key = "MEM ";
format = "{} / {}";
}
{ type = "break"; }
{ type = "colors"; }
];
};
};
}

View file

@ -0,0 +1,8 @@
{ ... }: {
programs.fzf = {
enable = true;
# defaultOptions = [
# "--margin 1"
# ];
};
}

View file

@ -0,0 +1,12 @@
{ ... }: {
programs.git = {
enable = true;
userName = "azikx";
userEmail = "irongidra@gmail.com";
extraConfig = {
color.ui = true;
init.defaultBranch = "main";
safe.directory = "/home/dragora/.flake";
};
};
}

View file

@ -0,0 +1,54 @@
{ ... }: {
imports = [ ./theme.nix ./languages.nix ];
programs.helix = {
enable = true;
defaultEditor = true;
settings = {
theme = "themo";
editor = {
line-number = "relative";
mouse = true;
cursorline = true;
auto-completion = true;
completion-replace = true;
auto-info = true;
auto-pairs = true;
true-color = true;
color-modes = true;
bufferline = "multiple";
indent-guides = {
render = true;
character = "»";
};
cursor-shape = {
insert = "bar";
normal = "block";
select = "underline";
};
soft-wrap = {
enable = true;
max-wrap = 25;
wrap-indicator = " ";
};
statusline = {
left = [ "mode" "spinner" "file-name" "read-only-indicator" ];
center = [ ];
right = [
"file-type"
"separator"
"spacer"
"position-percentage"
"position"
"separator"
"total-line-numbers"
];
separator = "|";
mode.normal = "NORMAL";
mode.insert = "INSERT";
mode.select = "SELECT";
};
file-picker = { hidden = false; };
};
};
};
}

View file

@ -0,0 +1,34 @@
{ pkgs, ... }: {
programs.helix.languages = {
language = [{
name = "nix";
language-servers = [ "nixd" "nil" ];
indent = {
tab-width = 2;
unit = " ";
};
auto-format = true;
formatter.command = "${pkgs.nixfmt-classic}/bin/nixfmt";
}];
language-server = { nixd = { command = "nixd"; }; };
};
# LSP PACKGAES
home.packages = with pkgs; [
# NIX LSP
nil
nixd
# MARKDOWN LSP
marksman
markdown-oxide
# OTHER LSP
yaml-language-server
vscode-langservers-extracted
rust-analyzer
python312Packages.python-lsp-server
lua-language-server
taplo
];
}

View file

@ -0,0 +1,171 @@
{ config, lib, ... }: {
programs.helix.themes = with config.lib.stylix.colors;
lib.mkForce {
themo = let
BASE00 = "#${base00}";
BASE01 = "#${base01}";
BASE02 = "#${base02}";
BASE03 = "#${base03}";
BASE04 = "#${base04}";
BASE05 = "#${base05}";
BASE06 = "#${base06}";
BASE07 = "#${base07}";
BASE08 = "#${base08}";
BASE09 = "#${base09}";
BASE0A = "#${base0A}";
BASE0B = "#${base0B}";
BASE0C = "#${base0C}";
BASE0D = "#${base0D}";
BASE0E = "#${base0E}";
BASE0F = "#${base0F}";
in {
"attributes" = BASE09;
"comment" = {
fg = BASE03;
modifiers = [ "italic" ];
};
"constant" = BASE09;
"constant.character.escape" = BASE0C;
"constant.numeric" = BASE09;
"constructor" = BASE0D;
"debug" = BASE03;
"diagnostic" = { modifiers = [ "underlined" ]; };
"diff.delta" = BASE09;
"diff.minus" = BASE08;
"diff.plus" = BASE0B;
"error" = BASE08;
"function" = BASE0D;
"hint" = BASE03;
"info" = BASE0D;
"keyword" = BASE0E;
"label" = BASE0E;
"namespace" = BASE0E;
"operator" = BASE05;
"special" = BASE0D;
"string" = BASE0B;
"type" = BASE0A;
"variable" = BASE08;
"variable.other.member" = BASE0B;
"warning" = BASE09;
"markup.bold" = {
fg = BASE0A;
modifiers = [ "bold" ];
};
"markup.heading" = BASE0D;
"markup.italic" = {
fg = BASE0E;
modifiers = [ "italic" ];
};
"markup.link.text" = BASE08;
"markup.link.url" = {
fg = BASE09;
modifiers = [ "underlined" "italic" ];
};
"markup.list" = BASE08;
"markup.quote" = BASE0C;
"markup.raw" = BASE0B;
"markup.strikethrough" = { modifiers = [ "crossed_out" ]; };
"diagnostic.hint" = { underline = { style = "curl"; }; };
"diagnostic.info" = { underline = { style = "curl"; }; };
"diagnostic.warning" = { underline = { style = "curl"; }; };
"diagnostic.error" = { underline = { style = "curl"; }; };
"ui.background" = { bg = BASE00; };
"ui.bufferline.active" = {
fg = BASE00;
bg = BASE0E;
modifiers = [ "bold" ];
};
"ui.bufferline" = {
fg = BASE04;
bg = BASE00;
};
"ui.cursor" = {
fg = BASE0A;
modifiers = [ "reversed" ];
};
"ui.cursor.insert" = {
fg = BASE0A;
modifiers = [ "reversed" ];
};
"ui.cursorline.primary" = {
fg = BASE05;
bg = BASE01;
};
"ui.cursor.match" = {
fg = BASE0A;
modifiers = [ "reversed" ];
};
"ui.cursor.select" = {
fg = BASE0A;
modifiers = [ "reversed" ];
};
"ui.gutter" = { bg = BASE00; };
"ui.help" = {
fg = BASE06;
bg = BASE01;
};
"ui.linenr" = {
fg = BASE03;
bg = BASE00;
};
"ui.linenr.selected" = {
fg = BASE04;
bg = BASE01;
modifiers = [ "bold" ];
};
"ui.menu" = {
fg = BASE05;
bg = BASE01;
};
"ui.menu.scroll" = {
fg = BASE03;
bg = BASE01;
};
"ui.menu.selected" = {
fg = BASE01;
bg = BASE04;
};
"ui.popup" = { bg = BASE01; };
"ui.selection" = { bg = BASE02; };
"ui.selection.primary" = { bg = BASE02; };
"ui.statusline" = {
fg = BASE04;
bg = BASE01;
};
"ui.statusline.inactive" = {
bg = BASE01;
fg = BASE03;
modifiers = [ "bold" ];
};
"ui.statusline.insert" = {
fg = BASE00;
bg = BASE0B;
modifiers = [ "bold" ];
};
"ui.statusline.normal" = {
fg = BASE00;
bg = BASE0D;
modifiers = [ "bold" ];
};
"ui.statusline.select" = {
fg = BASE00;
bg = BASE0F;
modifiers = [ "bold" ];
};
"ui.text" = BASE05;
"ui.text.focus" = BASE05;
"ui.virtual.indent-guide" = { fg = BASE03; };
"ui.virtual.wrap" = { fg = BASE03; };
"ui.virtual.inlay-hint" = { fg = BASE03; };
"ui.virtual.ruler" = { bg = BASE01; };
"ui.virtual.jump-label" = {
fg = BASE0A;
modifiers = [ "bold" ];
};
"ui.window" = { bg = BASE01; };
};
};
}

View file

@ -0,0 +1,65 @@
{ pkgs, ... }: {
programs.micro = {
enable = true;
settings = {
clipboard = "terminal";
colorscheme = "base16";
autosu = true;
mkparents = true;
scrollbar = true;
softwrap = true;
status = false;
statusline = false;
statusformatl = "q";
savehistory = true;
saveundo = true;
};
};
xdg.configFile."micro/colorschemes/base16.micro".text = ''
color-link comment "bold white"
color-link constant "cyan"
color-link constant.bool "bold cyan"
color-link constant.bool.true "bold green"
color-link constant.bool.false "bold red"
color-link constant.string "yellow"
color-link constant.string.url "underline blue, white"
#color-link constant.number "constant"
color-link constant.specialChar "bold magenta"
color-link identifier "bold red"
color-link identifier.macro "bold red"
color-link identifier.var "bold blue"
#color-link identifier.class "bold green"
color-link identifier.class "bold white"
color-link statement "bold yellow"
color-link symbol "red"
color-link symbol.brackets "blue"
color-link symbol.tag "bold blue"
color-link symbol.tag.extended "bold green"
color-link preproc "bold cyan"
color-link type "green"
color-link type.keyword "bold green"
color-link special "magenta"
color-link ignore "default"
color-link error "bold ,brightred"
color-link todo "underline black,brightyellow"
color-link hlsearch "white,darkgreen"
color-link indent-char ",brightgreen"
color-link line-number "white"
color-link line-number.scrollbar "green"
color-link statusline "white,blue"
color-link tabbar "white,blue"
color-link current-line-number "red"
color-link current-line-number.scroller "red"
color-link diff-added "green"
color-link diff-modified "yellow"
color-link diff-deleted "red"
color-link gutter-error ",red"
color-link gutter-warning "red"
color-link color-column "cyan"
color-link underlined.url "underline blue, white"
color-link divider "blue"
color-link match-brace "black,cyan"
color-link tab-error "brightred"
color-link trailingws "brightred"
'';
}

View file

@ -0,0 +1,23 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
bat
fzf
openvpn
nix-tree
nix-prefetch-github
nvtopPackages.amd
btop
bluetuith
tenki
lutgen
pulsemixer
trashy
fuc
zip
atool
];
}

View file

@ -0,0 +1,177 @@
{ ... }: {
programs.yazi.keymap = {
manager = {
prepend_keymap = [
# MAIN
{
on = "q";
run = "close";
desc = "Close yazi";
}
{
on = "l";
run = "plugin --sync smart-enter";
desc = "Enter/open";
}
{
on = "!";
run = "shell '$SHELL' --block --confirm";
desc = "Open shell";
}
{
on = "<Esc>";
run = "close";
desc = "Escape";
}
{
on = "<Right>";
run = "plugin --sync smart-enter";
desc = "Enter/open";
}
{
on = "<Enter>";
run = "plugin --sync smart-enter";
desc = "Enter/open";
}
# VISUAL
{
on = [ "v" "m" ];
run = "plugin --sync max-preview";
desc = "Maximize preview";
}
{
on = [ "v" "p" ];
run = "plugin --sync hide-preview";
desc = "Hide preview";
}
{
on = [ "v" "v" ];
run = "visual_mode";
desc = "Visual/select mode";
}
{
on = [ "v" "V" ];
run = "visual_mode --unset";
desc = "Visual unset";
}
{
on = [ "v" "a" ];
run = "select_all --state=true";
desc = "Select all";
}
{
on = [ "v" "r" ];
run = "select_all --state=none";
desc = "Unselect all";
}
{
on = [ "v" "h" ];
run = "hidden toggle";
desc = "Hidden toggle";
}
# DELETION
{
on = [ "d" "d" ];
run = "remove";
desc = "Trash file";
}
{
on = [ "d" "D" ];
run = "remove --permanently";
desc = "Delete";
}
{
on = [ "D" "d" ];
run = "remove --force";
desc = "Trash (force)";
}
{
on = [ "D" "D" ];
run = "remove --permanently --force";
desc = "Delete (force)";
}
# CREATE
{
on = [ "a" "f" ];
run = "create";
desc = "Create file";
}
{
on = [ "a" "d" ];
run = "create --dir";
desc = "Create directory";
}
{
on = [ "a" "n" ];
run = "create default.nix";
desc = "Create default.nix";
}
# RENAME
{
on = [ "r" "R" ];
run = "rename";
desc = "Rename";
}
{
on = [ "r" "r" ];
run = "rename --empty=before_ext";
desc = "Rename (namefile)";
}
{
on = [ "r" "n" ];
run = "rename --empty=stem";
desc = "Rename (delete namefile)";
}
{
on = [ "r" "e" ];
run = "rename --empty=ext";
desc = "Rename (extension)";
}
{
on = [ "r" "a" ];
run = "rename --empty=all";
desc = "Rename (delete all)";
}
# NAVIGATE
{
on = [ "c" "d" ];
run = "cd --interactive";
desc = "Change directory";
}
{
on = [ "g" "f" ];
run = "cd ~/.flake";
desc = "CD to flake";
}
{
on = [ "g" "H" ];
run = "cd ~/.flake/host";
desc = "CD to flake_host";
}
{
on = [ "g" "h" ];
run = "cd ~/.flake/home";
desc = "CD to flake_home";
}
];
};
completion = {
prepend_keymap = [
{
on = "<C-j>";
run = "arrow 1";
}
{
on = "<C-k>";
run = "arrow -1";
}
# { on = "C-l"; run = "lose --submit" "close_input --submit" ; }
];
};
};
}

View file

@ -0,0 +1,101 @@
{ pkgs, inputs, ... }:
let ypkg = inputs.yazi.packages.${pkgs.system}.default;
in {
imports = [ ./binds.nix ./theme.nix ./lua.nix ./plugins.nix ./starship.nix ];
programs.yazi = {
enable = true;
package = ypkg;
settings = {
manager = {
ratio = [ 1 4 4 ];
show_hidden = false;
sort_by = "natural";
sort_dir_first = true;
sort_reverse = false;
linemode = "size";
show_symlink = true;
};
preview = {
wrap = "yes";
tab_size = 1;
image_filter = "lanczos3";
image_quality = 90;
max_height = 1000;
max_width = 1000;
};
opener = {
edit = [{
run = "hx $@";
block = true;
}];
play = [{
run = "mpv $@";
orphan = true;
}];
open = [{ run = "xdg-open $@"; }];
};
open = {
rules = [
{
mime = "text/*";
use = "edit";
}
{
mime = "video/*";
use = "play";
}
{
mime = "audio/*";
use = "play";
}
{
mime = "image/*";
use = "open";
}
];
};
plugin = {
prepend_previewers = [
{
mime = "application/*zip";
run = "ouch";
}
{
mime = "application/x-tar";
run = "ouch";
}
{
mime = "application/x-bzip2";
run = "ouch";
}
{
mime = "application/x-7z-compressed";
run = "ouch";
}
{
mime = "application/x-rar";
run = "ouch";
}
{
mime = "application/x-xz";
run = "ouch";
}
{
name = "*.md";
run = "glow";
}
];
};
};
};
home.packages = with pkgs; [
ffmpegthumbnailer
p7zip
jq
poppler_min
imagemagick
glow
ouch
];
}

View file

@ -0,0 +1,100 @@
{ ... }: {
programs.yazi.initLua = ''
require("no-status"):setup()
-- require("starship"):setup()
require("starship"):setup({ config_file = "/home/megamozg/.config/yazi/star.toml" })
-- require("yatline"):setup({
-- section_separator = { open = "", close = "" },
-- part_separator = { open = "", close = "" },
-- inverse_separator = { open = "", close = "" },
--
-- style_a = {
-- fg = "black",
-- bg_mode = {
-- normal = "cyan",
-- select = "yellow",
-- un_set = "blue"
-- }
-- },
-- style_b = { bg = "black", fg = "white" },
-- style_c = { bg = "black", fg = "white" },
--
-- permissions_t_fg = "green",
-- permissions_r_fg = "yellow",
-- permissions_w_fg = "red",
-- permissions_x_fg = "cyan",
-- permissions_s_fg = "darkgray",
--
-- tab_width = 20,
-- tab_use_inverse = false,
--
-- selected = { icon = "󰻭", fg = "yellow" },
-- copied = { icon = "", fg = "green" },
-- cut = { icon = "", fg = "red" },
--
-- total = { icon = "󰮍", fg = "yellow" },
-- succ = { icon = "", fg = "green" },
-- fail = { icon = "", fg = "red" },
-- found = { icon = "󰮕", fg = "blue" },
-- processed = { icon = "󰐍", fg = "green" },
--
-- show_background = true,
--
-- display_header_line = true,
-- display_status_line = true,
--
-- header_line = {
-- left = {
-- section_a = { -- EDGE LEFT
-- -- {type = "line", custom = false, name = "tabs", params = {"left"}},
-- {type = "string", custom = false, name = "tab_path"},
-- },
-- section_b = { -- LEFT CENTER
-- },
-- section_c = { -- RIGHT LEFT
-- }
-- },
-- right = {
-- section_a = { -- EDGE RIGHT
-- -- {type = "line", custom = false, name = "tabs", params = {"right"}},
-- },
-- section_b = { -- CENTER RIGHT
-- },
-- section_c = { -- LEFT RIGHT
-- }
-- }
-- },
--
-- status_line = {
-- left = {
-- section_a = {
-- },
-- section_b = {
-- },
-- section_c = {
-- }
-- },
-- right = {
-- section_a = {
-- },
-- section_b = {
-- },
-- section_c = {
-- }
-- }
-- },
-- })
require("full-border"):setup {
type = ui.Border.ROUNDED,
}
Header:children_add(function()
if ya.target_family() ~= "unix" then
return ui.Line {}
end
return ui.Span(ya.user_name() .. "@" .. ya.host_name() .. ": "):fg("red")
end, 500, Header.LEFT)
'';
}

View file

@ -0,0 +1,76 @@
{ pkgs, ... }:
let
yazi-plugins = pkgs.fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "74a837c6eafba59e22dc3d8d8ec630934580c70c";
hash = "sha256-h+CoRLRyC+fJogfAoOw7twXSRkUotbgnS3gBFvlxNlw=";
};
in {
# PLUGINS FROM REPO
programs.yazi.plugins = {
# BUILTINED
chmod = "${yazi-plugins}/chmod.yazi";
max-preview = "${yazi-plugins}/max-preview.yazi";
no-status = "${yazi-plugins}/no-status.yazi";
hide-preview = "${yazi-plugins}/hide-preview.yazi";
full-border = "${yazi-plugins}/full-border.yazi";
# FETCHED
ouch = pkgs.fetchFromGitHub {
owner = "ndtoan96";
repo = "ouch.yazi";
rev = "251da6930ca8b7ee0384810086c3bf644caede3e";
hash = "sha256-yLt9aY6hUIOdBI5bMdCs7VYFJGyD3WIkmPxvWKNCskA=";
};
glow = pkgs.fetchFromGitHub {
owner = "Reledia";
repo = "glow.yazi";
rev = "4e016fa2357e5e7e9b1a4881e1492d73a0a2f2cc";
hash = "sha256-d73C8s8p85c0xfq8Nfzlnp83JUakMPbviQDFCX0G+qE=";
};
ffmpeg = pkgs.fetchFromGitHub {
owner = "Tyarel8";
repo = "video-ffmpeg.yazi";
rev = "fe26a18f9b32880e10b686df5c4559d9af2bce6b";
hash = "sha256-PIsetF42mlxDv7hEBgjt4FdryDhWTAF/o0Z3Z1G8HJE=";
};
relative = pkgs.fetchFromGitHub {
owner = "dedukun";
repo = "relative-motions.yazi";
rev = "89d0cb9c84a7bba98d2e7ca4bac706d2458d0c06";
hash = "sha256-qtjAgH+NS4YFVIwq+x2sC90y4vDSXNI8pGXIZ3FuQMU=";
};
enter = pkgs.fetchFromGitHub {
owner = "ourongxing";
repo = "fast-enter.yazi";
rev = "dd498123cb0696d7fa50b32d2268fb8c2084a4a4";
hash = "sha256-jjluqFboFXV4yqBMvW7WhO61Urn2FQ/O31PqlaCxB2c=";
};
starship = pkgs.fetchFromGitHub {
owner = "Rolv-Apneseth";
repo = "starship.yazi";
rev = "77a65f5a367f833ad5e6687261494044006de9c3";
hash = "sha256-sAB0958lLNqqwkpucRsUqLHFV/PJYoJL2lHFtfHDZF8=";
};
yatline = pkgs.fetchFromGitHub {
owner = "imsi32";
repo = "yatline.yazi";
rev = "7b56434864d6a0b5d547fed2339b99346a018522";
hash = "sha256-4qxBAXFyPBQhSU24xL7fzhgM5e8Cq7BigEp4GPxSjD4=";
};
};
# CUSTOM PLUGINS
xdg.configFile = {
# SMART ENTER
"yazi/plugins/smart-enter.yazi/init.lua".text = ''
return {
entry = function()
local h = cx.active.current.hovered
ya.manager_emit(h and h.cha.is_dir and "enter" or "open", { hovered = true })
end,
}
'';
};
}

View file

@ -0,0 +1,42 @@
{ ... }: {
xdg.configFile = {
"yazi/star.toml".text = ''
# format = """
# $hostname\
# $username\
# $directory\
# """
format = """
$directory\
$git_branch\
$git_status\
$git_metrics\
"""
[directory]
style = "bold fg:green"
format = "in [$path ]($style)"
truncation_length = 3
truncation_symbol = "/"
read_only = '[󰌾]'
read_only_style = 'bold fg:red'
[git_branch]
style = "bold fg:yellow"
[git_status]
style = "bold fg:red"
[git_metrics]
added_style = "bold fg:blue"
deleted_style = "bold fg:red"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = " "
"Pictures" = " "
'';
};
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,8 @@
{ pkgs, ... }: {
programs.zoxide = {
enable = true;
enableFishIntegration = true;
enableZshIntegration = true;
options = [ "--cmd cd" ];
};
}

View file

@ -0,0 +1,34 @@
{ lib, fetchPypi, python3Packages, python3 }:
python3Packages.buildPythonApplication rec {
pname = "anicli_api";
version = "0.6.11";
pyproject = true;
src = fetchPypi {
pname = "anicli_api";
inherit version;
hash = "sha256-1jfPl+Vh7c4zWjQJ/qdvFOhXBvVTX4iqShxoMtbN6j4=";
};
build-system = with python3Packages; [ poetry-core ];
dependencies = with python3Packages; [
(python3.withPackages
(ps: with ps; [ httpx ] ++ httpx.optional-dependencies.http2))
(pkgs.callPackage ./chompjs.nix { })
attrs
parsel
tqdm
];
dontCheckRuntimeDeps = true;
meta = with lib; {
description = "anicli-api";
homepage = "https://github.com/vypivshiy/anicli-api"; # DEAD
maintainers = with maintainers; [ DADA30000 azikx ];
mainProgram = "anicli-api";
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,31 @@
{ lib, pkgs, fetchPypi, python3Packages }:
python3Packages.buildPythonApplication rec {
pname = "ani-cli-ru";
version = "5.0.12";
pyproject = true;
src = fetchPypi {
pname = "anicli_ru";
inherit version;
hash = "sha256-s8uI0ch+SPqthHy+d0jcB6o5/Zqx89JHM68Q00nwCFA=";
};
build-system = with python3Packages; [ hatchling setuptools ];
dependencies = [
python3Packages.hatchling
(pkgs.callPackage ./eggella.nix { })
(pkgs.callPackage ./anicli-api.nix { })
];
meta = with lib; {
description =
"Script to watch anime from terminal with russian translation, written in python.";
homepage = "https://github.com/vypivshiy/ani-cli-ru"; # DEAD
license = with licenses; [ gpl3Plus ];
maintainers = with maintainers; [ DADA30000 azikx ];
mainProgram = "anicli-ru";
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,26 @@
{ lib, pkgs, fetchPypi, python3Packages }:
python3Packages.buildPythonApplication rec {
pname = "chompjs";
version = "1.3.0";
pyproject = true;
src = fetchPypi {
pname = "chompjs";
inherit version;
hash = "sha256-isCzF1XpOTSPsq8cwBw1fbUMhU+j1QbOeSGPwV8FaGg=";
};
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [ setuptools ];
meta = with lib; {
description = "chompjs";
homepage = "https://github.com/Nykakin/chompjs";
license = with licenses; [ mit ];
maintainers = with maintainers; [ DADA30000 ];
mainProgram = "chompjs";
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,29 @@
{ lib, pkgs, fetchPypi, python3Packages }:
python3Packages.buildPythonApplication rec {
pname = "eggella";
version = "0.1.7";
pyproject = true;
src = fetchPypi {
pname = "eggella";
inherit version;
hash = "sha256-8Vo39BePA86wcLKs/F+u2N7tpIpPrEyEPp3POszy050=";
};
build-system = with python3Packages; [ hatchling setuptools ];
dependencies = [
python3Packages.prompt-toolkit
python3Packages.rich
python3Packages.typer
];
meta = with lib; {
description = "Framework for easy creating REPL applications.";
homepage = "https://github.com/vypivshiy/eggella"; # DEAD
maintainers = with maintainers; [ DADA30000 azikx ];
mainProgram = "eggella";
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,7 @@
{ pkgs, ... }: {
home.packages = with pkgs;
[
(callPackage ./anicliru/anicli-ru.nix { })
# (callPackage ./torrserver/default.nix { })
];
}

View file

@ -0,0 +1 @@
{ imports = [ ./custom-pkgs ./shells ./misc ./cli ./gui ]; }

View file

@ -0,0 +1,107 @@
{ ... }: {
home.file = {
".local/share/AyuGramDesktop/tdata/ayu_settings.json".text = ''
{
"appIcon": "chibi2",
"channelBottomButton": 0,
"collapseSimilarChannels": true,
"deletedMark": "deleted",
"disableAds": true,
"disableCustomBackgrounds": false,
"disableNotificationsDelay": false,
"disableStories": false,
"editedMark": "edited",
"gifConfirmation": false,
"hideAllChatsFolder": true,
"hideFromBlocked": false,
"hideNotificationBadge": false,
"hideNotificationCounters": false,
"hideSimilarChannels": false,
"increaseWebviewHeight": false,
"increaseWebviewWidth": false,
"localPremium": true,
"markReadAfterAction": true,
"monoFont": "JetBrainsMono Nerd Font Mono",
"recentStickersCount": 40,
"saveDeletedMessages": true,
"saveMessagesHistory": true,
"sendOfflinePacketAfterOnline": false,
"sendOnlinePackets": true,
"sendReadMessages": true,
"sendReadStories": false,
"sendUploadProgress": true,
"showGhostToggleInDrawer": true,
"showGhostToggleInTray": true,
"showHideMessageInContextMenu": 2,
"showLReadToggleInDrawer": true,
"showMessageDetailsInContextMenu": 2,
"showMessageSeconds": false,
"showMessageShot": true,
"showPeerId": 2,
"showReactionsPanelInContextMenu": 0,
"showSReadToggleInDrawer": true,
"showStreamerToggleInDrawer": false,
"showStreamerToggleInTray": false,
"showUserMessagesInContextMenu": 2,
"showViewsPanelInContextMenu": 2,
"simpleQuotesAndReplies": false,
"spoofWebviewAsAndroid": false,
"stickerConfirmation": false,
"useScheduledMessages": false,
"voiceConfirmation": false
}
'';
".local/share/AyuGramDesktop/tdata/shortcuts-custom.json".text = ''
[
{
"command": "quit_telegram",
"keys": "alt+q"
},
{
"command": "folder1",
"keys": "alt+1"
},
{
"command": "folder2",
"keys": "alt+2"
},
{
"command": "folder3",
"keys": "alt+3"
},
{
"command": "show_archive",
"keys": "alt+0"
},
{
"command": "search",
"keys": "alt+/"
},
{
"command": "show_contacts",
"keys": "alt+g"
},
{
"command": "next_chat",
"keys": "alt+j"
},
{
"command": "previous_chat",
"keys": "alt+k"
},
{
"command": "next_folder",
"keys": "alt+l"
},
{
"command": "previous_folder",
"keys": "alt+h"
},
{
"command": "media_playpause",
"keys": "alt+p"
}
]
'';
};
}

View file

@ -0,0 +1,15 @@
{
imports = [
./spotify
./obs-studio
./ayugram
# ./firefox
./floorp
./qbittorrent
./qutebrowser
./mpv
./swayimg
./pkgs.nix
];
}

View file

@ -0,0 +1,65 @@
{ pkgs, inputs, ... }: {
imports = [
./user
./settings.nix
# ./search.nix
];
programs.floorp = {
enable = true;
package = pkgs.floorp;
languagePacks = [ "ru" ];
profiles.megamozg = {
id = 0;
name = "dragora";
isDefault = true;
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
#VERY IMPORTANT
ublock-origin
sponsorblock
darkreader
vimium-c
censor-tracker
# MISC
tabcenter-reborn
firefox-color
stylus
translate-web-pages
];
};
policies = {
CaptivePortal = false;
DisableFirefoxStudies = true;
DisablePocket = true;
DisableTelemetry = true;
# DisableFirefoxAccounts = true;
DisableFormHistory = true;
DisplayBookmarksToolbar = false;
DontCheckDefaultBrowser = true;
DisableProfileRefresh = true;
PromptForDownloadLocation = false;
NetworkPrediction = false;
showSearchBar = true;
DisableSetDesktopBackground = true;
LegacyProfiles = true;
ManualAppUpdateOnly = true;
DisableFirefoxScreenshots = true;
HardwareAcceleration = true;
FirefoxHome = {
Pocket = false;
Snippets = false;
};
SanitizeOnShutdown = {
Cache = true;
History = false;
Cookies = false;
Downloads = true;
FormData = true;
Sessions = true;
OfflineApps = true;
};
PasswordManagerEnabled = true;
};
};
}

View file

@ -0,0 +1,33 @@
{ pkgs, ... }: {
programs.firefox.profiles.dragora = {
search = {
force = true;
default = "Google";
engines = {
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages?channel=unstable";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}];
icon =
"${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
"Bing".metaData.hidden = true;
"DuckDuckGo".metaData.hidden = true;
"Wikipedia (en)".metaData.hidden = true;
"Google".metaData.alias = "@g";
};
};
};
}

View file

@ -0,0 +1,9 @@
{ ... }: {
programs.floorp.profiles.megamozg.settings = {
# OTHER
"layers.acceleration.force-enabled" = true;
"gfx.webrender.all" = true;
"svg.context-properties.content.enabled" = true;
"ui.key.menuAccessKeyFocuses" = false;
};
}

View file

@ -0,0 +1,4 @@
{ ... }: {
programs.floorp.profiles.megamozg.userChrome =
" * {\n font-family: \"JetBrainsMono Nerd Font\" !important;\n font-size: 12pt !important; \n }\n";
}

View file

@ -0,0 +1,6 @@
{ ... }:
let repo = "https://github.com/axax-loll/fuji-wallpapers/blob/main";
in {
programs.floorp.profiles.megamozg.userContent =
" @-moz-document url(about:home), url(about:newtab), url(about:privatebrowsing) {\n .click-target-container *, .top-sites-list * {\n color: #fff !important ;\n text-shadow: 2px 2px 2px #222 !important ;\n }\n body::before {\n content: \"\" ;\n z-index: -1 ;\n position: fixed ;\n top: 0 ;\n left: 0 ;\n background: #0F0F0F no-repeat url(\"${repo}/synth.png?raw=true\") center ;\n background-size: cover ;\n width: 100vw ;\n height: 100vh ;\n }\n .logo { background-image: url(\"${repo}/logo.png?raw=true\") !important; }\n .search-wrapper input { background: #0F0F0F !important; }\n #PlacesToolbarItems {\n width: 100%;\n display: flex;\n justify-content: center;\n }\n }\n";
}

View file

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

View file

@ -0,0 +1,112 @@
{ ... }:
{
css = ''
:root {
/* These colours are (mainly) used by the
Container Tabs Plugin */
--uc-identity-colour-blue: #8DA3B9;
--uc-identity-colour-turquoise: #8AA6A2;
--uc-identity-colour-green: #8C977D;
--uc-identity-colour-yellow: #D9BC8C;
--uc-identity-colour-orange: #D9BC8C;
--uc-identity-colour-red: #B66467;
--uc-identity-colour-pink: #A988B0;
--uc-identity-colour-purple: #A988B0;
/* Cascades main Colour Scheme */
--uc-base-colour: #151515;
--uc-highlight-colour: #1F1F1F;
--uc-inverted-colour: #E8E3E3;
--uc-muted-colour: #BBB6B6;
--uc-accent-colour: var(--uc-identity-colour-purple);
--uc-shadow-colour: #151515;
}
#topmenu { display: none !important; }
#tablist-wrapper,
#pinnedtablist { background: var(--uc-base-colour); }
.tab:hover,
.tab.active { background: var(--uc-highlight-colour); }
#tablist-wrapper .tab-title-wrapper {
opacity: 0;
transform: translateX(-10px);
transition: all 200ms ease;
transition-delay: 0ms;
}
body:hover #tablist-wrapper .tab-title-wrapper {
opacity: 1;
transform: translateX(0);
transition-delay: 50ms;
}
.tab,
.tab.active { border-bottom: none !important; }
#pinnedtablist:not(.compact) .tab { padding: 6px; }
#tablist .tab { padding: 0 0 0 6px; }
.tab { overflow: visible; }
#pinnedtablist:not(.compact) .tab[data-identity-color] .tab-context::before,
#tablist .tab[data-identity-color] .tab-context::before {
position: absolute;
top: 4px; bottom: 4px;
width: 2px;
background: var(--identity-color);
content: '';
}
#tablist .tab[data-identity-color] .tab-context::before { left: -3px; }
#pinnedtablist:not(.compact) .tab .tab-pin,
.tab-close,
.tab-loading-burst { display: none; }
#pinnedtablist:not(.compact) .tab[data-identity-color] .tab-context { box-shadow: none !important; }
[data-identity-color="blue"] { --identity-color: var(--uc-identity-colour-blue); }
[data-identity-color="turquoise"] { --identity-color: var(--uc-identity-colour-turquoise); }
[data-identity-color="green"] { --identity-color: var(--uc-identity-colour-green); }
[data-identity-color="yellow"] { --identity-color: var(--uc-identity-colour-yellow); }
[data-identity-color="orange"] { --identity-color: var(--uc-identity-colour-orange); }
[data-identity-color="red"] { --identity-color: var(--uc-identity-colour-red); }
[data-identity-color="pink"] { --identity-color: var(--uc-identity-colour-pink); }
[data-identity-color="purple"] { --identity-color: var(--uc-identity-colour-purple); }
.can-scroll-top #tablist { mask: linear-gradient(transparent, var(--uc-shadow-colour) 40px); }
.can-scroll-bottom #tablist { mask: linear-gradient(var(--uc-shadow-colour) calc(100% - 40px), transparent); }
.can-scroll-bottom.can-scroll-top #tablist { mask: linear-gradient(transparent, var(--uc-shadow-colour) 40px calc(100% - 40px), transparent); }
#topshadow, #bottomshadow { display: none; }
'';
}

View file

@ -0,0 +1,4 @@
{ ... }: {
programs.floorp.profiles.megamozg.userChrome =
" #TabsToolbar { display: none !important; }\n #nav-bar { width: 100vw !important; }\n \n #browser { position: relative; }\n #sidebar-box[sidebarcommand*=\"tabcenter\"] #sidebar-header { display: none; }\n \n #sidebar-box[sidebarcommand*=\"tabcenter\"]:not([hidden]) {\n \n display: block;\n \n position: absolute;\n top: 0; bottom: 0;\n z-index: 1;\n \n min-width: 50px !important; max-width: 50px !important;\n \n border-right: none;\n \n transition: all 0.8s ease;\n \n overflow: hidden;\n \n }\n \n [sidebarcommand*=\"tabcenter\"] #sidebar,\n #sidebar-box[sidebarcommand*=\"tabcenter\"]:hover { min-width: 10vw !important; width: 30vw !important; max-width: 250px !important; }\n \n [sidebarcommand*=\"tabcenter\"] #sidebar { height: 100%; max-height: 100%; }\n \n #sidebar-box[sidebarcommand*=\"tabcenter\"]:not([hidden]) ~ #appcontent { margin-left: 50px; }\n #main-window[inFullscreen][inDOMFullscreen] #appcontent { margin-left: 0; }\n /* Removes gap between active tab highlight and edge of bar */\n #sidebar-box[sidebarcommand=\"tabcenter-reborn_ariasuni-sidebar-action\"] #sidebar-header, #sidebar-box[sidebarcommand=\"tabcenter-reborn_ariasuni-sidebar-action\"] ~ #sidebar-splitter {\n display: none;\n }\n";
}

View file

@ -0,0 +1,86 @@
{ pkgs, ... }: {
programs.mpv = {
enable = true;
scripts = with pkgs.mpvScripts; [ thumbnail sponsorblock-minimal ];
scriptOpts = {
sponsorblock-minimal = {
sponsorblock_minimal-server =
"https://sponsor.ajay.app/api/skipSegments";
sponsorblock_minimal-categories = [ "sponsor" ];
};
mpv_thumbnail_script = {
autogenerate = "yes";
autogenerate_max_duration = "3600";
prefer_mpv = "yes";
mpv_no_sub = "no";
thumbnail_width = 200;
thumbnail_height = 200;
thumbnail_count = 150;
thumbnail_network = "no";
background_color = "282828";
};
};
config = {
fs = "yes";
osc = "no";
glsl-shaders =
"${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl";
};
bindings = {
WHEEL_UP = "add volume 2";
WHEEL_DOWN = "add volume -2";
"Shift+WHEEL_UP" = "add volume 5";
"Shift+WHEEL_DOWN" = "add volume -5";
RIGHT = "seek 5";
l = "seek 5";
"д" = "seek 5";
LEFT = "seek -5";
h = "seek -5";
"р" = "seek -5";
UP = "add volume 2";
k = "add volume 2";
"л" = "add volume 2";
DOWN = "add volume -2";
j = "add volume -2";
"о" = "add volume -2";
"Shift+RIGHT" = "seek 10";
"Shift+LEFT" = "seek -10";
"Shift+UP" = "add volume 5";
"Shift+DOWN" = "add volume -5";
q = "quit";
"й" = "quit";
Q = "quit-watch-later";
SPACE = "cycle pause";
p = "cycle pause";
"з" = "cycle pause";
m = "cycle mute";
"ь" = "cycle mute";
o = "show-progress";
"щ" = "show-progress";
f = "cycle fullscreen";
"а" = "cycle fullscreen";
ESC = "set fullscreen no";
};
extraInput = ''
CTRL+1 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)"
CTRL+2 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_Soft_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)"
CTRL+3 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)"
CTRL+4 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_M.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
CTRL+5 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_Soft_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_Soft_M.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
CTRL+6 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_M.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"
CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"
'';
};
}

View file

@ -0,0 +1,11 @@
{ pkgs, ... }: {
programs.obs-studio = {
enable = true;
package = pkgs.obs-studio;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-vkcapture
input-overlay
];
};
}

View file

@ -0,0 +1,37 @@
{ pkgs, inputs, ... }: {
imports = [ inputs.nur.hmModules.nur ];
home.packages = with pkgs; [
home-manager
vesktop
tor-browser
qbittorrent-enhanced
xdg-user-dirs
onlyoffice-bin
nemo-with-extensions
nemo-fileroller
nemo-emblems
gvfs
obsidian
popsicle
ventoy
swayimg
anime4k
bottles
cartridges
mangohud
steam-tui
(prismlauncher.override {
jdks = [ temurin-bin-21 temurin-bin-17 temurin-bin-8 ];
})
inputs.ayugram-desktop.packages.${pkgs.system}.default
];
}

View file

@ -0,0 +1,35 @@
{ ... }: {
xdg.configFile = {
# COLORSCHEME
"qBittorrent/themes/default/config.json".text = ''
{
"colors.dark": {
"Log.BannedPeer": "#b66467",
"Log.Critical": "#b66467",
"Log.Info": "#8da3b9",
"Log.TimeStamp": "#bbb6b6",
"Log.Warning": "#d9bc8c",
"TransferList.CheckingDownloading": "#8c977d",
"TransferList.CheckingResumeData": "#8c977d",
"TransferList.CheckingUploading": "#8c977d",
"TransferList.Downloading": "#d9bc8c",
"TransferList.DownloadingMetadata": "#d9bc8c",
"TransferList.Error": "#b66467",
"TransferList.ForcedDownloading": "#d9bc8c",
"TransferList.ForcedDownloadingMetadata": "#d9bc8c",
"TransferList.ForcedUploading": "#d9bc8c",
"TransferList.MissingFiles": "#b66467",
"TransferList.Moving": "#8aa6a2",
"TransferList.PausedDownloading": "#a988b0",
"TransferList.PausedUploading": "#a988b0",
"TransferList.QueuedDownloading": "#d9bc8c",
"TransferList.QueuedUploading": "#d9bc8c",
"TransferList.StalledDownloading": "#8c977d",
"TransferList.StalledUploading": "#bbb6b6",
"TransferList.Uploading": "#bbb6b6"
},
"version": 2
}
'';
};
}

View file

@ -0,0 +1 @@
{ ... }: { programs.qutebrowser = { enable = true; }; }

View file

@ -0,0 +1,46 @@
{ pkgs, config, inputs, ... }:
let spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
in {
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
programs.spicetify = {
enable = true;
theme = spicePkgs.themes.sleek;
colorScheme = "custom";
customColorScheme = with config.lib.stylix.colors; {
# BASE 16 SCHEME
text = "${base07}";
subtext = "${base06}";
sidebar-text = "${base07}";
main = "${base00}";
sidebar = "${base02}";
player = "${base00}";
card = "${base00}";
shadow = "${base00}";
selected-row = "${base0C}";
button = "${base0B}";
button-active = "${base0B}";
button-disabled = "${base03}";
tab-active = "${base0A}";
notification = "${base0A}";
notification-error = "${base08}";
misc = "${base02}";
};
enabledExtensions = with spicePkgs.extensions; [
# OFFICIAL
fullAppDisplay
shuffle
#COMMUNITY
adblockify
adblock
historyShortcut
beautifulLyrics
playlistIcons
betterGenres
powerBar
seekSong
history
];
};
}

View file

@ -0,0 +1,219 @@
{ config, ... }: {
xdg.configFile = with config.lib.stylix.colors; {
"swayimg/config".text = ''
################################################################################
# General configuration
################################################################################
[general]
# Mode at startup (viewer/gallery)
mode = viewer
# Window position (parent or absolute coordinates, e.g. 100,200)
position = parent
# Window size (fullscreen/parent/image, or absolute size, e.g. 800,600)
size = fullscreen
# Action performed by SIGUSR1 signal (same format as for key bindings)
sigusr1 = reload
# Action performed by SIGUSR2 signal (same format as for key bindings)
sigusr2 = next_file
# Application ID and window class name
app_id = swayimg
################################################################################
# Viewer mode configuration
################################################################################
[viewer]
# Window background color (RGBA)
window = #000000ff
# Background for transparent images (grid/RGBA)
transparency = grid
# Default image scale (optimal/fit/width/height/fill/real)
scale = optimal
# Fix position of the image on the window surface (yes/no)
fixed = yes
# Anti-aliasing (yes/no)
antialiasing = no
# Run slideshow at startup (yes/no)
slideshow = no
# Slideshow image display time (seconds)
slideshow_time = 3
# Number of previously viewed images to store in cache
history = 1
# Number of preloaded images (read ahead)
preload = 1
################################################################################
# Gallery mode configuration
################################################################################
[gallery]
# Max size of the thumbnail (pixels)
size = 200
# Max number of thumbnails in cache, 0 to unlimit
cache = 100
# Fill the entire tile with thumbnail (yes/no)
fill = yes
# Use anti-aliasing for thumbnails (yes/no)
antialiasing = yes
# Background color of the window (RGBA)
window = #${base00}ff
# Background color of the tile (RGBA)
background = #${base01}ff
# Background color of the selected tile (RGBA)
select = #${base02}ff
# Border color of the selected tile (RGBA)
border = #${base0E}ff
# Shadow color of the selected tile (RGBA)
shadow = #${base00}a0
################################################################################
# Image list configuration
################################################################################
[list]
# Default order (none/alpha/reverse/random)
order = alpha
# Looping list of images (yes/no)
loop = yes
# Read directories recursively (yes/no)
recursive = no
# Open all files in the start directory (yes/no)
all = yes
################################################################################
# Font configuration
################################################################################
[font]
# Font name
name = JetBrainsMono NerdFont
# Font size (pt)
size = 14
# Font color (RGBA)
color = #${base06}ff
# Shadow color (RGBA)
shadow = #${base00}a0
################################################################################
# Image meta info scheme (format, size, EXIF, etc)
################################################################################
[info]
# Show on startup (yes/no)
show = yes
# Timeout to hide info (seconds, 0 to always show)
info_timeout = 5
# Timeout to hide status message (seconds)
status_timeout = 3
# Display scheme for viewer mode (position = content)
[info.viewer]
top_left = none
top_right = index
bottom_left = none
bottom_right = none
# Display scheme for gallery mode (position = content)
[info.gallery]
top_left = none
top_right = index
bottom_left = none
bottom_right = none
################################################################################
# Viewer mode key binding configuration: key = action [parameters]
################################################################################
[keys.viewer]
F1 = help
Home = first_file
g = first_file
End = last_file
Shift+g = last_file
Prior = prev_file
Next = next_file
h = zoom +10
j = next_file
k = prev_file
l = zoom -10
Space = next_file
Shift+d = prev_dir
d = next_dir
Shift+o = prev_frame
o = next_frame
c = skip_file
Shift+s = slideshow
s = animation
f = fullscreen
Return = mode
Left = step_left 10
Right = step_right 10
Up = step_up 10
Down = step_down 10
Equal = zoom +10
Plus = zoom +10
Minus = zoom -10
w = zoom width
Shift+w = zoom height
z = zoom fit
Shift+z = zoom fill
0 = zoom real
BackSpace = zoom optimal
bracketleft = rotate_left
bracketright = rotate_right
m = flip_vertical
Shift+m = flip_horizontal
a = antialiasing
r = reload
i = info
Shift+Delete = exec rm "%"; skip_file
Escape = exit
q = exit
# Mouse related
ScrollLeft = step_right 5
ScrollRight = step_left 5
ScrollUp = step_up 5
ScrollDown = step_down 5
Ctrl+ScrollUp = zoom +10
Ctrl+ScrollDown = zoom -10
Shift+ScrollUp = prev_file
Shift+ScrollDown = next_file
Alt+ScrollUp = prev_frame
Alt+ScrollDown = next_frame
################################################################################
# Gallery mode key binding configuration: key = action [parameters]
################################################################################
[keys.gallery]
F1 = help
Home = first_file
g = first_file
End = last_file
Shift+g = last_file
Left = step_left
Right = step_right
Up = step_up
Down = step_down
h = step_left
j = step_down
k = step_up
l = step_right
Prior = page_up
Next = page_down
c = skip_file
f = fullscreen
Return = mode
a = antialiasing
r = reload
i = info
Shift+Delete = exec rm "%"; skip_file
Escape = exit
q = exit
# Mouse related
ScrollLeft = step_right
ScrollRight = step_left
ScrollUp = step_up
ScrollDown = step_down
'';
};
}

View file

@ -0,0 +1,8 @@
{ ... }: {
dconf = {
enable = true;
settings = {
"org/gnome/desktop/wm/preferences" = { button-layout = ""; };
};
};
}

View file

@ -0,0 +1,9 @@
{
imports = [
./dconf.nix
./nwg.nix
./nix.nix
./xdg.nix
# ./env.nix
];
}

View file

@ -0,0 +1,6 @@
{ ... }: {
home.sessionVariables = {
MICRO_TRUECOLOR = "1";
QT_QPA_PLATFORMTHEME = "qt5ct";
};
}

View file

@ -0,0 +1,23 @@
{ pkgs, ... }: {
nix = {
package = pkgs.nix;
settings = {
warn-dirty = false;
experimental-features = [ "nix-command" "flakes" ];
extra-experimental-features = [ "nix-command" "flakes" ];
builders-use-substitutes = true;
auto-optimise-store = true;
extra-substituters =
[ "https://yazi.cachix.org" "https://cache.garnix.io" ];
extra-trusted-public-keys = [
"yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
];
trusted-users = [ "dragora" "@wheel" ];
};
};
nixpkgs.config = {
allowBroken = true;
allowUnfree = true;
};
}

View file

@ -0,0 +1,6 @@
{ pkgs, config, lib, ... }: {
xdg.configFile = with config.lib.stylix.colors; {
"nwg-drawer/drawer.css".text =
" window {\n background-color: #${base00};\n color: #eeeeee;\n }\n \n button {\n color: #${base04};\n background-color: #${base00};\n }\n \n button:hover {\n color: #${base04};\n background-color: #${base01};\n }\n";
};
}

View file

@ -0,0 +1,37 @@
{ pkgs, config, ... }:
let hmdir = config.home.homeDirectory;
in {
xdg = {
portal = {
enable = true;
config.common.default = "gtk";
extraPortals = with pkgs; [
xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk
];
};
mime = { enable = true; };
mimeApps = {
# defaultApplications = {
# "default-web-browser" = [ "floorp.desktop" ];
# "text/html" = [ "floorp.desktop" ];
# "x-scheme-handler/http" = [ "floorp.desktop" ];
# "x-scheme-handler/https" = [ "floorp.desktop" ];
# "x-scheme-handler/about" = [ "floorp.desktop" ];
# "x-scheme-handler/unknown" = [ "floorp.desktop" ];
# };
};
userDirs = {
enable = true;
createDirectories = true;
desktop = "${hmdir}/Desktop";
documents = "${hmdir}/Documents";
download = "${hmdir}/Downloads";
music = "${hmdir}/Music";
pictures = "${hmdir}/Pictures";
publicShare = "${hmdir}/";
templates = "${hmdir}/";
videos = "${hmdir}/Videos";
};
};
}

View file

@ -0,0 +1,8 @@
{
imports = [
./starship.nix
# ./zsh
./fish
];
}

View file

@ -0,0 +1,81 @@
{ ... }: {
programs.fish = {
enable = true;
shellAliases = {
e = "$EDITOR";
sudo = "doas";
cp = "cpz";
rm = "rmz";
c = "clear";
x = "exit";
nhs = "nh home switch";
nos = "nh os switch";
nca = "nh clean all";
ls = "eza --icons=always --group-directories-first";
lsl = "eza --icons=always -l --group-directories-first";
lst = "eza --icons=always -T --group-directories-first";
ls1 = "eza --icons=always -1 --group-directories-first";
ls11 = "eza --icons=never -1 --group-directories-first";
lsd = "eza --icons=never -D1 --group-directories-first";
lsf = "eza --icons=never -f1 --group-directories-first";
cat = "bat --theme base16";
ff = "fastfetch";
of =
"nix run nixpkgs#onefetch -- -d commits churn license head --no-art --no-color-palette -t 5";
r = "ranger";
y = "yazi";
j = "joshuto";
nxt = "nix-tree";
m = "micro";
v = "nvim";
h = "hx";
fsf = "fastfetch";
cpf = "cpufetch";
cav = "cava";
pmx = "pulsemixer";
blt = "bluetuith";
gl = "git clone";
ga = "git add .";
gA = "git add";
gc = "git commit -m";
gC = "git commit -m 'update '";
gp = "git push";
gP = "git pull";
lut = "lutgen apply -p paradise";
lutall = "lutgen apply -p paradise ./*";
icat = "kitten icat";
btp = "btop";
nvt = "nvtop -i";
ter = "tenki --mode rain --wind disable --timer-color cyan -f 80";
tes = "tenki --mode snow --wind disable --timer-color yellow -f 80";
tem = "tenki --mode meteor --wind disable --timer-color red -f 80";
rmr = "trash restore";
rmp = "trash put";
tre = "trash empty -all";
nxr = "nix run";
nxf = "nix-prefetch-github";
};
interactiveShellInit =
" set fish_greeting\n [ \"$(tty)\" = /dev/tty1 ] && exec Hyprland\n";
};
xdg.configFile = {
"lutgen/paradise".text =
" 151515 1F1F1F 2E2E2E 424242 BBB6B6 E8E3E3 E8E3E3 E8E3E3 B66467 D9BC8C D9BC8C 8C977D 8AA6A2 8DA3B9 A988B0 BBB6B6\n";
};
}

View file

@ -0,0 +1,65 @@
{ lib, ... }: {
programs.starship = {
enable = true;
settings = {
add_newline = true;
format = lib.concatStrings [
"$shell"
"$username"
"$directory"
"$git_branch"
"$package"
"$cmd_duration"
"$line_break"
"$character"
];
shell = {
fish_indicator = "[fish]($style)";
zsh_indicator = "[zsh]($style)";
bash_indicator = "[bash]($style)";
nu_indicator = "[nu]($style)";
unknown_indicator = "[sh ?]";
style = "bold fg:purple";
disabled = false;
};
username = {
style_user = "bold red";
style_root = "bold red";
format = "[$user]($style) in ";
show_always = true;
disabled = false;
};
directory = {
format = "[$path]($style) [$read_only]($read_only_style)";
style = "bold fg:blue";
read_only = "[󰌾] ";
read_only_style = "bold red";
home_symbol = "~~";
truncation_length = 2;
truncation_symbol = "../";
disabled = false;
};
git_branch = {
format = "on [$symbol$branch]($style) ";
style = "bold italic fg:green";
symbol = " ";
truncation_length = 4;
truncation_symbol = "";
disabled = false;
};
package = { format = "via [󰏗 $version](bold fg:yellow) "; };
cmd_duration = {
min_time = 1000;
format = "took [$duration](bold fg:yellow)";
disabled = false;
};
character = {
format = "$symbol ";
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
vimcmd_symbol = "[](bold yellow)";
disabled = false;
};
};
};
}

View file

@ -0,0 +1,20 @@
{ pkgs, ... }:
{
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
completionInit = "autoload -U compinit && compinit";
zplug = {
enable = true;
plugins = [
{ name = "nix-community/nix-zsh-completions"; }
{ name = " jnooree/zoxide-zsh-completion"; }
{ name = "toku-sa-n/zsh-dot-up"; }
{ name = "anatolykopyl/doas-zsh-plugin"; }
{ name = " zshzoo/cd-ls"; }
];
};
};
}

8
home/themes/default.nix Normal file
View file

@ -0,0 +1,8 @@
{
imports = [
./stylix/stylix.nix
./gtk.nix
./qt
];
}

21
home/themes/gtk.nix Normal file
View file

@ -0,0 +1,21 @@
{ pkgs, lib, ... }: {
home.packages = with pkgs; [
noto-fonts
noto-fonts-cjk
openmoji-color
(nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; })
];
gtk = {
enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme.override { color = "yaru"; };
};
font = lib.mkForce {
name = "JetBrainsMono NerdFont";
package =
pkgs.nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; };
size = 12;
};
};
}

View file

@ -0,0 +1 @@
{ imports = [ ./qt5ct.nix ./qt6ct.nix ./qt.nix ]; }

6
home/themes/qt/qt.nix Normal file
View file

@ -0,0 +1,6 @@
{
qt = {
enable = true;
platformTheme.name = "qtct";
};
}

48
home/themes/qt/qt5ct.nix Normal file
View file

@ -0,0 +1,48 @@
{ pkgs, config, ... }: {
xdg.configFile = with config.lib.stylix.colors; {
"qt5ct/colors/paradise.conf".text = ''
[ColorScheme]
active_colors=#ff${base06}, #ff${base01}, #ff${base01}, #ff${base00}, #ff${base03}, #ff${base0C}, #ff${base06}, #ff${base06}, #${base06}, #ff${base00}, #ff${base01}, #ff${base00}, #ff${base02}, #ff${base06}, #ff${base0B}, #ff, #ff151515, #ffe8e3e3, #ff181926, #ffe8e3e3, #80151515
disabled_colors=#ff808080, #ff1f1f1f, #ff1f1f1f, #ff151515, #ff424242, #ff6e738d, #ff808080, #ffe8e3e3, #ff808080, #ff151515, #ff1f1f1f, #ff151515, #ff2e2e2e, #ff808080, #ff8c977d, #ffed8796, #ff151515, #ffe8e3e3, #ff181926, #ffe8e3e3, #80151515
inactive_colors=#ffe8e3e3, #ff1f1f1f, #ff1f1f1f, #ff151515, #ff424242, #ff6e738d, #ffe8e3e3, #ffe8e3e3, #ffe8e3e3, #ff151515, #ff1f1f1f, #ff151515, #ff2e2e2e, #ffbbb6b6, #ff8c977d, #ffed8796, #ff151515, #ffe8e3e3, #ff181926, #ffe8e3e3, #80151515
'';
"qt5ct/qt5ct.conf".text = ''
[Appearance]
color_scheme_path=/home/dragora/.config/qt5ct/colors/paradise.conf
custom_palette=true
icon_theme=Papirus-Dark
standard_dialogs=default
style=Fusion
[Fonts]
fixed="JetBrainsMono Nerd Font Mono,12,-1,5,50,0,0,0,0,0,Regular"
general="JetBrainsMono Nerd Font,12,-1,5,50,0,0,0,0,0,Regular"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=0
cursor_flash_time=1000
dialog_buttons_have_icons=1
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
stylesheets=${pkgs.qt5ct}/share/qt5ct/qss/scrollbar-simple.qss, ${pkgs.qt5ct}/share/qt5ct/qss/sliders-simple.qss, ${pkgs.qt5ct}/share/qt5ct/qss/tooltip-simple.qss, ${pkgs.qt5ct}/share/qt5ct/qss/traynotification-simple.qss
[PaletteEditor]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2v\0\0\x2\x10\0\0\0\0\0\0\0\0\0\0\x2v\0\0\x2\x10\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x2v\0\0\x2\x10)
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x3\xad\0\0\x3\xf5\0\0\0\0\0\0\0\0\0\0\x3\xbf\0\0\x4\v\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x3\xad\0\0\x3\xf5)
[Troubleshooting]
force_raster_widgets=1
ignored_applications=@Invalid()
'';
};
}

48
home/themes/qt/qt6ct.nix Normal file
View file

@ -0,0 +1,48 @@
{ pkgs, ... }: {
xdg.configFile = {
"qt6ct/colors/paradise.conf".text = ''
[ColorScheme]
active_colors=#ffe8e3e3, #ff1f1f1f, #ff1f1f1f, #ff151515, #ff424242, #ff6e738d, #ffe8e3e3, #ffe8e3e3, #ffe8e3e3, #ff151515, #ff1f1f1f, #ff151515, #ff2e2e2e, #ffbbb6b6, #ff8c977d, #ffed8796, #ff151515, #ffe8e3e3, #ff181926, #ffe8e3e3, #80151515
disabled_colors=#ff808080, #ff1f1f1f, #ff1f1f1f, #ff151515, #ff424242, #ff6e738d, #ff808080, #ffe8e3e3, #ff808080, #ff151515, #ff1f1f1f, #ff151515, #ff2e2e2e, #ff808080, #ff8c977d, #ffed8796, #ff151515, #ffe8e3e3, #ff181926, #ffe8e3e3, #80151515
inactive_colors=#ffe8e3e3, #ff1f1f1f, #ff1f1f1f, #ff151515, #ff424242, #ff6e738d, #ffe8e3e3, #ffe8e3e3, #ffe8e3e3, #ff151515, #ff1f1f1f, #ff151515, #ff2e2e2e, #ffbbb6b6, #ff8c977d, #ffed8796, #ff151515, #ffe8e3e3, #ff181926, #ffe8e3e3, #80151515
'';
"qt6ct/qt6ct.conf".text = ''
[Appearance]
color_scheme_path=/home/dragora/.config/qt6ct/colors/paradise.conf
custom_palette=true
icon_theme=Papirus-Dark
standard_dialogs=default
style=Fusion
[Fonts]
fixed="JetBrainsMono Nerd Font Mono,12,-1,5,50,0,0,0,0,0,Regular"
general="JetBrainsMono Nerd Font,12,-1,5,50,0,0,0,0,0,Regular"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=0
cursor_flash_time=1000
dialog_buttons_have_icons=1
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
stylesheets=${pkgs.qt6ct}/share/qt6ct/qss/scrollbar-simple.qss, ${pkgs.qt6ct}/share/qt6ct/qss/sliders-simple.qss, ${pkgs.qt6ct}/share/qt6ct/qss/tooltip-simple.qss, ${pkgs.qt6ct}/share/qt6ct/qss/traynotification-simple.qss
[PaletteEditor]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2v\0\0\x2\x10\0\0\0\0\0\0\0\0\0\0\x2v\0\0\x2\x10\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x2v\0\0\x2\x10)
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x3\xad\0\0\x3\xf5\0\0\0\0\0\0\0\0\0\0\x3\xbf\0\0\x4\v\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x3\xad\0\0\x3\xf5)
[Troubleshooting]
force_raster_widgets=1
ignored_applications=@Invalid()
'';
};
}

View file

@ -0,0 +1,27 @@
{ inputs, ... }:
let
wal = inputs.walls;
img = "${wal}/desktop/flower14.jpeg";
in {
stylix = {
image = img;
base16Scheme = {
base00 = "#151515";
base01 = "#1F1F1F";
base02 = "#2E2E2E";
base03 = "#424242";
base04 = "#BBB6B6";
base05 = "#E8E3E3";
base06 = "#E8E3E3";
base07 = "#E8E3E3";
base08 = "#B66467";
base09 = "#D9BC8C";
base0A = "#D9BC8C";
base0B = "#8C977D";
base0C = "#8AA6A2";
base0D = "#8DA3B9";
base0E = "#A988B0";
base0F = "#BBB6B6";
};
};
}

View file

@ -0,0 +1,48 @@
{ config, pkgs, inputs, ... }: {
imports = [ inputs.stylix.homeManagerModules.stylix ./paradise.nix ];
stylix = {
enable = true;
autoEnable = false;
cursor = {
name = "GoogleDot-Black";
package = pkgs.google-cursor;
size = 21;
};
fonts = {
serif = {
name = "JetBrainsMono NerdFont";
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
};
monospace = config.stylix.fonts.serif;
emoji = {
name = "OpenMoji Color";
package = pkgs.noto-fonts-emoji;
};
sizes = {
desktop = 10;
popups = 10;
applications = 12;
terminal = 12;
};
};
targets = {
tmux.enable = true;
fish.enable = true;
nushell.enable = true;
hyprland.enable = true;
sway.enable = true;
foot.enable = true;
kitty.enable = true;
gtk.enable = true;
nixvim.enable = true;
yazi.enable = true;
fzf.enable = true;
bat.enable = true;
mako.enable = true;
mangohud.enable = true;
vesktop.enable = true;
qutebrowser.enable = true;
firefox.enable = true;
};
};
}

View file

@ -0,0 +1,20 @@
{ pkgs, inputs, ... }: {
imports = [
./hyprland
# ./swayfx
./terminals
./misc
];
home.packages = with pkgs; [
hyprcursor
hyprpicker
hyprpaper
kitty
mako
nwg-drawer
grimblast
wf-recorder
light
wl-clipboard
];
}

View file

@ -0,0 +1,161 @@
{ pkgs, config, ... }: {
wayland.windowManager.hyprland.settings = with pkgs; {
# SHORTCUTS
"$m" = "SUPER";
"$s" = "SHIFT";
"$a" = "ALT";
"$c" = "CTRL";
"$rt" = "RETURN";
"$sp" = "SPACE";
"$tb" = "TAB";
"$nx" = "Next";
"$pr" = "Prior";
"$p" = "Print";
"$md" = "mouse_down";
"$mu" = "mouse_up";
# MOUSE
bindm = [
"$m, mouse:272, movewindow"
"$m, mouse:273, resizewindow"
"$m $s, mouse:273, resizewindow 1"
];
# KEYBOARD
bind = [
# BUILTIN COMMANDS
"$m, $sp, togglefloating"
# "$m $s, $sp, hyprexpo:expo, toggle"
"$m, Q, killactive"
"$m, C, centerwindow"
"$m, F, fullscreen"
"$m, X, pseudo"
"$m, P, pin"
"$m, O, cyclenext"
"$m $s, O, swapnext "
"$m, G, togglegroup"
"$m $s, G, changegroupactive"
"$m $a, G, moveoutofgroup"
"$m, D, togglespecialworkspace, extra"
"$m $s, D, movetoworkspace, special:extra"
"$m, S, togglespecialworkspace, magic"
"$m $s, S, movetoworkspace, special:magic"
"$m, $md, workspace, e+1"
"$m, $mu, workspace, e-1"
"$m, $nx, workspace, e+1"
"$m, $pr, workspace, e-1"
# PROGRAMS
"$m, $rt, exec, kitty -T Terminal"
"$m $s, $rt, exec, kitty --class=termfloat -T Terminal"
"$m, $tb, exec, nwg-drawer -ovl -nocats -nofs -d -c 7 -mb -49"
"$m, V, exec, ayugram-desktop"
"$m $s, V, exec, vesktop"
"$m, B, exec, floorp"
"$m $s, B, exec, firefox"
"$m, N, exec, kitty -T Explorer yazi"
"$m $s, N, exec, kitty --class=tfm -T Explorer yazi"
"$m $a, N, exec, nemo"
"$m, M, exec, spotify"
"$m $s, M, exec, obsidian"
"$m, A, exec, kitty --class=anicliru -T Anime anicli-ru -q 1080"
"$m, Z, exec, kitty --class=miniprogs -T Sound pulsemixer --no-mouse"
"$m $s, Z, exec, kitty --class=miniprogs -T Bluetooth bluetuith"
"$m, T, exec, bottles"
"$m $s, T, exec, prismlauncher"
"$m, XF86WakeUp, exec, playerctl play-pause"
"$m, XF86Go, exec, playerctl next"
"$m, Cancel, exec, playerctl previous"
", $p, exec, grimblast copysave area $(xdg-user-dir PICTURES)/$(date +'scr_%d-%m-%y|%H:%M:%S.png')"
"$s, $p, exec, grimblast copysave output $(xdg-user-dir PICTURES)/$(date +'scr_%d-%m-%y|%H:%M:%S.png')"
"$a, $p, exec, grimblast copysave active $(xdg-user-dir PICTURES)/$(date +'scr_%d-%m-%y|%H:%M:%S.png')"
"$a $s, $p, exec, hyprpicker -a"
] ++ (builtins.concatLists (builtins.genList (i:
let ws = i + 1;
in [
"$mod, code:1${toString i}, workspace, ${toString ws}"
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
]) 9));
# HOLDING BUTTONS
binde = [
# HJKL
"$m, H, movefocus, l"
"$m, J, movefocus, d"
"$m, K, movefocus, u"
"$m, L, movefocus, r"
"$m $s, H, swapwindow, l"
"$m $s, J, swapwindow, d"
"$m $s, K, swapwindow, u"
"$m $s, L, swapwindow, r"
"$m $a, H, resizeactive, -50 0"
"$m $a, J, resizeactive, 0 50"
"$m $a, K, resizeactive, 0 -50"
"$m $a, L, resizeactive, 50 0"
"$m $c, H, moveactive, -50 0"
"$m $c, J, moveactive, 0 50"
"$m $c, K, moveactive, 0 -50"
"$m $c, L, moveactive, 50 0"
# ARROWS
"$m, left, movefocus, l"
"$m, down, movefocus, d"
"$m, up, movefocus, u"
"$m, right, movefocus, r"
"$m $s, left, swapwindow, l"
"$m $s, down, swapwindow, d"
"$m $s, up, swapwindow, u"
"$m $s, right, swapwindow, r"
"$m $a, left, resizeactive, -50 0"
"$m $a, down, resizeactive, 0 50"
"$m $a, up, resizeactive, 0 -50"
"$m $a, right, resizeactive, 50 0"
"$m $c, left, moveactive, -50 0"
"$m $c, down, moveactive, 0 50"
"$m $c, up, moveactive, 0 -50"
"$m $c, right, moveactive, 50 0"
# BRIGHTNESS
", XF86MonBrightnessDown, exec, doas light -U 10"
", XF86MonBrightnessUp, exec, doas light -A 10"
# SOUND
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
"$s, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%+"
"$s, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%-"
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioMicMute, exec, fixf4=$(cat /sys/class/leds/platform::micmute/brightness); echo $((1-fixf4)) | doas tee /sys/class/leds/platform::micmute/brightness; wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
];
bindl = [
# ", switch:on:Lid Switch, exec, hyprctl keyword input:kb_variant = us && hyprlock"
];
};
}

View file

@ -0,0 +1,11 @@
{ pkgs, inputs, ... }:
let hpkg = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system};
in {
imports = [ ./binds.nix ./rules.nix ./settings.nix ./plugins.nix ];
wayland.windowManager.hyprland = {
enable = true;
package = hpkg.hyprland;
xwayland.enable = true;
systemd.enable = true;
};
}

View file

@ -0,0 +1,36 @@
{ pkgs, inputs, config, ... }: {
wayland.windowManager.hyprland = with config.lib.stylix.colors; {
plugins = with inputs; [ hyprfocus.packages.${pkgs.system}.default ];
settings.plugin = {
# FOCUS
hyprfocus = {
enabled = "yes";
animate_floating = "yes";
animate_workspacechange = "yes";
focus_animation = "focus";
bezier = [
"bezIn, 0.5,0.0,1.0,0.5"
"bezOut, 0.0,0.5,0.5,1.0"
"overshot, 0.05, 0.9, 0.1, 1.05"
"smoothOut, 0.36, 0, 0.66, -0.56"
"smoothIn, 0.25, 1, 0.5, 1"
"realsmooth, 0.28,0.29,.69,1.08"
];
flash = {
flash_opacity = 0.95;
in_bezier = "realsmooth";
in_speed = 0.5;
out_bezier = "realsmooth";
out_speed = 3;
};
shrink = {
shrink_percentage = 0.95;
in_bezier = "realsmooth";
in_speed = 1;
out_bezier = "realsmooth";
out_speed = 2;
};
};
};
};
}

View file

@ -0,0 +1,40 @@
{ config, lib, ... }: {
wayland.windowManager.hyprland.settings = with config.lib.stylix.colors; {
windowrulev2 = [
# "rounding 8, floating:1"
# "noshadow, floating:0"
# "noanim, floating:0"
"workspace 2 silent, class:^(firefox)$"
"workspace 2 silent, class:^(floorp)$"
"workspace 3 silent, class:^(Spotify)$"
"workspace 4 silent, class:^(com.ayugram)$"
"workspace 4 silent, class:^(vesktop)$"
"workspace 5 silent, class:^(obsidian)$"
"workspace 6 silent, class:^(anicli)$"
"float, class:^(termfloat)$"
"size 650 430, class:^(termfloat)$"
"move center, class:^(termfloat)$"
"float, class:^(tfm)$"
"size 800 350, class:^(tfm)$"
"move center, class:^(tfm)$"
"float, title:^(Media viewer)$"
"fullscreen, title:^(Media viewer)$"
"size 670 540, title:^(Media viewer)$"
"float, class:^(xdg-desktop-portal-gtk)$"
"size 807 570, class:^(xdg-desktop-portal-gtk)$"
"nodim, class:^(mpv)$"
"float, class:^(anicliru)$"
"size 660 630, class:^(anicliru)$"
"bordercolor rgb(${base08}) rgb(${base09}) 45deg, class:^(anicliru)$"
"bordercolor rgb(${base0E}, title:^(Картинка в картинке)$"
"noshadow, title:^(Картинка в картинке)$"
];
};
}

View file

@ -0,0 +1,122 @@
{ config, lib, inputs, ... }:
let wal = inputs.walls;
in {
wayland.windowManager.hyprland = {
settings = with config.lib.stylix.colors; {
monitor = ", 1920x1080@60, auto, 1";
env = [ "SLURP_ARGS, -b ${base00}CC -c ${base06}FF -B ${base0F}CC" ];
exec-once = [
"mako"
# "swaybg -i ${config.stylix.image}"
];
# APPERANCE
general = {
gaps_in = 4;
gaps_out = 8;
border_size = 3;
layout = "dwindle";
allow_tearing = false;
"col.active_border" = lib.mkForce "rgb(${base01})";
"col.inactive_border" = lib.mkForce "rgb(${base01})";
};
decoration = {
rounding = 12;
drop_shadow = true;
shadow_ignore_window = true;
shadow_offset = "0 0";
shadow_range = 10;
shadow_render_power = 8;
dim_inactive = true;
dim_strength = 0.3;
blur = {
enabled = true;
size = 18;
passes = 5;
noise = 0;
new_optimizations = true;
ignore_opacity = true;
xray = false;
vibrancy = 0.9;
popups = true;
special = true;
};
};
group = {
"col.border_active" = lib.mkForce "rgb(${base0C}) rgb(${base0B}) 45deg";
"col.border_inactive" = lib.mkForce "rgb(${base01})";
groupbar = {
gradients = false;
"col.active" = lib.mkForce "rgb(${base05})";
"col.inactive" = lib.mkForce "rgb(${base01})";
render_titles = false;
};
};
# ANIMATIONS
animations = {
enabled = true;
first_launch_animation = false;
bezier = [
"linear, 1, 1, 1, 1"
"over, 0, 0.1, 0.1, 0.3"
"myBezier, 0.05, 0.9, 0.1, 1.0"
];
animation = [
"windowsIn, 1, 3, myBezier, popin 80%"
"windowsOut, 1, 3, myBezier, popin 80%"
"windowsMove, 1, 2, over"
"border, 1, 3, myBezier"
"workspaces, 1, 2.7, default, slide"
"specialWorkspaceIn, 1, 1, default, fade"
"specialWorkspaceOut, 1, 1, default, fade"
"fade, 1, 2, myBezier"
"fadeShadow, 1, 4, default"
];
};
# TRACKPOINT | TOUCHPAD | MOUSE
cursor.inactive_timeout = 1;
input = {
kb_layout = "us,ru";
kb_options = "grp:caps_toggle";
accel_profile = "adaptive";
touchpad = {
natural_scroll = false;
disable_while_typing = true;
};
};
gestures = {
workspace_swipe = true;
workspace_swipe_fingers = 3;
workspace_swipe_create_new = true;
};
# WINDOW LAYOUT
dwindle = {
pseudotile = true;
preserve_split = true;
smart_resizing = true;
# no_gaps_when_only = true;
force_split = 2;
};
misc = {
disable_hyprland_logo = true;
disable_splash_rendering = true;
mouse_move_enables_dpms = true;
vfr = true;
vrr = 1;
animate_manual_resizes = true;
animate_mouse_windowdragging = true;
enable_swallow = true;
close_special_on_empty = true;
background_color = lib.mkForce "rgb(${base00})";
};
};
extraConfig =
" device {\n name = tpps/2-elan-trackpoint\n accel_profile = flat\n }\n";
};
}

View file

@ -0,0 +1,7 @@
{
imports = [
./mako
# ./waybar
# ./swaync
];
}

View file

@ -0,0 +1,18 @@
{ config, lib, ... }: {
services.mako = with config.lib.stylix.colors; {
enable = true;
icons = true;
anchor = "top-right";
actions = false;
backgroundColor = lib.mkForce "#${base01}";
borderColor = lib.mkForce "#${base0E}";
borderRadius = 12;
borderSize = 2;
textColor = lib.mkForce "#${base05}";
layer = "overlay";
sort = "-time";
margin = "20, 10, 20";
maxVisible = 5;
defaultTimeout = 0;
};
}

View file

@ -0,0 +1,30 @@
{ config, ... }: {
services.swaync = {
enable = false;
settings = {
positionX = "right";
positionY = "top";
layer = "overlay";
control-center-layer = "top";
layer-shell = true;
cssPriority = "application";
control-center-margin-top = 6;
control-center-margin-bottom = 0;
control-center-margin-right = 0;
control-center-margin-left = 0;
control-center-height = 600;
control-center-width = 500;
notification-2fa-action = true;
notification-inline-replies = false;
notification-icon-size = 64;
notification-body-image-height = 100;
notification-body-image-width = 200;
timeout = 10;
hide-on-clear = true;
hide-on-action = true;
transition-time = 200;
};
style = with config.lib.stylix.colors;
" @define-color background #${base00};\n @define-color background-alt #${base01};\n @define-color background-focus #${base02};\n @define-color border #${base03};\n @define-color red #${base08};\n @define-color orange #${base0A};\n @define-color yellow #${base09};\n @define-color green #${base0B};\n @define-color blue #${base0C};\n @define-color gray #${base05};\n @define-color black #${base00};\n @define-color white #${base06};\n\n * {\n font-family: \"JetBrainsMono Nerd Font\" !important;\n }\n\n progress, progressbar, trough {\n border: 1px solid @border;\n border-radius: 16px;\n }\n\n trough {\n background: @background-alt;\n }\n\n .notification.low, .notification.normal {\n border: 1px solid @border;\n }\n\n .notification.low progress, .notification.normal progress {\n background: @blue;\n }\n\n .notification.critical {\n border: 1px solid @red;\n }\n\n .notification.critical progress {\n background: @red;\n }\n\n .body, .time {\n color: alpha(@white, 0.7);\n }\n";
};
}

View file

@ -0,0 +1,145 @@
{ config, ... }: {
imports = [ ./style.nix ];
programs.waybar = with config.lib.stylix.colors; {
enable = true;
settings = {
# BAR AT BOTTOM
mainBar = {
layer = "top";
position = "bottom";
height = 1;
modules-left = [
"custom/launcher"
"custom/separatorL"
"pulseaudio"
"custom/separatorL"
"backlight"
"custom/separatorL"
"network"
"custom/separatorL"
"hyprland/language"
];
modules-center = [ "hyprland/workspaces" ];
modules-right = [
"tray"
"custom/separatorR"
"disk"
"custom/separatorR"
"clock#time"
"custom/separatorR"
"battery"
];
# LEFT MODULES
"custom/launcher" = {
format = "<span color='#${base0C}' font='17'></span> {}";
on-click = "nwg-drawer -ovl -nocats -nofs -d -c 7 -mb -49";
tooltip = false;
};
"custom/separatorL" = {
format = "|";
interval = 1;
tooltip = false;
};
"pulseaudio" = {
format = "{icon} {volume}%";
format-icons = {
default = [ "" " " " " ];
headphone = [ "" ];
headset = [ "" ];
};
format-muted = " muted";
scroll-step = 3;
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
tooltip = false;
};
"backlight" = {
device = "intel_backlight";
format = "{icon}{percent}%";
format-icons = [ "󱩎 " "󱩏 " "󱩐 " "󱩑 " "󱩒 " "󱩓 " "󱩔 " "󱩕 " "󱩖 " "󰛨 " ];
scroll-step = 1;
tooltip = false;
};
"network" = {
format-icons = [ "󰤯" "󰤟" "󰤢" "󰤥" "󰤨" ];
format-wifi = "{icon} CON";
format-ethernet = "󰈀 ETH";
format-disconnected = " ERR";
on-click = "kitty nmtui";
interval = 5;
tooltip = false;
};
"hyprland/language" = {
format = "󰌌 {}";
format-en = "EN";
format-ru = "RU";
keyboard-name = "at-translated-set-2-keyboard";
tooltip = false;
};
"cava" = {
framerate = 24;
autosens = 1;
bars = 12;
source = "auto";
format-icons = [ "" "" "" "" "" "" "" "" ];
actions = { on-click-right = "mode"; };
};
# CENTER MODULES
"hyprland/workspaces" = {
on-click = "activate";
format = "{icon}";
format-icons = {
"1" = "";
"2" = "";
"3" = "";
"4" = "";
"5" = "";
"6" = "";
"7" = "";
"8" = "";
"9" = "";
"10" = "";
};
persistent-workspaces = { "*" = [ 1 2 3 4 5 6 7 8 9 10 ]; };
};
# RIGHT MODULES
"custom/separatorR" = {
format = "|";
interval = 1;
tooltip = false;
};
"tray" = {
icon-size = 18;
show-passive-items = true;
spacing = 8;
};
"disk" = {
format = "{used} of {total} 󰋊";
interval = 30;
path = "/";
unit = "GB";
tooltip = false;
};
"clock#time" = {
format = "{:%H:%M} ";
interval = 1;
tooltip = false;
};
"battery" = {
format = "{capacity}% {icon}";
format-alt = "{time} {icon}";
format-charging = "{capacity}% 󱐋";
format-icons = [ "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ];
states = {
critical = 15;
warning = 30;
};
tooltip = false;
};
};
};
};
}

View file

@ -0,0 +1,116 @@
{ config, ... }: {
programs.waybar.style = with config.lib.stylix.colors; ''
/* BAR ITSELF */
* {
font-family: "JetBrainsMono Nerd Font";
font-weight: bold;
font-size: 16px;
}
window#waybar {
background-color: transparent;
color: #${base06};
}
window#waybar > box {
margin: 5px 0px 0px 0px;
background-color: #${base00};
border-top: 0px;
border-bottom: 0;
border-style: solid;
border-color: #3C3836;
/* box-shadow: 1 1 3 1px #101010; */
}
/* WORKSPACES */
#workspaces button {
background-color: #${base03};
border-radius: 20px;
margin: 2px;
padding: 0px;
padding-right: 6px;
padding-left: 6px;
color: #${base06};
min-height: 25px;
transition: all 0.4s ease-in-out;
}
#workspaces button label {
color: #${base06};
font-weight: bolder;
}
#workspaces button.empty {
background: #${base02};
}
#workspaces button.active {
background: radial-gradient(circle, #${base0E} 0%, #${base0E} 50%, #${base0D} 100%);
background-size: 400% 400%;
animation: gradient 5s linear infinite;
transition: all 0.3s ease-in-out;
border-color: #${base00};
}
#workspaces button.active label {
color: #${base02};
font-weight: bolder;
}
@keyframes gradient {
0% { background-position: 0px 50px; }
50% { background-position: 100px 30px; }
100% { background-position: 0px 50px; }
}
@keyframes gradient_f {
0% { background-position: 0px 200px; }
50% { background-position: 200px 0px; }
100% { background-position: 400px 200px; }
}
@keyframes gradient_f_nh {
0% { background-position: 0px 200px; }
100% { background-position: 200px 200px; }
}
/* MODULES */
#custom-date,
#battery,
#backlight
#clock,
#pulseaudio,
#workspaces,
#window,
#language,
#text,
#custom-launcher,
#custom-separator
#battery,
#backlight,
#custom-date,
#cava,
#network,
#disk,
#clock,
#language,
#pulseaudio,
#custom-separator,
#custom-launcher,
#tray {
color: #${base06};
background-color: transparent;
padding: 0 0.4em;
padding-top: 0px;
padding-bottom: 2px;
border-style: solid;
min-height: 30px;
}
#workspaces {
margin: 3 0 3 0px;
border-radius: 14 14 14 14px;
}
'';
}

View file

@ -0,0 +1,127 @@
{ lib, ... }:
let
# MODIFIERS
m = "Mod4";
s = "Shift";
c = "Ctrl";
a = "Alt";
# BUTTUONS
rt = "Return";
tb = "Tab";
sp = "Space";
gr = "grave";
pr = "print";
# DISPATCHERS
ex = "exec";
ws = "workspace";
mv = "move";
cn = "container";
nm = "number";
# ARROWS
r = "right";
d = "down";
u = "up";
l = "left";
in {
wayland.windowManager.sway.config.keybindings = lib.mkOptionDefault {
# SWAY NATIVE CMD
"${m}+q" = "kill";
"${m}+f" = "fullscreen";
"${m}+${sp}" = "floating toggle";
"${m}+c" = "${ex} swaymsg move position center";
"${m}+w" = "${ex} killall -SIGUSR1 waybar";
# PROGRAMS
"${m}+${rt}" = "${ex} foot -T Terminal";
"${m}+${s}+${rt}" = "${ex} foot -a float -T Terminal";
"${m}+${a}+${rt}" =
"${ex} foot -w $(slurp -b '#181926CC' -c '#8bd5caFF' -w '3' -f '%wx%h') -a footz -T Terminal";
"${m}+${tb}" = "${ex} nwg-drawer -nocats -nofs -d -c 7 -mb -49";
"${m}+b" = "${ex} firefox";
"${m}+${s}+b" = "${ex} obsidian";
"${m}+v" = "${ex} ayugram";
"${m}+${s}+v" = "${ex} vesktop";
"${m}+m" = "${ex} spotify";
"${m}+t" = "${ex} transmission-gtk";
"${m}+${s}+t" = "${ex} qbittorrent";
"${m}+a" = "${ex} anicli-ru -q 720";
"${pr}" = "grimshot savecopy anything";
"${pr}+${s}" = "grimshot savecopy output";
# CONTROL
"${m}+g" = "layout tabbed";
"${m}+${s}+g" = "layout toggle split";
"${m}+p" = "move scratchpad";
"${m}+${s}+p" = "scratchpad show";
"${m}+Home" = "exit";
"${m}+${s}+Home" = "reload";
# WORKSPACES SWITCH
"${m}+1" = "${ws} ${nm} 1";
"${m}+2" = "${ws} ${nm} 2";
"${m}+3" = "${ws} ${nm} 3";
"${m}+4" = "${ws} ${nm} 4";
"${m}+5" = "${ws} ${nm} 5";
"${m}+6" = "${ws} ${nm} 6";
"${m}+7" = "${ws} ${nm} 7";
"${m}+8" = "${ws} ${nm} 8";
"${m}+9" = "${ws} ${nm} 9";
"${m}+0" = "${ws} ${nm} 10";
# WORKSPACES MOVE
"${m}+${s}+1" = "${mv} ${cn} to ${ws} ${nm} 1";
"${m}+${s}+2" = "${mv} ${cn} to ${ws} ${nm} 2";
"${m}+${s}+3" = "${mv} ${cn} to ${ws} ${nm} 3";
"${m}+${s}+4" = "${mv} ${cn} to ${ws} ${nm} 4";
"${m}+${s}+5" = "${mv} ${cn} to ${ws} ${nm} 5";
"${m}+${s}+6" = "${mv} ${cn} to ${ws} ${nm} 6";
"${m}+${s}+7" = "${mv} ${cn} to ${ws} ${nm} 7";
"${m}+${s}+8" = "${mv} ${cn} to ${ws} ${nm} 8";
"${m}+${s}+9" = "${mv} ${cn} to ${ws} ${nm} 9";
"${m}+${s}+0" = "${mv} ${cn} to ${ws} ${nm} 10";
# ARROWS
# "${m}+${r}" = "move workspace to output right";
# "${m}+${d}" = "move workspace to output down";
# "${m}+${u}" = "move workspace to output up";
# "${m}+${l}" = "move workspace to output left";
# "${m}+${s}+${r}" = "move right";
# "${m}+${s}+${d}" = "move down";
# "${m}+${s}+${u}" = "move up";
# "${m}+${s}+${l}" = "move left";
# "${m}+${a}+${r}" = "focus right";
# "${m}+${a}+${d}" = "focus down";
# "${m}+${a}+${u}" = "focus up";
# "${m}+${a}+${l}" = "focus left";
# HJKL
"${m}+h" = "move workspace to output left";
"${m}+j" = "move workspace to output down";
"${m}+k" = "move workspace to output up";
"${m}+l" = "move workspace to output right";
"${m}+${s}+h" = "move left";
"${m}+${s}+j" = "move down";
"${m}+${s}+k" = "move up";
"${m}+${s}+l" = "move right";
"${m}+${a}+h" = "focus left";
"${m}+${a}+j" = "focus down";
"${m}+${a}+k" = "focus up";
"${m}+${a}+l" = "focus right";
};
}

View file

@ -0,0 +1,10 @@
{ pkgs, ... }: {
imports = [ ./binds.nix ./settings.nix ];
wayland.windowManager.sway = {
enable = true;
xwayland = true;
systemd.enable = true;
package = pkgs.swayfx;
};
}

View file

@ -0,0 +1,84 @@
{ config, lib, ... }:
let
m = "Mod4";
s = "Shift";
c = "Ctrl";
a = "Alt";
pr = "Print";
in {
wayland.windowManager.sway = with config.lib.stylix.colors; {
config = {
input = {
"*" = {
xkb_layout = "us,ru";
xkb_options = "grp:caps_toggle";
};
};
startup = [
# { command = "${...}"; }
];
modifier = "Mod4";
left = "h";
down = "j";
up = "k";
right = "l";
bindkeysToCode = true;
workspaceAutoBackAndForth = true;
gaps = {
inner = 4;
outer = 4;
smartBorders = "on";
smartGaps = true;
};
window = {
border = 2;
titlebar = false;
hideEdgeBorders = "smart";
};
floating = {
border = 2;
titlebar = false;
modifier = "Mod4";
};
colors = lib.mkForce {
background = "#${base00}";
focused = {
background = "#${base00}";
border = "#${base00}";
childBorder = "#${base0B}";
indicator = "#${base08}";
text = "#${base06}";
};
focusedInactive = {
background = "#${base02}";
border = "#${base00}";
childBorder = "#${base0B}";
indicator = "#${base08}";
text = "#${base04}";
};
unfocused = {
background = "#${base00}";
border = "#${base00}";
childBorder = "#${base0B}";
indicator = "#${base08}";
text = "#${base06}";
};
urgent = {
background = "#${base00}";
border = "#${base08}";
childBorder = "#${base0B}";
indicator = "#${base08}";
text = "#${base06}";
};
};
};
extraConfig =
"\n # corner_radius 10\n # blur enable\n # blur_xray on\n\n # shadows enable\n # shadows_on_csd enable\n # shadow_color #${base00}\n # shadow_blur_radius 12\n\n # default_dim_inactive 0.4\n ";
};
}

View file

@ -0,0 +1 @@
{ imports = [ ./foot ./kitty ]; }

View file

@ -0,0 +1,16 @@
{ lib, ... }: {
programs.foot = {
enable = true;
server.enable = false;
settings = {
main = {
font = lib.mkForce "JetBrainsMono Nerd Font:size=12";
pad = "10x10 center";
resize-by-cells = "yes";
letter-spacing = 0;
};
cursor = { style = "block"; };
mouse = { hide-when-typing = "yes"; };
};
};
}

View file

@ -0,0 +1,50 @@
{ ... }: {
programs.kitty.keybindings = {
"ctrl+shift+c" = "copy_to_clipboard";
"ctrl+shift+v" = "paste_from_clipboard";
"kitty_mod+x" = "next_tab";
"kitty_mod+shift+x" = "move_tab_forward";
"kitty_mod+z" = "previous_tab";
"kitty_mod+shift+z" = "move_tab_backward";
"kitty_mod+enter" = "new_window";
"kitty_mod+a" = "new_tab";
"kitty_mod+q" = "close_window";
"kitty_mod+shift+=" = "set_background_opacity +0.1";
"kitty_mod+shift+-" = "set_background_opacity -0.1";
"kitty_mod+shift+0" = "set_background_opacity 1";
"kitty_mod+." = "layout_action decrease_num_full_size_windows";
"kitty_mod+," = "layout_action increase_num_full_size_windows";
"kitty_mod+/" = "layout_action mirror toggle";
"kitty_mod+m" = "layout_action mirror true";
"kitty_mod+n" = "layout_action mirror false";
"kitty_mod+left" = "resize_window narrower";
"kitty_mod+right" = "resize_window wider";
"kitty_mod+up" = "resize_window taller";
"kitty_mod+down" = "resize_window shorter";
"kitty_mod+home" = "resize_window reset";
"kitty_mod+h" = "resize_window narrower";
"kitty_mod+l" = "resize_window wider";
"kitty_mod+k" = "resize_window taller";
"kitty_mod+j" = "resize_window shorter";
"kitty_mod+g" = "resize_window reset";
"kitty_mod+r" = "load_config_file";
"kitty_mod+t" = "set_tab_title";
"kitty_mod+i" = "next_layout";
"kitty_mod+u" = "kitten unicode_input";
"kitty_mod+escape" = "kitty_shell overlay";
"kitty_mod+]" = "next_window";
"kitty_mod+[" = "previous_window";
"kitty_mod+p" = "set_background_opacity 1";
"kitty_mod+o" = "set_background_opacity default";
"kitty_mod+f" = "toggle_fullscreen";
"f11" = "toggle_fullscreen";
};
}

View file

@ -0,0 +1,36 @@
{ config, ... }: {
programs.kitty.settings = with config.lib.stylix.colors; {
foreground = "#${base05}";
background = "#${base00}";
selection_foreground = "#${base05}";
selection_background = "#${base02}";
tab_bar_background = "#${base00}";
active_tab_foreground = "#${base00}";
active_tab_background = "#${base0B}";
inactive_tab_foreground = "#${base04}";
inactive_tab_background = "#${base00}";
active_border_color = "#${base0E}";
inactive_border_color = "#${base00}";
bell_border_color = "#${base08}";
color0 = "#${base00}";
color1 = "#${base08}";
color2 = "#${base0B}";
color3 = "#${base0A}";
color4 = "#${base0D}";
color5 = "#${base0E}";
color6 = "#${base0C}";
color7 = "#${base05}";
color8 = "#${base03}";
color9 = "#${base08}";
color10 = "#${base0B}";
color11 = "#${base0A}";
color12 = "#${base0D}";
color13 = "#${base0E}";
color14 = "#${base0C}";
color15 = "#${base07}";
};
}

View file

@ -0,0 +1,44 @@
{ config, ... }: {
imports = [ ./binds.nix ./colors.nix ];
programs.kitty = with config.lib.stylix.colors; {
enable = true;
environment = {
"MICRO_TRUECOLOR" = "1";
"RANGER_LOAD_DEFAULT_RC" = "false";
};
settings = {
confirm_os_window_close = 0;
tab_bar_min_tabs = 2;
tab_bar_edge = "button";
tab_bar_style = "fade";
tab_bar_align = "left";
tab_powerline_style = "angled";
tab_title_template = "{title}";
tab_bar_margin_width = 0;
tab_fade = "0 0.5 1";
window_margin_width = 8;
window_padding_width = 4;
window_border_width = "0.2pt";
single_window_padding_width = 4;
resize_in_steps = "no";
resize_debounce_time = 0;
dynamic_background_opacity = true;
cursor_shape = "block";
mouse_hide_wait = 2;
underline_hyperlinks = "always";
enable_audio_bell = "no";
disable_ligatures = "never";
font_features =
"+calt +liga +ss01 +ss02 +ss03 +ss04 +ss05 +ss06 +ss07 +ss08 +ss09";
# clipboard_control = "read-primary read-clipboard";
kitty_mod = "alt";
};
shellIntegration.enableFishIntegration = true;
};
}

7
host/default.nix Normal file
View file

@ -0,0 +1,7 @@
{
imports = [
./themes/stylix.nix
./system
./misc
];
}

12
host/misc/default.nix Normal file
View file

@ -0,0 +1,12 @@
{
imports = [
./locale.nix
./nh.nix
./nix.nix
./pkgs.nix
./security.nix
./user.nix
./zapret.nix
];
}

18
host/misc/locale.nix Normal file
View file

@ -0,0 +1,18 @@
{ pkgs, ... }: {
# LOCALE AND TIME SETTINGS
time.timeZone = "Asia/Chita";
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
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";
};
};
}

8
host/misc/nh.nix Normal file
View file

@ -0,0 +1,8 @@
{ ... }: {
programs.nh = { # NIX HELPER
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 4d --keep 3";
flake = "/home/dragora/.flake";
};
}

30
host/misc/nix.nix Normal file
View file

@ -0,0 +1,30 @@
{ pkgs, lib, ... }: {
nix = { # NIX SETTINGS
package = pkgs.nix;
settings = {
warn-dirty = false;
experimental-features = [ "nix-command" "flakes" ];
substituters = [
"https://yazi.cachix.org"
"https://cache.garnix.io"
"https://anyrun.cachix.org"
"https://hyprland.cachix.org"
];
trusted-public-keys = [
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
"yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k="
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
trusted-users = [ "dragora" "@wheel" ];
};
};
nixpkgs = {
hostPlatform = lib.mkDefault "x86_64-linux";
config = { # NIXPKGS SETS
allowBroken = true;
allowUnfree = true;
};
};
}

36
host/misc/pkgs.nix Normal file
View file

@ -0,0 +1,36 @@
{ pkgs, inputs, lib, ... }:
let hpkg = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system};
in {
# OS PACKAGES
nixpkgs = { hostPlatform = lib.mkDefault "x86_64-linux"; };
environment.systemPackages = with pkgs; [
git
helix
hyprland
home-manager
# (callPackage ./torrserver/default.nix { })
];
# PROGRAMS ENABLE
programs = {
fish.enable = true;
gamescope.enable = true;
steam = {
enable = true;
package = pkgs.steam.override {
extraEnv = {
MANGOHUD = true;
OBS_VKCAPTURE = true;
RADV_TEX_ANISO = 16;
};
};
extraCompatPackages = with pkgs; [ proton-ge-bin ];
protontricks.enable = true;
};
hyprland = {
enable = true;
package = hpkg.hyprland;
portalPackage = hpkg.xdg-desktop-portal-hyprland;
};
};
}

22
host/misc/security.nix Normal file
View file

@ -0,0 +1,22 @@
{ pkgs, ... }: {
security = {
sudo = { # FUCKING CRAP
enable = true;
};
doas = { # VERY TOP
enable = true;
wheelNeedsPassword = true;
extraRules = [{
users = [ "dragora" ];
keepEnv = true;
persist = true;
}];
extraConfig =
" permit nopass dragora as root cmd light\n permit nopass dragora as root cmd tee\n";
};
pam = { # SOMTHING WITH FPRINT
services = { swaylock.fprintAuth = true; };
};
polkit = { enable = true; };
};
}

12
host/misc/user.nix Normal file
View file

@ -0,0 +1,12 @@
{ pkgs, config, ... }: {
users = {
users = { # USERS
dragora = {
shell = pkgs.fish;
isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" "video" ];
};
};
};
system.stateVersion = "24.05";
}

20
host/misc/zapret.nix Normal file
View file

@ -0,0 +1,20 @@
{ pkgs, lib, config, ... }: {
systemd.services.zapret = { # ZAPRET FOR YOTUBE
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
path = with pkgs; [ iptables nftables zapret ipset curl gawk ];
serviceConfig = {
Type = "forking";
Restart = "no";
TimeoutSec = "30sec";
IgnoreSIGPIPE = "no";
KillMode = "none";
GuessMainPID = "no";
ExecStart = "${pkgs.zapret}/bin/zapret start";
ExecStop = "${pkgs.zapret}/bin/zapret stop";
EnvironmentFile = pkgs.writeText "zapret-environment"
" FWTYPE=\"iptables\"\n SET_MAXELEM=522288\n IPSET_OPT=\"hashsize 262144 maxelem $SET_MAXELEM\"\n AUTOHOSTLIST_RETRANS_THRESHOLD=3\n AUTOHOSTLIST_FAIL_THRESHOLD=3\n AUTOHOSTLIST_FAIL_TIME=60\n AUTOHOSTLIST_DEBUGLOG=0\n MDIG_THREADS=30\n GZIP_LISTS=1\n\n MODE=nfqws\n MODE_HTTP=1\n MODE_HTTP_KEEPALIVE=0\n MODE_HTTPS=1\n MODE_QUIC=0\n MODE_FILTER=none\n\n DESYNC_MARK=0x40000000\n DESYNC_MARK_POSTNAT=0x20000000\n NFQWS_OPT_DESYNC=\"--dpi-desync=fake,split2 --dpi-desync-ttl=3\"\n TPWS_OPT=\"--hostspell=HOST --split-http-req=method --split-pos=3 --oob\"\n FLOWOFFLOAD=donttouch\n INIT_APPLY_FW=1\n DISABLE_IPV6=0\n";
};
};
}

56
host/system/boot.nix Normal file
View file

@ -0,0 +1,56 @@
{ pkgs, ... }: {
boot = { # ITSELF LOL
kernelPackages = pkgs.linuxPackages_zen;
kernelModules = [ "kvm-amd" ];
consoleLogLevel = 0;
kernelParams = [
"quiet"
"loglevel=3"
"nowatchdog"
"page_alloc.shuffle=1"
"threadirqs"
"split_lock_detect=off"
"pci=pcie_bus_perf"
"psmouse.synaptics_intertouch=0"
"rd.systemd.show_status=false"
"amdgpu.gttsize=2000"
];
loader = { # SYSTEMD BOOT AS DEFAULT
systemd-boot = {
enable = true;
configurationLimit = 4;
};
efi.canTouchEfiVariables = true;
timeout = 0;
};
initrd = { # IDK
availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"ohci_pci"
"ehci_pci"
"pata_atiixp"
"ums_realtek"
"sd_mod"
"sr_mod"
"sdhci_pci"
"usb_storage"
];
systemd.enable = true;
compressor = "zstd";
compressorArgs = [ "-9" ];
verbose = false;
};
plymouth = { # PLYMOUTH WITH NIXOS LOGO
enable = true;
logo =
"${pkgs.nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png";
};
tmp.cleanOnBoot = true;
};
}

10
host/system/default.nix Normal file
View file

@ -0,0 +1,10 @@
{
imports = [
./boot.nix
./disks.nix
./hardware.nix
./services.nix
./network.nix
./sound.nix
];
}

29
host/system/disks.nix Normal file
View file

@ -0,0 +1,29 @@
{ config, lib, pkgs, modulesPath, ... }: {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
# NIXOS SYSTEM ITSELF
fileSystems."/" = {
device = "/dev/disk/by-uuid/00fc272e-b8e6-4081-9f75-fac3119b1e98";
fsType = "btrfs";
options = [ "subvol=@" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/B2AF-39E5";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
# OTHER DISKS
fileSystems."/mnt/HDD" = {
device = "/dev/disk/by-uuid/9290bc08-17fe-47db-a535-d4044b8c8dfb";
fsType = "ext4";
options = [ "nosuid" "nodev" "nofail" "x-gvfs-show" ];
};
fileSystems."/mnt/SSD" = {
device = "/dev/disk/by-uuid/e6bc9034-95a4-43bd-b5f5-c7c1743e9f7c";
fsType = "ext4";
options = [ "nosuid" "nodev" "nofail" "x-gvfs-show" ];
};
}

30
host/system/hardware.nix Normal file
View file

@ -0,0 +1,30 @@
{ config, lib, ... }: {
hardware = {
# AND VIDEOCARD DRIVE (maybe)
amdgpu = {
# opencl.enable = true;
amdvlk = {
enable = true;
supportExperimental.enable = true;
support32Bit.enable = true;
};
};
# OPENGL
graphics = {
enable = true;
enable32Bit = true;
};
# PROCCESOR
cpu.amd = {
updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
ryzen-smu.enable = true;
};
# BLUETOOTH
bluetooth = {
enable = true;
powerOnBoot = true;
};
xone.enable = true;
};
}

13
host/system/network.nix Normal file
View file

@ -0,0 +1,13 @@
{ lib, ... }: {
networking = { # NETWORK
hostName = "karbur";
networkmanager = { # NETWORK MANAGER
enable = true;
insertNameservers = [ "1.1.1.1" "1.0.0.1" ];
wifi.powersave = true;
};
useDHCP = lib.mkDefault true;
nftables.enable = true;
# resolvconf.dnsSingleRequest = true;
};
}

27
host/system/services.nix Normal file
View file

@ -0,0 +1,27 @@
{ ... }: {
services = { # SERVICES
getty.autologinUser = "dragora";
xserver = { # XORG?
xkb = {
layout = "us";
variant = "qwerty";
options = "grp:caps_toggle";
};
};
tailscale = { # OWN VPN NETWORK
enable = true;
useRoutingFeatures = "both";
};
system76-scheduler = { # PERFORMANCEE
enable = false;
settings = {
cfsProfiles.enable = true;
processScheduler.pipewireBoost.enable = true;
};
};
resolved = { enable = true; };
dbus.implementation = "broker";
gvfs.enable = true;
};
}

12
host/system/sound.nix Normal file
View file

@ -0,0 +1,12 @@
{ ... }: {
security.rtkit.enable = true;
services.pipewire = { # SOUND NEW GEN
enable = true;
wireplumber.enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
};
}

Some files were not shown because too many files have changed in this diff Show more