Merge branch 'main' of github.com:bloxx12/nichts

This commit is contained in:
Charlie Root 2024-05-24 14:58:32 +02:00
commit 0bfdfe5ab2
13 changed files with 317 additions and 68 deletions

View file

@ -2,16 +2,29 @@
inherit (inputs) self;
inherit (self) lib;
in {
mars = lib.nixosSystem {
temperance = lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit lib inputs self;};
modules = [
inputs.stylix.nixosModules.stylix
./vali/mars
./vali/temperance
../modules
inputs.home-manager.nixosModules.home-manager
inputs.agenix.nixosModules.default
inputs.stylix.nixosModules.stylix
inputs.nixvim.nixosModules.nixvim
];
};
hermit = lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit lib inputs self;};
modules = [
./vali/hermit
../modules
inputs.home-manager.nixosModules.home-manager
inputs.agenix.nixosModules.default
inputs.stylix.nixosModules.stylix
inputs.nixvim.nixosModules.nixvim
];
};
}

View file

@ -0,0 +1,87 @@
{pkgs, ...}: {
# allow unfree packages
nixpkgs.config.allowUnfree = true;
# Time Zone
time.timeZone = "Europe/Zurich";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
console.keyMap = "de";
nix = {
settings = {
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
# enable flakes
experimental-features = ["nix-command" "flakes"];
# reduce file size used & automatic garbage collector
auto-optimise-store = true;
};
};
security.sudo.package = pkgs.sudo.override {withInsults = true;};
security.polkit.enable = true;
programs.kdeconnect.enable = true;
programs.dconf.enable = true;
# boot.kernelModules = [ "v4l2loopback" ];
boot.kernelPackages = pkgs.linuxPackages_zen;
# boot.extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ];
# services.picom.enable = true;
services.emacs.enable = true;
modules = {
other = {
system = {
hostname = "hermit";
username = "vali";
gitPath = "/home/vali/repos/nichts";
};
home-manager = {
enable = true;
enableDirenv = true;
};
};
wms = {
wayland = {
enable = true;
hyprland.enable = true;
};
};
programs = {
vesktop.enable = true;
ssh.enable = true;
btop.enable = true;
mpv.enable = true;
kitty.enable = true;
newsboat.enable = true;
foot.enable = true;
fish.enable = true;
stylix.enable = true;
nh.enable = true;
waybar.enable = true;
spicetify.enable = true;
schizofox.enable = true;
anyrun.enable = true;
};
editors = {
emacs = {
enable = false;
doom.enable = false;
};
helix.enable = false;
kakoune.enable = false;
nixvim.enable = true;
};
services = {
pipewire.enable = true;
dunst.enable = true;
};
themes = {
gtk = {enable = true;};
qt = {
enable = true;
package = pkgs.kde-gruvbox;
name = "Gruvbox-Dark";
};
};
};
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,40 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/3d023930-3656-44bb-a737-b0e08a6bbd3e";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-10037600-c781-4ebc-9ceb-7e0367b1ed24".device = "/dev/disk/by-uuid/10037600-c781-4ebc-9ceb-7e0367b1ed24";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/3A39-FAF1";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp59s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,99 @@
{
inputs,
pkgs,
...
}: let
fenix = inputs.fenix.packages.${pkgs.system};
nixpkgs-wayland = inputs.nixpkgs-wayland.packages.${pkgs.system};
in {
environment.systemPackages = with pkgs; [
alejandra
alsa-utils
asciinema
bibata-cursors
blanket
cmake
difftastic
dig
easyeffects
element-desktop
evince
eza
fastfetch
feh
ffmpeg-full
fftw
grimblast
gcc
gdb
gnumake
grc
grimblast
git
helvum
httpie
imagemagick
img2pdf
imv
keepassxc
lazygit
libtool
links2
mars-mips
gnome.nautilus
ncmpcpp
neofetch
neovim
networkmanagerapplet
nextcloud-client
nicotine-plus
nil
nitch
nixfmt
nixpkgs-wayland.swww
nmap
notesnook
obsidian
onlyoffice-bin
pamixer
pavucontrol
pdfarranger
pfetch
pidgin
playerctl
polkit
python3
qbittorrent
ripgrep
rustdesk
scc
scummvm
sherlock
signal-desktop-beta
smartmontools
strawberry
telegram-desktop
texliveFull
tldr
thunderbird
tor-browser-bundle-bin
trash-cli
tree
typst
unzip
util-linux
v4l-utils
ventoy-full
vlc
weechat
wget
wireguard-tools
wl-clipboard
xdg-utils
xournalpp
yt-dlp
zapzap
zip
zoxide
];
}

View file

@ -30,7 +30,7 @@
modules = {
other = {
system = {
hostname = "mars";
hostname = "temperance";
username = "vali";
gitPath = "/home/vali/repos/nichts";
};
@ -77,7 +77,7 @@
themes = {
gtk = {enable = true;};
qt = {
enable = true;
enable = false;
package = pkgs.kde-gruvbox;
name = "Gruvbox-Dark";
};

View file

@ -0,0 +1,8 @@
_: {
imports = [
./configuration.nix
./programs.nix
./hardware-configuration.nix
./profile.nix
];
}

View file

@ -0,0 +1,10 @@
_: {
imports = [
../../../options/boot/grub-boot.nix
../../../options/desktop/fonts.nix
../../../options/common/networking.nix
../../../options/common/gpu/nvidia.nix
../../../options/desktop/monitors.nix
../../../overlay.nix
];
}

View file

@ -12,7 +12,6 @@ _: {
./anyrun
./rofi.nix
./kitty.nix
./vivado.nix
./steam.nix
./waybar.nix
./schizofox.nix

View file

@ -37,7 +37,6 @@ in {
enable = true;
package = hyprland;
# Split-monitor-workspaces provides awesome-like workspace behaviour
plugins = [split-monitor-workspaces];
# Xwayland for X applications
xwayland.enable = true;
# No idea why I set this
@ -52,46 +51,47 @@ in {
# Monitor config
monitor = [
"DP-2,1920x1080,0x0,1"
"HDMI-A-2,1920x1080,1920x0,1"
"HDMI-A-1,1920x1080,3840x0,1"
"eDP-1,1920x1080,0x0,1"
# "DP-2,1920x1080,0x0,1"
# "HDMI-A-2,1920x1080,1920x0,1"
# "HDMI-A-1,1920x1080,3840x0,1"
# Had the shadow monitor bug, so had to disable all unknown monitors.
# "Unknown-1,disable"
];
# Workspace config
workspace = [
"1, monitor:HDMI-A-1, default:true"
"2, monitor:HDMI-A-1"
"3, monitor:HDMI-A-1"
"4, monitor:HDMI-A-1"
"5, monitor:HDMI-A-1"
"6, monitor:HDMI-A-1"
"7, monitor:HDMI-A-1"
"8, monitor:HDMI-A-1"
"9, monitor:HDMI-A-1"
"10, monitor:HDMI-A-1"
"1, monitor:eDP-1, default:true"
"2, monitor:eDP-1"
"3, monitor:eDP-1"
"4, monitor:eDP-1"
"5, monitor:eDP-1"
"6, monitor:eDP-1"
"7, monitor:eDP-1"
"8, monitor:eDP-1"
"9, monitor:eDP-1"
"10, monitor:eDP-1"
"11, monitor:HDMI-A-2, default:true"
"12, monitor:HDMI-A-2"
"13, monitor:HDMI-A-2"
"14, monitor:HDMI-A-2"
"15, monitor:HDMI-A-2"
"16, monitor:HDMI-A-2"
"17, monitor:HDMI-A-2"
"18, monitor:HDMI-A-2"
"19, monitor:HDMI-A-2"
"20, monitor:HDMI-A-2"
# "11, monitor:HDMI-A-2, default:true"
# "12, monitor:HDMI-A-2"
# "13, monitor:HDMI-A-2"
# "14, monitor:HDMI-A-2"
# "15, monitor:HDMI-A-2"
# "16, monitor:HDMI-A-2"
# "17, monitor:HDMI-A-2"
# "18, monitor:HDMI-A-2"
# "19, monitor:HDMI-A-2"
# "20, monitor:HDMI-A-2"
"21, monitor:DP-2, default:true"
"22, monitor:DP-2"
"23, monitor:DP-2"
"24, monitor:DP-2"
"25, monitor:DP-2"
"26, monitor:DP-2"
"27, monitor:DP-2"
"28, monitor:DP-2"
"29, monitor:DP-2"
"30, monitor:DP-2"
# "21, monitor:DP-2, default:true"
# "22, monitor:DP-2"
# "23, monitor:DP-2"
# "24, monitor:DP-2"
# "25, monitor:DP-2"
# "26, monitor:DP-2"
# "27, monitor:DP-2"
# "28, monitor:DP-2"
# "29, monitor:DP-2"
# "30, monitor:DP-2"
# scratchpads
"special:btop, decorate:false"
@ -110,7 +110,6 @@ in {
follow_mouse = true;
repeat_rate = 50;
repeat_delay = 250;
tablet = {output = "HDMI-A-2";};
};
general = {
sensitivity = 1.0;
@ -189,26 +188,26 @@ in {
"$mainMod, O, exec, obsidian --ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --enable-features=WebRTCPipeWireCpaturer --disable-gpu"
# workspaces
# split-workspace is because of the split-workspace plugin
"$mainMod, 1, split-workspace, 1"
"$mainMod, 2, split-workspace, 2"
"$mainMod, 3, split-workspace, 3"
"$mainMod, 4, split-workspace, 4"
"$mainMod, 5, split-workspace, 5"
"$mainMod, 6, split-workspace, 6"
"$mainMod, 7, split-workspace, 7"
"$mainMod, 8, split-workspace, 8"
"$mainMod, 9, split-workspace, 9"
"$mainMod, 0, split-workspace, 10"
"$mainMod SHIFT, 1, split-movetoworkspacesilent, 1"
"$mainMod SHIFT, 2, split-movetoworkspacesilent, 2"
"$mainMod SHIFT, 3, split-movetoworkspacesilent, 3"
"$mainMod SHIFT, 4, split-movetoworkspacesilent, 4"
"$mainMod SHIFT, 5, split-movetoworkspacesilent, 5"
"$mainMod SHIFT, 6, split-movetoworkspacesilent, 6"
"$mainMod SHIFT, 7, split-movetoworkspacesilent, 7"
"$mainMod SHIFT, 8, split-movetoworkspacesilent, 8"
"$mainMod SHIFT, 9, split-movetoworkspacesilent, 9"
"$mainMod SHIFT, 0, split-movetoworkspacesilent, 10"
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
"$mainMod SHIFT, 1, movetoworkspacesilent, 1"
"$mainMod SHIFT, 2, movetoworkspacesilent, 2"
"$mainMod SHIFT, 3, movetoworkspacesilent, 3"
"$mainMod SHIFT, 4, movetoworkspacesilent, 4"
"$mainMod SHIFT, 5, movetoworkspacesilent, 5"
"$mainMod SHIFT, 6, movetoworkspacesilent, 6"
"$mainMod SHIFT, 7, movetoworkspacesilent, 7"
"$mainMod SHIFT, 8, movetoworkspacesilent, 8"
"$mainMod SHIFT, 9, movetoworkspacesilent, 9"
"$mainMod SHIFT, 0, movetoworkspacesilent, 10"
# Screenshotting
"$mainMod, S, exec, ${pkgs.grimblast}/bin/grimblast copy area"
# File manager
@ -277,6 +276,7 @@ in {
"${swww}/bin/swww-daemon"
"${wlsunset}/bin/wlsunset -S 06:00 -s 20:00"
"${waybar}/bin/waybar"
];
exec = [
@ -290,13 +290,6 @@ in {
"[workspace special:pipewire;silent;tile] ${pkgs.pavucontrol}/bin/pavucontrol"
# "${pkgs.networkmanagerapplet}/bin/nm-applet --indicator"
];
plugin = {
split-monitor-workspaces = {
count = 10;
keep_focused = true;
};
};
};
};
};