![Nix](https://img.shields.io/badge/Nix-unstable-blue.svg?logo=nixos&logoColor=white) ![Home Manager](https://img.shields.io/badge/Home_Manager-enabled-brightgreen.svg) # My even cooler than previous dotfiles! My dotfiles managed with [home manager](https://github.com/nix-community/home-manager), using [catppuccin mocha](https://catppuccin.com/palette/) color scheme! # What's inside? * Ashell * Atuin * Bat * Btop * Fish * Git * Hypridle * Hyprland * Hyprlauncher * Hyprlock * Hyprsunset * Hyprtoolkit * Kitty * Mako * Nixvim * Satty * SSH * Waybar * Yazi * Zoxide * Fastfetch * GTK 3.0 * GTK 4.0 * MangoHud * Mimeapps * Catppuccin * Home Manager * Obsidian ## Screenshot ![Desktop screenshot](assets/screenshot.png) ![Terminal screenshot](assets/terminal.png) # Some history about my dotfiles My first ever [dotfiles](https://github.com/szymon-jozef/dotfiles) repo was just named… Dotfiles. It was pretty bare bones. Then I created [superior dotfiles](https://github.com/szymon-jozef/superior_dotfiles). I used it with [chezmoi](https://www.chezmoi.io/). It was pretty good, but then I decided to try something else… As of today I'm using this repo with home manager. I'm still trying stuff out, but it looks pretty good right now. # How to use this? You need to have [home manager](https://nix-community.github.io/home-manager/index.xhtml#sec-install-standalone) installed. Install needs to be **standalone**. It may not work as NixOS module. ## Settings You need to edit `flake.nix` to match your preferences. - If you want to use git, login with `gh auth login`, generate ssh key and put the pub key in the flake. - You also need to set your git credentials there - You can change the path of wallpaper dir. ### Arch Linux 0. If you're extra lazy you can use `install_nix_and_home_manager_on_arch.sh` script to install nix and home-manager. Just run it with `chmod +x ./install_nix_and_home_manager_on_arch.sh && ./install_nix_and_home_manager_on_arch.sh` 1. Copy this repo to `~/.config/home-manager` or somewhere else. 2. Make sure to change variable to your liking inside `flake.nix`. Especially your username and home path! 3. Download all the dependencies `yay -Syu --needed - < arch_packages.txt`. You can use any other aur helper if you want to, but be aware that regular pacman most likely won't work as `ashell` is not in regular repos yet. 4. Run this command to apply all the configurations for the first time `home-manager switch --flake .#arch -b backup`. Make sure to be in the repo root. All your existing files will be backed up with `.backup` extension. 5. Enjoy! Now you can use [nh](https://github.com/nix-community/nh). So for example to switch use `nh home switch . -c arch --backup-extension backup` ### NixOS 1. Copy this repo to `~/.config/home-manager` or somewhere else. 2. Make sure to change variable to your liking inside `flake.nix`. Especially your username and home path! 3. Run this command to apply all the configurations for the first time `home-manager switch --flake .#nixos -b backup`. Make sure to be in the repo root. All your existing files will be backed up with `.backup` extension. 4. Enjoy! Now you can use [nh](https://github.com/nix-community/nh). So for example to switch use `nh home switch . -c nixos --backup-extension backup` **ALSO MAKE SURE TO ENABLE HYPRLAND SYSTEM WIDE!!!!** ```nix { programs.hyprland = { enable = true; withUWSM = true; xwayland.enable = true; }; } ``` # Binds ## System & Power | Bind | Action | | :--- | :--- | | **SUPER + Shift + Ctrl + L** | Lock screen | | **SUPER + Shift + Ctrl + R** | Restart | | **SUPER + Shift + Ctrl + P** | Power off | | **SUPER + Shift + Ctrl + S** | Go to sleep | | **SUPER + Shift + Ctrl + M** | Logout | | **SUPER + V** | Show clipboard | | **SUPER + Alt + V** | Clear clipboard | ### Windows management | Bind | Action | | :--- | :--- | | **SUPER + Q** | Close active window | | **SUPER + F** | Fullscreen | | **SUPER + T** | Toggle floating window | | **SUPER + P** | Toggle pseudo layout | | **SUPER + S** | Toggle split / Swap with master window | | **SUPER + N** / **P** | Swap with next / previous window | | **SUPER + vim keys** | Move focus (Left / Down / Up / Right) | | **SUPER + Shift + vim keys** | Resize active window | | **SUPER + Left Mouse Button** | Move window | | **SUPER + Right Mouse Button**| Resize window | ### Workspaces | Bind | Action | | :--- | :--- | | **SUPER + 1-0** | Go to workspace 1-10 | | **SUPER + Shift + 1-0** | Move active window to workspace 1-10 | | **SUPER + Mouse Scroll** | Go to next/previous workspace | | **SUPER + Shift + Right / Left** | Move current workspace to next/previous monitor | | **SUPER + Tab** | Toggle scratchpad workspace | | **SUPER + Shift + Tab** | Move window to scratchpad | ### Applications | Bind | Action | | :--- | :--- | | **SUPER + Enter** | Open terminal | | **SUPER + Ctrl + Enter** | Open terminal (current workspace) | | **SUPER + Space** | Open app menu | | **SUPER + M** | Open waypaper menu | | **SUPER + Alt + C** | Apply OpenRGB color | | **SUPER + Ctrl + B** | Open/Focus web browser | | **SUPER + Ctrl + N** | Open/Focus notes app | | **SUPER + Ctrl + M** | Open/Focus music player | | **SUPER + Ctrl + S** | Open/Focus Signal | | **SUPER + Ctrl + V** | Open/quick switcher Vesktop | | **SUPER + Ctrl + G** | Open/Focus Steam | | **SUPER + Ctrl + F** | Open/Focus FreeTube | | **SUPER + Ctrl + X** | Open/Focus X app | | **SUPER + Ctrl + Shift + B** | Restart status bar | ### Zoom | Bind | Action | | :--- | :--- | | **SUPER + Alt + =** | Zoom in (+10%) | | **SUPER + Alt + -** | Zoom out (-10%) | | **SUPER + Alt + 0** | Reset zoom | ### Screenshots & Media | Bind | Action | | :--- | :--- | | **Print Screen** | Screenshot selected area | | **SUPER + Print Screen** | Screenshot fullscreen | | **Alt + Print Screen** | Screenshot active window | | **Pause** | Play / Pause media | | **SUPER + Pause** | Play / Pause Spotify | | **Brightness Keys** | Change screen brightness (+/- 10) | | **Volume Keys** | Change volume (+/- 5%) | | **Mic Mute Key** | Mute / Unmute microphone | # Default apps | Type | Application | | :--- | :--- | | Web Browser | Zen Browser | | Terminal | kitty | | Notes | Obsidian | | Music Player | Spotify | | App Launcher | hyprlauncher | | Signal | Signal-desktop | | Discord Client | Vesktop | | YouTube Client | FreeTube | | Gaming Platform | Steam | | Screen Recording | OBS Studio | | Image Editor | GIMP | | Wallpaper Picker | Waypaper / swww | | Screenshot Tool | grim (capture) & satty (editor) | | Screen Locker | hyprlock | | Clipboard Manager | cliphist & wl-clipboard | | RGB Lighting Control | OpenRGB | | Audio Volume Control | pavucontrol | | Screen Color (Night Light) | hyprsunset | | Status bar | AShell | | Web Apps (PWAs) | Facebook, Twitter, ProtonMail | --- I hope you'll enjoy it, if you for whatever reason want to try this random ass dotfiles found on the internet…