Compare commits
5 Commits
546bf20a70
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| fe71483c3d | |||
| def20c0070 | |||
| b39108df2c | |||
| e4fe282ffd | |||
| f76234271a |
@@ -1,5 +1,33 @@
|
|||||||
# CONTRIBUTING
|
# 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
|
## General format
|
||||||
|
|
||||||
All emails regarding this repo (or another) should have a subject prepended with the
|
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"
|
"wshowkeys": "wshowkeys"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786391152,
|
"lastModified": 1786876041,
|
||||||
"narHash": "sha256-P+dUN0wWRYLop9lLsnCOEi5bYE/GC5LvzV2VZh520TM=",
|
"narHash": "sha256-VshRLF8nJ1CB3D09OzoNgXPGVCJo0SOFG740TRJoumE=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "b4426becc44de00e891098b9883eca2b2028f981",
|
"rev": "c853222bde4a2ba8e74d4a4a6fe2d1e26f92ddd6",
|
||||||
"revCount": 53,
|
"revCount": 54,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.voidarc.co.uk/voidarc/hypr"
|
"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
|
intelDrivers
|
||||||
development
|
development
|
||||||
upower
|
upower
|
||||||
|
music
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
playerctl
|
playerctl
|
||||||
pavucontrol
|
pavucontrol
|
||||||
pulseaudioFull
|
pulseaudioFull
|
||||||
|
pipewire
|
||||||
|
pipewire.jack
|
||||||
];
|
];
|
||||||
services.pulseaudio.enable = false;
|
services.pulseaudio.enable = false;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
@@ -24,6 +26,7 @@
|
|||||||
alsa.support32Bit = true;
|
alsa.support32Bit = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
jack.enable = true;
|
jack.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user