Skip to content

Instantly share code, notes, and snippets.

@ivylikethevine
Created May 26, 2024 01:47
Show Gist options
  • Save ivylikethevine/7b9b69f26b58d13d0d290c84f8be5a89 to your computer and use it in GitHub Desktop.
Save ivylikethevine/7b9b69f26b58d13d0d290c84f8be5a89 to your computer and use it in GitHub Desktop.
{ 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