Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Configuration files for NixOS. This is a separate repo instead of being a part of linux-configs family because it's configured the Nix way.

Notifications You must be signed in to change notification settings

kurtbahartr/nixos-configs

Repository files navigation

NixOS Configs

Configuration files for NixOS. This isn't a part of linux-configs family because it's configured the Nix way.

Target workflow

  • Sane internet browsing
  • Gap-bridged Office experience (to make it easier to migrate from Microsoft 365 suite)
  • Python programming with Qt
  • Android debugging and development (Set up specifically for halogenOS.)
  • Revamped terminal shell (feat. LunarShell+zsh)

Review the configuration files to see which packages are installed and configured.

Technologies involved

  • Nix
  • Nixpkgs
  • Nix Flakes
  • Nix Home Manager

Pre-install steps

  • Modify the configs to reflect your hostname in the base install's configuration.nix, rebuild and reboot once.
  • Modify the PCI bus addresses in flake.nix to reflect your PC's PCI bus addresses.
    • This can be acquired via lshw like so: sudo nix run 'nixpkgs#lshw' -- -c display
  • Modify the Limine branding in lib/bootloader.nix to reflect what you want to be shown as the text on top.
  • Modify hardware-configuration.nix to reflect your specific hardware. REMEMBER TO CHANGE THE PARTITION UUIDS!
  • Review the packages and configs. Not everyone is content with my preferences.
  • Add Cider AppImage to Nix store if you're going to install it (nix-store --add-fixed sha256 cider-v3.0.2-linux-x64.AppImage). Otherwise, comment out the package declaration in lib/programs.nix.
  • Place your custom Waydroid images into the waydroid/ directory if you're going to use some. Otherwise, set systemSettings.waydroid.useCustomImages to false.

Installation

  • Copy the files to /etc/nixos.
  • sudo nixos-rebuild boot
  • Reboot.

Post-install steps

  • Set up Zen Browser and install the following extensions for a saner and cleaner Internet experience:
    • Bring Twitter Back: To revert "X" branding, iconography and terminology back to "Twitter" as we're all used to. (The URL is still "x.com", that cannot be tampered with as long as twitter.com is valid and redirects to x.com.)
    • Proton Pass (also sign into it): To have a privacy conscious password and passkey manager/provider. It's free to use and there's no limit to how many passwords and passkeys you can store whatsoever.
    • uBlock Origin: To get rid of ads, common cookie banners and newsletter pop-ups all across the internet, including on YouTube and Medium.
    • Plasma Integration: For native download progress and media controls on KDE Plasma.
  • Also import the Zen Mods in extra/ directory. View its contents to know what will be installed. It's in JSON format, so removing entries to omit specific Mods is also possible.
  • Once done, toggle the following settings in Zen Settings:
    • General
      • Tabs
        • Ctrl+Tab cycles through tabs in recently used order
    • Look and Feel
      • Vertical Tabs
        • Show New Tab Button on Tab List
          • Show separation border for when the new tab button is at the bottom
          • Move the new tab button to the top
  • gh auth login if you use GitHub.
  • Pair your Android device through wireless debugging using adb pair if you're willing to use USB/wireless debugging.
  • Set up WayDroid and install Inat BOX into it if you're willing to do so. Search for the APK yourself.
  • Visit https://login.tailscale.com/admin/machines/new-linux and generate an install script. Then copy the sudo tailscale up --auth-key=<key> part and paste it into your terminal.
  • If your Tailnet has subnet servers, do the following command and restart Tailscale:
    • sudo tailscale set --accept-routes
  • If you want to use an exit node available on your Tailnet, do the following command and restart Tailscale:
    • sudo tailscale set --exit-node=<machine-name> --exit-node-allow-lan-access
      • --exit-node-allow-lan-access parameter is purely optional. Without it, your machine will be completely isolated from your local network.

Bugs

  • Connecting to external display disconnects the built-in display on modern Nvidia laptops. The solution is logging out and logging back in while the display is connected.

About

Configuration files for NixOS. This is a separate repo instead of being a part of linux-configs family because it's configured the Nix way.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •