/nix

My NixOS configurations

Primary LanguageNix

NixOS configuration

Installation

Before formatting the disk make sure that the disk has some empty space.

To clear the WHOLE disk run:

sgdisk -Z /dev/disk

Formatting disk

To format the disk run:

./format.sh /dev/disk

Installing NixOS

After formatting the disk, generate the config and run:

sudo su
git clone https://github.com/kamack38/nixos /mnt/home/kamack38/dotfiles
nix-shell -p git nixUnstable
nixos-generate-config --show-hardware-config>/mnt/home/kamack38/dotfiles/hardware-configuration.nix
nixos-install --flake /mnt/home/kamack38/dotfiles#default

The default user is kamack38 with password password

NixOS information

Features

  • Check if playerctl is enabled

  • Fix config

  • Conditional module imports

  • Enabling NixOS options in hm modules

  • nh - NixOs helper

  • Locales

  • Keyboard layout

  • TTY colours

  • fish

  • sudo insults and pw_feedback

  • cli programs

    • jq
    • fd
    • dust
    • tealdeer
    • ripgrep
    • bat
    • eza
    • croc
    • fzf
    • btop
    • ffmpeg
  • Neovim

    • Install LSPs
    • Install Formatters
    • Fix following links in Neovim docs
    • Harpoon with harpoon-line
    • Typst inline preview plugin (mathematical equations are separately complied and showed above their code)
    • rustceanvim
  • kitty

  • Yubikey

    • SSH support
    • GnuPG support
  • git & delta

  • GnuPG

  • gh

  • Firefox

    • Config
    • Addons
      • Vimium or Tridactyl
    • ff2mpv
    • Search engines
      • Search suggestions for supported engines
        • MDN
    • YouTube different shortcuts (h and l to skip 5 secs)
  • Desktop

    • Spotify & spicetify
    • Discord
      • Screen sharing support on Wayland via xwaylandvideobridge
    • File manager (dolphin)
    • Image viewer (gwenview)
    • Archive viewer (ark)
    • PDF viewer
    • GTK Theme
    • QT Theme
    • Mime types
    • Libre office (Config video)
  • Rust toolchain

  • mpv

    • sponsorblock
    • cheatsheet
    • webtorrent-mpv-hook
    • yt-dlp
  • mpd & mpris

  • playerctld (playerctl daemon)

  • sptlrx

  • Add assets

    • Dunst
  • Add scripts

    • Hyprlock
  • Hyprland (with current settings)

    • Hyprlock
    • Hypridle
    • Hyprpaper
    • waybar
      • brightnessctl
    • dunst
    • application launcher (rofi)
      • new config
    • screenshots (grimblast)
  • SDDM

    • Autologin
    • Plymouth
    • GreenLeaf Theme
      • Create theme repo
  • Coursor theme

    • Hyprcursor (maybe)
    • Fluent coursor theme
  • Fluent dark icon theme

  • Hardware configuration

  • Performance tweaks

    • Ananicy-cpp
  • Powersave tweaks (only when not charging)

  • Flatpaks

  • System hardening

    • rkhunter
    • lynis
    • ssh
  • Fonts

    • kitty
    • Chainese glyphs support
    • FiraCode NF
    • JetBrainsMono NF
  • System-wide spell checking

  • Swap (Wiki)

  • Hibernation

  • noisetorch

  • Firewall

    • Secure firewall (all ports blocked)
    • VPN support
    • VM support
  • VPN

  • Pam delay

  • Libinput

  • Dualscreen on boot

  • Home-manager

  • Modules

    • Docker
    • Virtual-machines
    • Bluetooth
    • wakatime
    • Nvidia
    • Games
    • Enable modules inside flakes
  • ISO

  • Additional features

    • Distrobox for easy VM spinning (Wiki)
    • Transfering files via MTP (Arch Wiki)
    • Android phone and file syncing
    • Expo dev environment (android studio)
    • MacOS KVM
    • Arch Linux tweaks
    • System-wide single colour theme
    • Kamack38 square plymouth theme
    • Periodic automatic backups (they send a notification when the backup time has come and send them repeatedly in small time intervals until a thumbdrive containing a certaing directory is connected and the backup completed (in the future switch to homeserver remote backups))
    • Package firefox extensions
    • Block all newly connected USB devices and easily allow to unblock them
    • Secure boot (Secure boot on NixOS with TPM)
    • Full typst editing workflow
    • LanguageTool
      • Custom server
      • NeoVim
    • Yubikey TOTP code generation
    • Command/Keybinding to view cheatsheets (NeoVim, Linux)
    • Sync between android and NixOS
  • Additional programs

    • Speech recognition (Whisper)
    • OCR (surya)
      • Convert PDF with images using OCR
    • Generate live subtitles for music files
    • Screen recording
    • Voice recording
    • Local GPT assistant that parses files and gives information found in them when asked
    • Subtitle for movies generation (subsai)
  • Learn nixos commands

  • Learn how to pin packages (easily)