.github/assets | ||
hosts/nixos | ||
modules | ||
pkgs | ||
wallpapers | ||
flake.lock | ||
flake.nix | ||
install.sh | ||
LICENSE | ||
README.md |
Frost-Phoenix's Flakes
Screeenshot last updated 2024-01-12
🖼️ Gallery
EXPAND
🗃️ Overview
📚 Layout
- flake.nix base of the configuration
- hosts 🌳 per-host configurations that contain machine specific configurations
- nixos 🖥️ Default host
- modules 🍱 modularized NixOS configurations
- core ⚙️ Core NixOS configuration
- homes 🏠 my Home-Manager config
- pkgs 📦 packages exported by my flake
- wallpapers 🌄 wallpapers collection
📓 Components
NixOS + Hyprland | |
---|---|
Window Manager | Hyprland |
Bar | Waybar |
Application Launcher | wofi |
Notification Daemon | Mako |
Terminal Emulator | Kitty |
Shell | zsh + oh-my-zsh + Starship |
Text Editor | VSCodium + Neovim |
network management tool | NetworkManager + network-manager-applet |
System resource monitor | Btop |
File Manager | nemo + yazi |
Fonts | Nerd fonts |
Color Scheme | Catppuccin |
Cursor | Nordzy-cursors |
Icons | catppuccin-papirus-folders |
Lockscreen | Swaylock-effects |
Image Viewer | imv |
Media Player | mpv |
Music Player | audacious |
Screenshot Software | grimblast |
Screen Recording | wf-recorder |
Clipboard | wl-clipboard |
Color Picker | hyprpicker |
📝 Shell aliases
Utils (EXPAND)
c
\rightarrow
clear
vim
\rightarrow
nvim
cat
\rightarrow
bat
nano
\rightarrow
micro
icat
\rightarrow
kitten icat
dsize
\rightarrow
du -hs
findw
\rightarrow
grep -rl
l
\rightarrow
eza --icons -a --group-directories-first -1
ll
\rightarrow
eza --icons -a --group-directories-first -1 --no-user --long
tree
\rightarrow
eza --icons --tree --group-directories-first
Nixos (EXPAND)
cdnix
\rightarrow
cd ~/nixos-config && codium ~/nixos-config
nix-shell
\rightarrow
nix-shell --run zsh
nix-switch
\rightarrow
sudo nixos-rebuild switch --flake ~/nixos-config#nixos
nix-switchu
\rightarrow
sudo nixos-rebuild switch --upgrade --flake ~/nixos-config#nixos
nix-flake-update
\rightarrow
sudo nix flake update ~/nixos-config#
nix-clean
\rightarrow
sudo nix-collect-garbage && sudo nix-collect-garbage -d && sudo rm /nix/var/nix/gcroots/auto/* && nix-collect-garbage && nix-collect-garbage -d
Git (EXPAND)
ga
\rightarrow
git add
gaa
\rightarrow
git add --all
gs
\rightarrow
git status
gb
\rightarrow
git branch
gm
\rightarrow
git merge
gpl
\rightarrow
git pull
gplo
\rightarrow
git pull origin
gps
\rightarrow
git push
gpso
\rightarrow
git push origin
gc
\rightarrow
git commit
gcm
\rightarrow
git commit -m
gch
\rightarrow
git checkout
gchb
\rightarrow
git checkout -b
gcoe
\rightarrow
git config user.email
gcon
\rightarrow
git config user.name
g
\rightarrow
lazygit
🛠️ Scripts
All the scripts are in modules/home/scripts/scripts/
and are exported as packages in modules/home/scripts/default.nix
extract.sh
Description: This script extract tar.gz
archives in the current directory.
Usage: extract <archive_file>
compress.sh
Description: This script compress a file or a folder into a tar.gz
archives wich is created in the current directory with the name of the chosen file or folder.
Usage: compress <file>
or compress <folder>
toggle_blur.sh
Description: This script toggles the Hyprland blur effect. If the blur is currently enabled, it will be disabled, and if it's disabled, it will be turned on.
Usage: toggle_blur
toggle_oppacity.sh
Description: This script toggles the Hyperland oppacity effect. If the oppacity is currently set to 0.90, it will be set to 1, and if it's set to 1, it will be set to 0.90.
Usage: toggle_oppacity
maxfetch.sh
Description: This script is a modified verssion of the jobcmax/maxfetch script.
Usage: maxfetch
music.sh
Description: This script is for managing Audacious (music player). If Audacious is currently running, it will be killed (stoping the music); otherwise, it will start Audacious in the 8th workspace and resume the music.
Usage: music
runbg.sh
Description: This script runs a provided command along with its arguments and detaches it from the terminal. Handy for launching apps from the command line without blocking it.
Usage: runbg <command> <arg1> <arg2> <...>
⌨️ Keybinds
View all keybinds by pressing $mainMod F1
and wallpaper picker by pressing $mainMod w
. By default $mainMod
is the SUPER
key.
Keybindings
bind = $mainMod, Return, exec, kitty
bind = ALT, Return, exec, kitty --title float_kitty
bind = $mainMod SHIFT, Return, exec, kitty --start-as=fullscreen -o 'font_size=16'
bind = $mainMod, B, exec, firefox
bind = $mainMod, Q, killactive,
bind = $mainMod, F, fullscreen, 0
bind = $mainMod SHIFT, F, fullscreen, 1
bind = $mainMod, Space, togglefloating,
bind = $mainMod, D, exec, pkill wofi || wofi --show drun
bind = $mainMod, Escape, exec, swaylock
bind = $mainMod SHIFT, Escape, exec, shutdown-script
bind = $mainMod, P, pseudo,
bind = $mainMod, J, togglesplit,
bind = $mainMod, E, exec, nemo
bind = $mainMod SHIFT, B, exec, pkill -SIGUSR1 .waybar-wrapped
bind = $mainMod, C ,exec, hyprpicker -a
bind = $mainMod, G,exec, $HOME/.local/bin/toggle_layout
bind = $mainMod, W,exec, pkill wofi || wallpaper-picker
Screenshot
bind = $mainMod, Print, exec, grimblast --notify --cursor save area ~/Pictures/$(date +'%Y-%m-%d-At-%Ih%Mm%Ss').png
bind = ,Print, exec, grimblast --notify --cursor copy area
Switch window focus
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
Switch workspace
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
Switch window to workspace
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod CTRL, c, movetoworkspace, empty
Window control
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
bind = $mainMod CTRL, left, resizeactive, -80 0
bind = $mainMod CTRL, right, resizeactive, 80 0
bind = $mainMod CTRL, up, resizeactive, 0 -80
bind = $mainMod CTRL, down, resizeactive, 0 80
bind = $mainMod ALT, left, moveactive, -80 0
bind = $mainMod ALT, right, moveactive, 80 0
bind = $mainMod ALT, up, moveactive, 0 -80
bind = $mainMod ALT, down, moveactive, 0 80
Media and volume controls
bind = ,XF86AudioRaiseVolume,exec, pamixer -i 2
bind = ,XF86AudioLowerVolume,exec, pamixer -d 2
bind = ,XF86AudioMute,exec, pamixer -t
bind = ,XF86AudioPlay,exec, playerctl play-pause
bind = ,XF86AudioNext,exec, playerctl next
bind = ,XF86AudioPrev,exec, playerctl previous
bind = , XF86AudioStop, exec, playerctl stop
bind = $mainMod, mouse_down, workspace, e-1
bind = $mainMod, mouse_up, workspace, e+1
Mouse binding
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
🚀 Installation
⚠️ Use this configuration at your own risk! ⚠️
Applying custom configurations, especially those related to your operating system, can have unexpected consequences and may interfere with your system's normal behavior. While I have tested these configurations on my own setup, there is no guarantee that they will work flawlessly on all systems.
I am not responsible for any issues that may arise from using this configuration.
It is highly recommended to review the configuration contents and make necessary modifications to customize it to your needs before attempting the installation.
-
Install NixOs
First install nixos using any graphical ISO image.
Only been tested using the Gnome graphical installer and choosing the
No desktop
option durring instalation. -
Clone the repo
git clone https://github.com/Frost-Phoenix/nixos-config cd nixos-config
-
Install script
Execute and follow the installation script :
Make sure to execute as root
sudo ./install.sh
👥 Credits
Other dotfiles that I learned / copy from:
-
Nix Flakes
- nomadics9/NixOS-Flake: This is where I start my nixos / hyprland journey.
- samiulbasirfahim/Flakes: General flake / files structure
- justinlime/dotfiles: Mainly waybar
- skiletro/nixfiles: Vscodium config (that prevent it to crash)
- fufexan/dotfiles
-
README