Coder Social home page Coder Social logo

dots's Introduction

Profiles Pictures
Typing SVG

nixos unstable hyprland issues GitHub License


πŸ—ΊοΈ Overview

This my personal NixOS flake configuration, for my daily driver. It uses a mix of NixOS, Home-Manager, Agenix, and Stylix to manage the system. Note it's not recommended to use this configuration as is, as it's tailored to my needs. Feels free to use it as a reference or a starting point for your own configuration.

🌌 Screenshots

🩻 Components

NixOS Wayland
Window Manager Hyprland
Terminal Emulator Alacritty
Bar Waybar
Launcher Rofi Wayland
Display Manager SDDM
Theme Manager Stylix
Wallpaper Manager Swww
Notifications Dunst
Lock Screen Hyprlock
File Manager Nautilus
USB Mounting Udiskie
Shell Zsh + Starship
Media Player MPV
Web Browser Firefox

⌨️ Keybindings

Keys Action
Super + C Close focused window
Super + F Fullscreen focused window
Super + P Pseudo focused window
Super + G Group focused window
Super + H Toggle window split
Super + Shift + F Toggle window float
Super + Enter Open terminal
Super + L Lock screen
Super + D Open application launcher
Super + B Open wallpaper picker
Super + N Open network menu
Super + W Open windows menu
Super + X Open power menu
Super + V Open clipboard menu
Super + Y Open waybar layout menu
Super + Shift + S Open screenshot menu
Super + S Screenshot tool
Super + R Screen recorder tool
Super + E Eyedropper tool
Super + O OCR tool
Super + [0-9] Switch workspaces
Super + Ctrl + ↓ Move to the first empty workspace
Super + Shift + [0-9] Move focused window to a workspace
Super + ←→↑↓ Move window focus
Super + Alt + ←→
Super + Alt + Mouse Wheel
Switch workspaces to a relative workspace
Super + RMB + Drag Resize focus window
Super + LMB + Drag Move focus window
Super + Tab Open special workspace
Super + = Move focus to special workspace
Super + + Move special workspace focus in relative workspace

πŸ§‘β€πŸ”§ Setup

This setup assume modern hardware with UEFI support.

πŸ—’οΈ Initial

Download NixOS minimal unstable ISO from here.

Create a bootable USB drive with the ISO, Ventoy is recommended.

Boot into the USB drive using UEFI mode, else the grub installation will fail near the end.

You are logged in automatically as nixos in terminal. nixos has empty password with sudo access. Switch to root with sudo su.

πŸ—„οΈ Partitioning

Assume /dev/nvme0n1 is the target drive, replace it with your drive, found with lsblk.

  1. Create a GPT partition table.
    parted /dev/nvme0n1 -- mklabel gpt
    
  2. Create boot partition. Note I personally make my boot partition larger than 512MiB works better for
    NixOS config switching to avoid running out of space.
    parted /dev/nvme0n1 -- mkpart ESP fat32 1MiB 1024MiB
    parted /dev/nvme0n1 -- set 1 esp on
    
  3. Create swap partition. Depending on your RAM size, you can adjust the size. 32GB*1024 plus boot partition size = final number.
    parted /dev/nvme0n1 -- mkpart primary linux-swap 1024MiB 33792MiB
    
  4. Create root partition. The rest of the drive.
    parted /dev/nvme0n1 -- mkpart primary ext4 33792MiB 100%
    
  5. Check your lovely work.
    parted /dev/nvme0n1 -- print
    

πŸ—ƒοΈ Filesystems

Labels and names are important for NixOS configuration to work properly. found in hardware-configuration.nix.

  1. Format boot partition.

    mkfs.fat -F32 -n boot /dev/nvme0n1p1
    
  2. Format swap partition.

    mkswap -L swap /dev/nvme0n1p2
    swapon /dev/nvme0n1p2
    
  3. Format root partition.

    mkfs.ext4 -L nixos /dev/nvme0n1p3
    

πŸ–¨οΈ Installing

Time to install NixOS with this flake configuration.

  1. Mount root partition.

    mount /dev/disk/by-label/nixos /mnt
    
  2. Mount boot partition.

    mkdir -p /mnt/boot
    mount /dev/disk/by-label/boot /mnt/boot
    
  3. Clone repo.

    nix-env -iA nixos.git
    git clone https://github.com/b-ran/dots /mnt/etc/nixos
    
  4. Do the installation.

    cd /mnt/etc/nixos
    nixos-install --flake .#desktop
    
  5. If everything goes well, reboot. You should be greeted with the login screen. May need to remove the USB drive.

    reboot
    

dots's People

Contributors

b-ran avatar

Stargazers

 avatar Flynn Owen avatar Rado avatar Pavel Zamyatin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.