Compare commits
5 Commits
546bf20a70
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| fe71483c3d | |||
| def20c0070 | |||
| b39108df2c | |||
| e4fe282ffd | |||
| f76234271a |
@@ -1,5 +1,33 @@
|
||||
# CONTRIBUTING
|
||||
|
||||
## Tldr
|
||||
|
||||
**Do's**
|
||||
|
||||
- Be concise
|
||||
- Follow the [Formatting Rules](#formatting-rules) to the best of your ability
|
||||
- Segment larger changes into managable, reviewable commits
|
||||
- Leave a trail of your development so I can tell you put some effort in (doesnt really
|
||||
apply to smaller commits)
|
||||
- Write your own code
|
||||
- Leave some way of crediting your work
|
||||
- Disclose the capacity in which you used AI. Most of the time, anything more than making
|
||||
examples or helping you understand the codebase will be disallowed. As little AI code
|
||||
should make it to production as possible
|
||||
|
||||
**Dont's**
|
||||
|
||||
- Report upstream issues to me (ie an issue with the app itself, not my config)
|
||||
- Make major structural changes
|
||||
- Submit chore commits such as updating the flake, I can do that myself
|
||||
- Add new hosts for no reason, make your own flake and import the modules you want for
|
||||
your host
|
||||
- Majorly change existing hosts for your own preference
|
||||
- Ask AI to fix your issues and expect me to merge changes
|
||||
- Delete existing modules. Executive decisions like that will be made at my disgression,
|
||||
and will be done as non-destructively as possible, such as moving those modules to a
|
||||
"deprecated" branch in the future.
|
||||
|
||||
## General format
|
||||
|
||||
All emails regarding this repo (or another) should have a subject prepended with the
|
||||
|
||||
@@ -1,337 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
/etc/nixos/hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Nix settings
|
||||
## Limit Cores on rebuild and enable Flakes
|
||||
nix = {
|
||||
registry = {
|
||||
voidarc = {
|
||||
from = {
|
||||
id = "voidarc";
|
||||
type = "indirect";
|
||||
};
|
||||
to = {
|
||||
type = "git";
|
||||
url = "https://git.voidarc.co.uk/voidarc/flakes.git";
|
||||
};
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
cores = 6;
|
||||
download-buffer-size = 524288000;
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
## Allow unfree packages and add pkgs.unstable
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
unstable = import inputs.nixpkgs-unstable {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Set <nixpkgs> correctly
|
||||
nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||
|
||||
## Optimise Nix store on rebuild and collect garbage as a service
|
||||
nix.optimise.automatic = true;
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "daily";
|
||||
options = "--delete-older-than 5d";
|
||||
};
|
||||
|
||||
# Bootloader theming and plymouth
|
||||
boot = {
|
||||
loader = {
|
||||
timeout = 2;
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
grub = {
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
theme = pkgs.catppuccin-grub;
|
||||
};
|
||||
};
|
||||
plymouth = {
|
||||
enable = true;
|
||||
theme = "catppuccin-mocha";
|
||||
themePackages = with pkgs; [
|
||||
# By default we would install all themes
|
||||
(catppuccin-plymouth.override {
|
||||
variant = "mocha";
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
## Use latest kernel
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
# Bluetooth and Networking
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.xpadneo.enable = true;
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
networking.networkmanager.dns = "none";
|
||||
networking.nameservers = [
|
||||
"1.1.1.1"
|
||||
"8.8.8.8"
|
||||
];
|
||||
|
||||
# Locale
|
||||
time.timeZone = "Europe/London";
|
||||
i18n.defaultLocale = "en_GB.UTF-8";
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_GB.UTF-8";
|
||||
LC_IDENTIFICATION = "en_GB.UTF-8";
|
||||
LC_MEASUREMENT = "en_GB.UTF-8";
|
||||
LC_MONETARY = "en_GB.UTF-8";
|
||||
LC_NAME = "en_GB.UTF-8";
|
||||
LC_NUMERIC = "en_GB.UTF-8";
|
||||
LC_PAPER = "en_GB.UTF-8";
|
||||
LC_TELEPHONE = "en_GB.UTF-8";
|
||||
LC_TIME = "en_GB.UTF-8";
|
||||
};
|
||||
|
||||
# Userspace Stuff
|
||||
## Keymap
|
||||
services.xserver.xkb = {
|
||||
layout = "gb";
|
||||
variant = "";
|
||||
};
|
||||
console.keyMap = "uk";
|
||||
|
||||
## Desktop
|
||||
services.xserver.enable = true;
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
};
|
||||
security.polkit.enable = true;
|
||||
|
||||
## Audio Server
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
# Local User
|
||||
## User config
|
||||
users.users.user01 = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.zsh;
|
||||
description = "user01";
|
||||
extraGroups = [
|
||||
"input"
|
||||
"root"
|
||||
"plugdev"
|
||||
"bluetooth"
|
||||
"networkmanager"
|
||||
"docker"
|
||||
"wheel"
|
||||
];
|
||||
packages = with pkgs; let
|
||||
input = {
|
||||
package,
|
||||
output ? "default",
|
||||
}:
|
||||
inputs.${package}.packages.${pkgs.stdenv.hostPlatform.system}.${output};
|
||||
wrap = {
|
||||
name,
|
||||
pkg,
|
||||
modules,
|
||||
}:
|
||||
pkgs.symlinkJoin {
|
||||
inherit name;
|
||||
paths = [pkg];
|
||||
nativeBuildInputs = [pkgs.makeWrapper];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/${name} \
|
||||
--prefix PATH : ${pkgs.lib.makeBinPath modules}
|
||||
'';
|
||||
};
|
||||
in [
|
||||
# Ricing
|
||||
## Desktop
|
||||
bibata-cursors
|
||||
catppuccin-gtk
|
||||
unstable.waybar
|
||||
hyprlock
|
||||
dunst
|
||||
wlogout
|
||||
wpaperd
|
||||
quickshell
|
||||
|
||||
## Desktop Utilities
|
||||
grimblast
|
||||
gsettings-desktop-schemas
|
||||
wl-clipboard
|
||||
(wrap {
|
||||
name = "otter-launcher";
|
||||
pkg = (
|
||||
input {
|
||||
package = "otter-launcher";
|
||||
}
|
||||
);
|
||||
modules = [
|
||||
chafa
|
||||
jq
|
||||
];
|
||||
})
|
||||
(input {package = "fsel";})
|
||||
|
||||
# Terminal
|
||||
## Styling / Functionality
|
||||
oh-my-posh
|
||||
carapace
|
||||
zsh-autocomplete
|
||||
bat
|
||||
|
||||
## Tools
|
||||
lazygit
|
||||
git-secret
|
||||
p7zip-rar
|
||||
any-nix-shell
|
||||
bluetui
|
||||
fzf
|
||||
ripgrep
|
||||
wget
|
||||
htop
|
||||
playerctl
|
||||
git
|
||||
lsd
|
||||
(input {
|
||||
package = "doot";
|
||||
})
|
||||
|
||||
## Other CLI Apps
|
||||
nodejs
|
||||
fastfetch
|
||||
opencode
|
||||
tailscale
|
||||
syncthing
|
||||
jellyfin-tui
|
||||
devenv
|
||||
nix-output-monitor
|
||||
|
||||
# Apps
|
||||
## Actual Useful Stuff
|
||||
nemo
|
||||
kitty
|
||||
firefox
|
||||
gotify-desktop
|
||||
pavucontrol
|
||||
mpv
|
||||
input-remapper
|
||||
|
||||
## Other Nonsense
|
||||
tor-browser
|
||||
techmino
|
||||
prismlauncher
|
||||
delfin
|
||||
];
|
||||
};
|
||||
|
||||
## Zsh
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
enableBashCompletion = true;
|
||||
autosuggestions.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
histSize = 10000;
|
||||
ohMyZsh = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
"git"
|
||||
"dirhistory"
|
||||
"history"
|
||||
];
|
||||
};
|
||||
};
|
||||
users.defaultUserShell = pkgs.zsh;
|
||||
|
||||
## User programs
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
xfconf.enable = true;
|
||||
gdk-pixbuf.modulePackages = [pkgs.librsvg]; # For wlogout svgs
|
||||
};
|
||||
|
||||
## User Services
|
||||
services = {
|
||||
gvfs.enable = true;
|
||||
input-remapper.enable = true;
|
||||
tailscale.enable = true;
|
||||
printing.enable = true;
|
||||
upower.enable = true;
|
||||
openssh.enable = true;
|
||||
avahi.enable = true;
|
||||
};
|
||||
|
||||
## Fonts
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts.fira-mono
|
||||
];
|
||||
fonts.fontconfig.defaultFonts.serif = ["Fira Mono Nerd Font"];
|
||||
|
||||
# System Packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Utilities
|
||||
inputs.nvim-wrapped.packages.${stdenv.hostPlatform.system}.default
|
||||
vim
|
||||
unzip
|
||||
python315
|
||||
usbutils
|
||||
curlWithGnuTls
|
||||
|
||||
# System
|
||||
mesa
|
||||
pkg-config
|
||||
vulkan-tools
|
||||
gvfs
|
||||
wayvnc
|
||||
clang
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-hyprland
|
||||
glib
|
||||
gnutls
|
||||
liblzf
|
||||
librsvg
|
||||
appimage-run
|
||||
libnotify
|
||||
gsettings-desktop-schemas
|
||||
];
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
pinentryPackage = pkgs.pinentry-all;
|
||||
};
|
||||
|
||||
# The comment
|
||||
system.stateVersion = "25.05"; # Did you read the comment?
|
||||
}
|
||||
8
flake.lock
generated
8
flake.lock
generated
@@ -366,11 +366,11 @@
|
||||
"wshowkeys": "wshowkeys"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1786391152,
|
||||
"narHash": "sha256-P+dUN0wWRYLop9lLsnCOEi5bYE/GC5LvzV2VZh520TM=",
|
||||
"lastModified": 1786876041,
|
||||
"narHash": "sha256-VshRLF8nJ1CB3D09OzoNgXPGVCJo0SOFG740TRJoumE=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "b4426becc44de00e891098b9883eca2b2028f981",
|
||||
"revCount": 53,
|
||||
"rev": "c853222bde4a2ba8e74d4a4a6fe2d1e26f92ddd6",
|
||||
"revCount": 54,
|
||||
"type": "git",
|
||||
"url": "https://git.voidarc.co.uk/voidarc/hypr"
|
||||
},
|
||||
|
||||
11
modules/attrs/music/default.nix
Normal file
11
modules/attrs/music/default.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{moduleWithSystem, ...}: {
|
||||
flake.nixosModules.music = moduleWithSystem ({pkgs, unfreePkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
ardour
|
||||
unfreePkgs.vital
|
||||
distrho-ports
|
||||
cardinal
|
||||
calf
|
||||
];
|
||||
});
|
||||
}
|
||||
@@ -10,6 +10,7 @@
|
||||
intelDrivers
|
||||
development
|
||||
upower
|
||||
music
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
playerctl
|
||||
pavucontrol
|
||||
pulseaudioFull
|
||||
pipewire
|
||||
pipewire.jack
|
||||
];
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
@@ -24,6 +26,7 @@
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
wireplumber.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user