This commit is contained in:
gpskwlkr 2024-03-24 23:46:50 +04:00
parent 07d4f917bd
commit 0ed6ef409a
7 changed files with 110 additions and 5 deletions

19
LICENSE Normal file
View file

@ -0,0 +1,19 @@
Copyright (c) 2024 gpskwlkr <giorgi.anakidze@outlook.com>
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.

View file

@ -1 +1,89 @@
# nixos-hyprland-flake
# NixOS + Hyprland (Secureboot enabled)
![Hyprland screenshot](./images/2024-03-24-213455_hyprshot.png)
> WARNING! This configuration uses [lanzaboote](https://github.com/nix-community/lanzaboote) for Secure boot support. If you want to use the flake and don't need secure boot, make appropriate changes in [boot.nix](./system/boot.nix).
> WARNING! Make sure to change [hardware-configuration.nix](./hardware-configuration.nix) according to your PC or generate a new one via `nixos-generate-config --root /mnt` while installing.
> WARNING! Make sure to change home paths for config files in [user](./user/config).
> WARNING! There might be some non-critical bugs in configuration as I'm still working on it.
## Table Of Contents
- [About](#-about)
- [Components](#-components)
- [Keybindings](#-keybindings)
- [NixOS specific zsh aliases](#-nixos-specific-zsh-aliases)
- [License](#-license)
## About
This repository is housing my daily drive NixOS configuration using ❄f flakes, running Hyprland. Feel free to utilize it in its entirety or borrow specific components for your own configuration.
> Configuration is not lightweight and may require some disk space.
Notably, it utilizes:
- **flake** (Experimental feature of the Nix package manager)
- **nixpkgs**: unstable (only used for hyprshot & [Vesktop]())
## Components
| Component | Version/Name |
| ---------------- | ---------------------------------------------------- |
| Distro | NixOS |
| Shell | Zsh |
| Display Server | Wayland |
| WM (Compositor) | Hyprland |
| Bar | Waybar |
| Notification | Mako |
| Launcher | Wofi |
| Editor | Neovim |
| Terminal | Kitty |
| Fetch Utility | Neofetch |
| Theme | Catppuccin Macchiato |
| Icons | Colloid-teal-dark, Numix-Circle |
| Font | Nerd-fonts NixOS package (installing all nerd-fonts) |
| File Browser | Thunar |
| Internet Browser | Firefox |
| Screenshot | Hyprshot |
| Clipboard | Wl-clipboard |
| Idle | Swayidle |
| Lock | Swaylock |
| Logout menu | Wlogout |
| Wallpaper | Hyprpaper |
| Display Manager | SDDM |
| Containerization | Docker |
| Virtualisation | qemu + virt-manager + libvirtd |
## Keybindings
| Key Combination | Action |
| ------------------------- | --------------------------------------------------------------------- |
| SUPER + H, J, K, L | Change window focus |
| SUPER + CTRL + H, J, K, L | Resize window |
| SUPER + 1..0 | Change workspace |
| SUPER + SHIFT + 1..0 | Move window to workspace |
| SUPER + Q | Kill active window |
| SUPER + S | Toggle split |
| SUPER + M | Exit from `hyprland` |
| SUPER + Return | Launch `kitty` |
| SUPER + D | Launch `wofi` |
| SUPER + E | Launch `thunar` |
| SUPER + M | Launch `wlogout` |
| SUPER + SHIFT + L | Launch `swaylock` |
| Print | Take screenshot (currently configured to area capture into clipboard) |
All other keybindings can be found at [bind.conf](./user/config/hypr/bind.conf)
## NixOS specific zsh aliases
**fullClean** - Fully clean old generations data
**rebuild** - alias to `nixos-rebuild switch`
**fullRebuild** - same as previous but also includes `home-manager switch`
**homeRebuild** - only rebuild home-manager
> Make sure to make appropriate changes to [sh.nix](./user/sh.nix) flake paths.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

View file

@ -1,7 +1,6 @@
{ config, lib, pkgs, ... }:
{
system.stateVersion = "23.11";
}

View file

@ -1,5 +1,4 @@
{
description = "gpskwlkr NixOS";
inputs = {

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 MiB

View file

@ -25,7 +25,7 @@
allowUnfreePredicate = pkg: builtins.elem (builtins.parseDrvName pkg.name).name ["steam"];
permittedInsecurePackages = [
"electron-25.9.0"
"electron-25.9.0" # obsidian
];
};
};

View file

@ -3,7 +3,7 @@ $mainMod = SUPER
bind = $mainMod, Return, exec, kitty
bind = $mainMod, Q, killactive,
bind = $mainMod, M, exec, wlogout --protocol layer-shell
bind = $mainMod, E, exec, dolphin
bind = $mainMod, E, exec, thunar
bind = $mainMod, V, togglefloating,
bind = $mainMod, D, exec, wofi --show drun
bind = $mainMod, P, pseudo, # dwindle