Created
May 26, 2024 01:47
-
-
Save ivylikethevine/7b9b69f26b58d13d0d290c84f8be5a89 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ config, lib, pkgs, modulesPath, ... }: | |
{ | |
imports = | |
[ | |
./hardware-configuration.nix | |
]; | |
boot.blacklistedKernelModules = lib.mkDefault [ ]; | |
boot.kernelPackages = pkgs.linuxPackages_latest; | |
boot.kernelParams = lib.mkDefault [ ]; | |
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" "coretemp" ]; | |
environment.variables = { | |
VDPAU_DRIVER = lib.mkIf config.hardware.opengl.enable (lib.mkDefault "va_gl"); | |
}; | |
environment.systemPackages = with pkgs; [ | |
(vscode-with-extensions.override { | |
vscodeExtensions = with vscode-extensions; [ | |
ms-python.python | |
ms-azuretools.vscode-docker | |
ms-vscode.cpptools | |
ms-vscode.makefile-tools | |
ms-vscode.cmake-tools | |
mechatroner.rainbow-csv | |
graphql.vscode-graphql | |
graphql.vscode-graphql-syntax | |
golang.go | |
foxundermoon.shell-format | |
esbenp.prettier-vscode | |
editorconfig.editorconfig | |
redhat.vscode-xml | |
redhat.vscode-yaml | |
tamasfe.even-better-toml | |
prisma.prisma | |
]; | |
}) | |
fishPlugins.z | |
fishPlugins.wakatime-fish | |
fishPlugins.sponge | |
fishPlugins.puffer | |
fishPlugins.plugin-git | |
fishPlugins.pisces | |
fishPlugins.humantime-fish | |
fishPlugins.colored-man-pages | |
fishPlugins.bass | |
fishPlugins.autopair | |
fishPlugins.done | |
fishPlugins.fzf-fish | |
fishPlugins.forgit | |
fishPlugins.hydro | |
fzf | |
fishPlugins.grc | |
grc | |
]; | |
hardware = { | |
pulseaudio.enable = false; | |
enableRedistributableFirmware = true; | |
bluetooth = { | |
enable = true; | |
powerOnBoot = true; | |
}; | |
logitech.wireless = { | |
enable = true; | |
enableGraphical = true; | |
}; | |
opengl.extraPackages = with pkgs; [ | |
intel-vaapi-driver | |
libvdpau-va-gl | |
intel-media-driver | |
intel-compute-runtime | |
]; | |
}; | |
i18n.defaultLocale = "en_US.UTF-8"; | |
i18n.extraLocaleSettings = { | |
LC_ADDRESS = "en_US.UTF-8"; | |
LC_IDENTIFICATION = "en_US.UTF-8"; | |
LC_MEASUREMENT = "en_US.UTF-8"; | |
LC_MONETARY = "en_US.UTF-8"; | |
LC_NAME = "en_US.UTF-8"; | |
LC_NUMERIC = "en_US.UTF-8"; | |
LC_PAPER = "en_US.UTF-8"; | |
LC_TELEPHONE = "en_US.UTF-8"; | |
LC_TIME = "en_GB.UTF-8"; | |
}; | |
networking = { | |
hostName = "nixy"; | |
networkmanager.enable = true; | |
}; | |
nix.settings.experimental-features = [ "nix-command" "flakes" ]; | |
nixpkgs.config.allowUnfree = true; | |
programs = { | |
adb.enable = true; | |
dconf.enable = true; | |
direnv.enable = true; | |
fish.enable = true; | |
firefox.enable = true; | |
fzf.fuzzyCompletion = true; | |
java.enable = true; | |
kdeconnect.enable = true; | |
light.enable = true; | |
nix-ld.enable = true; | |
partition-manager.enable = true; | |
steam.enable = true; | |
tmux.enable = true; | |
}; | |
programs.fish = { | |
vendor = { | |
config.enable = true; | |
completions.enable = true; | |
}; | |
shellAbbrs = { | |
ll = "ls -l"; | |
lsr = "ls -l $(ls)"; | |
os-build = "sudo nixos-rebuild switch"; | |
os-upgrade = "sudo nixos-rebuild switch --upgrade-all"; | |
os-clean = "sudo nix-collect-garbage -d"; | |
os-edit = "code /etc/nixos"; | |
os-search = "nix search nixpkgs"; | |
nxc = "nix-collect-garbage"; | |
dcl = "docker container list"; | |
dil = "docker image list"; | |
dcu = "docker compose up -d"; | |
dcd = "docker compose down"; | |
}; | |
}; | |
programs.bash = { | |
interactiveShellInit = '' | |
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] | |
then | |
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" | |
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION | |
fi | |
''; | |
}; | |
programs.git = { | |
enable = true; | |
lfs.enable = true; | |
config = { | |
user.name = " "; | |
user.email = " "; | |
init.defaultBranch = "main"; | |
safe.directory = "/etc/nixos"; | |
push.autoSetupRemote = true; | |
}; | |
}; | |
qt = { | |
enable = true; | |
platformTheme = "kde"; | |
style = "adwaita-dark"; | |
}; | |
security.rtkit.enable = true; | |
services = { | |
fwupd.enable = true; | |
hardware.bolt.enable = true; | |
openssh.enable = true; | |
printing.enable = true; | |
thermald.enable = true; | |
touchegg.enable = true; | |
wg-netmanager.enable = true; | |
avahi = { | |
enable = true; | |
nssmdns = true; | |
}; | |
xserver = { | |
enable = true; | |
libinput.enable = true; | |
layout = "us"; | |
xkbOptions = "ctrl:nocaps"; | |
desktopManager = { | |
plasma5.enable = true; | |
}; | |
displayManager = { | |
sddm.enable = true; | |
sddm.theme = "breeze"; | |
}; | |
}; | |
pipewire = { | |
enable = true; | |
alsa.enable = true; | |
alsa.support32Bit = true; | |
pulse.enable = true; | |
jack.enable = true; | |
wireplumber.enable = true; | |
}; | |
}; | |
sound.enable = true; | |
system = { | |
stateVersion = "23.11"; | |
autoUpgrade = { | |
channel = "nixos-unstable"; | |
enable = true; | |
allowReboot = false; | |
}; | |
}; | |
time.timeZone = "America/Los_Angeles"; | |
users.users.ivy = { | |
isNormalUser = true; | |
description = "ivy"; | |
extraGroups = [ "networkmanager" "wheel" "docker" ]; | |
packages = with pkgs; [ | |
android-studio | |
arduino | |
beekeeper-studio | |
blender | |
blueberry | |
bluetooth_battery | |
cargo | |
curl | |
discord | |
ffmpeg | |
go | |
htop | |
hugo | |
kotlin | |
kvmtool | |
libnfs | |
libwebp | |
lm_sensors | |
logseq | |
avahi | |
nssmdns | |
nfs-utils | |
nixpkgs-fmt | |
nix-ld | |
nmap | |
novnc | |
openssl | |
os-prober | |
p7zip | |
prusa-slicer | |
python3 | |
qbittorrent | |
qdirstat | |
qmk | |
rar | |
rustc | |
samba | |
slack | |
tor-browser-bundle-bin | |
unzip | |
ustreamer | |
via | |
vial | |
vscode | |
webcamoid | |
wget | |
xclip | |
zfs | |
zip | |
]; | |
}; | |
virtualisation.docker = { | |
enable = true; | |
rootless = { | |
enable = true; | |
setSocketVariable = true; | |
}; | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment