Nixos stuff!
This commit is contained in:
parent
c41f72a4e5
commit
971ab02a11
|
@ -0,0 +1,3 @@
|
||||||
|
result
|
||||||
|
nixos-switch.log
|
||||||
|
hardware_configuration.nix
|
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "slstatus"]
|
||||||
|
path = slstatus
|
||||||
|
url = git://git.suckless.org/slstatus
|
|
@ -8,19 +8,35 @@
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
<home-manager/nixos>
|
||||||
];
|
];
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
# amdgpu stuffs
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||||
|
|
||||||
|
# opengl support
|
||||||
|
hardware.opengl.enable = true;
|
||||||
|
# opengl packages
|
||||||
|
hardware.opengl.extraPackages = with pkgs; [
|
||||||
|
rocm-opencl-icd
|
||||||
|
rocm-opencl-runtime
|
||||||
|
vaapiVdpau
|
||||||
|
libvdpau-va-gl
|
||||||
|
];
|
||||||
|
hardware.opengl.driSupport = true;
|
||||||
|
|
||||||
networking.hostName = "sky-laptop"; # Define your hostname.
|
networking.hostName = "sky-laptop"; # Define your hostname.
|
||||||
# Pick only one of the below networking options.
|
# Pick only one of the below networking options.
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "US/SanFrancisco";
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
# Configure network proxy if necessary
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
@ -55,25 +71,62 @@
|
||||||
services.xserver.windowManager.dwm.enable = true;
|
services.xserver.windowManager.dwm.enable = true;
|
||||||
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.users.sky = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
|
||||||
packages = with pkgs; [
|
|
||||||
firefox
|
|
||||||
tree
|
|
||||||
git
|
|
||||||
keepassxc
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
# Sky User
|
||||||
|
users.users.sky.isNormalUser = true;
|
||||||
|
users.users.sky.extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||||||
|
|
||||||
|
# Home Manager for Sky
|
||||||
|
home-manager.users.sky = {pkgs, ...}: {
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
firefox-bin
|
||||||
|
neofetch
|
||||||
|
ncpamixer
|
||||||
|
tree
|
||||||
|
neovim
|
||||||
|
xclip
|
||||||
|
grpc
|
||||||
|
clipcat
|
||||||
|
keepassxc
|
||||||
|
jellyfin-media-player
|
||||||
|
];
|
||||||
|
|
||||||
|
services.picom = {
|
||||||
|
enable = true;
|
||||||
|
vSync = true;
|
||||||
|
backend = "glx";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Sky Hearn";
|
||||||
|
userEmail = "sky.hearn@pm.me";
|
||||||
|
signing = {
|
||||||
|
key = "DAB485883AE426EC";
|
||||||
|
signByDefault = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
};
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
pulseaudio
|
||||||
|
bash
|
||||||
vim
|
vim
|
||||||
wget
|
wget
|
||||||
|
acpi
|
||||||
st
|
st
|
||||||
dmenu
|
dmenu
|
||||||
|
(let local_slstatus = pkgs.slstatus.overrideAttrs (_: {
|
||||||
|
src = ./slstatus;
|
||||||
|
}); in
|
||||||
|
(local_slstatus.override {
|
||||||
|
conf = ./slstatus/config.def.h;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
libva-utils
|
||||||
];
|
];
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
@ -84,6 +137,19 @@
|
||||||
enableSSHSupport = true;
|
enableSSHSupport = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# clipcat systemd service
|
||||||
|
systemd.services.clipcat = {
|
||||||
|
partOf = [ "graphical-session.target" ];
|
||||||
|
wantedBy = [ "graphical-session.target" ];
|
||||||
|
description = "Clipcat Daemon";
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = ''/usr/bin/clipcatd --no-daemon --replace''; # TODO: find where to actually run clipcatd
|
||||||
|
Restart = "on-failure";
|
||||||
|
Type = "simple";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
|
@ -119,4 +185,3 @@
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# A rebuild script that commits on a successful build
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# cd to your config dir
|
||||||
|
pushd ~/nixos/
|
||||||
|
|
||||||
|
# Edit your config
|
||||||
|
nvim configuration.nix
|
||||||
|
|
||||||
|
# Autoformat your nix files
|
||||||
|
# alejandra . &>/dev/null
|
||||||
|
|
||||||
|
# Shows your changes
|
||||||
|
git diff -U0 *.nix
|
||||||
|
|
||||||
|
echo "NixOS Rebuilding..."
|
||||||
|
|
||||||
|
# Rebuild, output simplified errors, log trackebacks
|
||||||
|
sudo nixos-rebuild switch &>nixos-switch.log || (cat nixos-switch.log | grep --color error && false)
|
||||||
|
|
||||||
|
# Get current generation metadata
|
||||||
|
current=$(nixos-rebuild list-generations | grep current)
|
||||||
|
|
||||||
|
# Commit all changes witih the generation metadata
|
||||||
|
git commit -am "$current"
|
||||||
|
|
||||||
|
# Back to where you were
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Notify all OK!
|
||||||
|
notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 3f2d2b2dc1f8326805fe3276f2a893bf5a58c8da
|
Loading…
Reference in New Issue