This is a somewhat opinionated setup for my personal machines and servers, as well as a work laptop. The setup is as follows:
- Desktop environment: wayland / sway / kitty
- 2x scaling - apps configured for HiDPI
- Audio: pipewire
- Wireless: network manager
- Browsers: Brave, Firefox
- Other configured apps: Spotify, Gimp, Neovim, VSCodium, Discord, prismlauncher, Blender
- Fork repo
- Update "config.nix" with your settings
- Rename hosts/nflx-erahhal-t490s/ and configure your host
- Update flake.nix with the updated hostname and hardware import
sudo fprintd-enroll <username>
- At SDDM login, hit enter without a password, then touch the fingerprint sensor
- When sway is locked, also just hit enter for the password then touch the sensor
- run
nmtui
- GUI
pavucontrol
- command line
pactl list short sinks
pactl set-default-sink [sink name]
- run
blueman-manager
- Updates through this method may not be the latest - check device website
sudo fwupdmgr refresh --force
sudo fwupdmgr get-updates
sudo fwupdmgr update
sudo dmidecode -s bios-version
watch -n.1 "grep \"^[c]pu MHz\" /proc/cpuinfo"
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
or
cpufreq-inf
cctk --CStatesCtrl
nix-env -f '<nixpkgs>' -qaP -A vimPlugins
nix-env -f '<nixpkgs>' -qaP -A nodePackages
- To setup monitor layout/config
- users//modules/kanshi.nix
- Touchpad configuration
- mixins/sway.nix
- config.wayland.windowManager.sway.input, "type:touchpad"
- mixins/sway.nix
- Thinkpad CPU scaling and battery charge limits
- services.tlp.settings
- To disable fingerprint login
- services.fprintd.enable = false;
- security.pam.services.login.fprintAuth = false;
- security.pam.services.xscreensaver.fprintAuth = false;
-
build/
- files used at nixos-rebuild time -
containers/
- Container configs, mainly docker setups for use on a server. -
dotfiles/
- Legacy dotfile configs that are not written in nix, but should be at a later date. -
flakes/
- Independent flakes, in development, before they are ready to be broken out into a separate repo -
helpers/
- Nix helper functions to assist with configuration -
home/
- home-manager modules and configuration. -
hosts/
- Configuration for individual machines. -
modules/
- Custom configurable Nix modules -
overlays/
- Existing package customizations. overlays -
pkgs/
- Custom Packages/Derivations that aren't in nixpkgs. -
profiles/
- Modular configurations for individual concerns. See profiles -
overlays/
- Valid overlays included in all hosts -
scripts/
- Scripts, or any other files to place in home directory, managed by home-manager. This is done viahome.file."scripts".source = "${self}/scripts"
-
shells/
- Special Environments/Shells, for example with Yocto. -
wallpapers/
- Background images