feat: renamed computers to hosts

This commit is contained in:
Artur Manuel 2024-11-30 15:18:36 +00:00
commit b03c70b486
34 changed files with 5 additions and 6 deletions

41
hosts/python/apps.nix Normal file
View file

@ -0,0 +1,41 @@
{
inputs,
pkgs,
...
}: {
environment = {
systemPackages = builtins.attrValues {
inherit
(pkgs)
nil
statix
deadnix
alejandra
;
neovim = inputs.painless-neovim.packages.${pkgs.system}.default;
};
sessionVariables = {EDITOR = "nvim";};
};
alqueva = {
mpd = {
enable = true;
ncmpcpp = true;
};
emacs.enable = true;
xonsh.enable = true;
libvirt.enable = true;
direnv.enable = true;
git.enable = true;
pipewire.enable = true;
qutebrowser.enable = true;
openssh.enable = true;
river.enable = true;
};
xdg.mime = {
enable = true;
defaultApplications = {
"text/html" = ["qutebrowser.desktop"];
};
};
}

View file

@ -0,0 +1,26 @@
[main]
font=monospace:size=15
use-bold=yes
icons-enabled=no
match-mode=fuzzy
anchor=center
lines=8
horizontal-pad=15
vertical-pad=15
[colors]
background=16161eff
text=c0caf5ff
match=2ac3deff
selection=343a55ff
selection-match=2ac3deff
selection-text=c0caf5ff
border=27a1b9ff
[border]
width=2
radius=0
[key-bindings]
cancel=Control+[
execute=Control+m

View file

@ -0,0 +1,3 @@
profile {
output HDMI-A-1 mode 1920x1080@100Hz
}

View file

@ -0,0 +1,50 @@
# vim:ft=kitty
## name: Tokyo Night
## license: MIT
## author: Folke Lemaitre
## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_night.conf
background #1a1b26
foreground #c0caf5
selection_background #283457
selection_foreground #c0caf5
url_color #73daca
cursor #c0caf5
cursor_text_color #1a1b26
# Tabs
active_tab_background #7aa2f7
active_tab_foreground #16161e
inactive_tab_background #292e42
inactive_tab_foreground #545c7e
#tab_bar_background #15161e
# Windows
active_border_color #7aa2f7
inactive_border_color #292e42
# normal
color0 #15161e
color1 #f7768e
color2 #9ece6a
color3 #e0af68
color4 #7aa2f7
color5 #bb9af7
color6 #7dcfff
color7 #a9b1d6
# bright
color8 #414868
color9 #f7768e
color10 #9ece6a
color11 #e0af68
color12 #7aa2f7
color13 #bb9af7
color14 #7dcfff
color15 #c0caf5
# extended colors
color16 #ff9e64
color17 #db4b4b

View file

@ -0,0 +1,14 @@
# BEGIN_KITTY_THEME
# Tokyo Night
include current-theme.conf
# END_KITTY_THEME
# BEGIN_KITTY_FONTS
font_family family='Source Code Pro' postscript_name=SourceCodePro-Regular
bold_font auto
italic_font auto
bold_italic_font auto
font_size 14.0
# END_KITTY_FONTS
window_padding_width 8

View file

@ -0,0 +1,4 @@
# BEGIN_KITTY_THEME
# Tokyo Night
include current-theme.conf
# END_KITTY_THEME

View file

@ -0,0 +1,2 @@
config.load_autoconfig()
config.set('colors.webpage.preferred_color_scheme', 'dark')

92
hosts/python/configs/river/init Executable file
View file

@ -0,0 +1,92 @@
#!/bin/sh
riverctl spawn kanshi
riverctl spawn "wbg ~/.local/share/wallpapers/04.png"
riverctl spawn "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
riverctl spawn "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=river"
riverctl map normal Super+Shift Return spawn kitty
riverctl map normal Super P spawn fuzzel
riverctl map normal Super Q close
riverctl map normal Super+Shift E exit
riverctl map normal Super+Shift C spawn "~/.config/river/init"
riverctl map normal Super J focus-view next
riverctl map normal Super K focus-view previous
riverctl map normal Super+Shift J swap next
riverctl map normal Super+Shift K swap previous
riverctl map normal Super Period focus-output next
riverctl map normal Super Comma focus-output previous
riverctl map normal Super+Shift Period send-to-output next
riverctl map normal Super+Shift Comma send-to-output previous
riverctl map normal Super Return zoom
riverctl map normal Super H send-layout-cmd rivertile "main-ratio -0.05"
riverctl map normal Super L send-layout-cmd rivertile "main-ratio +0.05"
riverctl map normal Super+Shift H send-layout-cmd rivertile "main-count +1"
riverctl map normal Super+Shift L send-layout-cmd rivertile "main-count -1"
riverctl map normal Super+Alt H move left 100
riverctl map normal Super+Alt J move down 100
riverctl map normal Super+Alt K move up 100
riverctl map normal Super+Alt L move right 100
riverctl map normal Super+Alt+Control H snap left
riverctl map normal Super+Alt+Control J snap down
riverctl map normal Super+Alt+Control K snap up
riverctl map normal Super+Alt+Control L snap right
riverctl map normal Super+Alt+Shift H resize horizontal -100
riverctl map normal Super+Alt+Shift J resize vertical 100
riverctl map normal Super+Alt+Shift K resize vertical -100
riverctl map normal Super+Alt+Shift L resize horizontal 100
riverctl map-pointer normal Super BTN_LEFT move-view
riverctl map-pointer normal Super BTN_RIGHT resize-view
riverctl map-pointer normal Super BTN_MIDDLE toggle-float
for i in $(seq 1 9)
do
tags=$((1 << ($i - 1)))
riverctl map normal Super $i set-focused-tags $tags
riverctl map normal Super+Shift $i set-view-tags $tags
riverctl map normal Super+Control $i toggle-focused-tags $tags
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
done
all_tags=$(((1 << 32) - 1))
riverctl map normal Super 0 set-focused-tags $all_tags
riverctl map normal Super+Shift 0 set-view-tags $all_tags
riverctl map normal Super Space toggle-float
riverctl map normal Super F toggle-fullscreen
riverctl map normal Super Up send-layout-cmd rivertile "main-location top"
riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom"
riverctl map normal Super Left send-layout-cmd rivertile "main-location left"
riverctl declare-mode passthrough
riverctl map normal Super F11 enter-mode passthrough
riverctl map passthrough Super F11 enter-mode normal
for mode in normal locked
do
riverctl map $mode None XF86Eject spawn 'eject -T'
riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 5'
riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 5'
riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute'
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
riverctl map $mode None XF86MonBrightnessUp spawn 'brightnessctl set +5%'
riverctl map $mode None XF86MonBrightnessDown spawn 'brightnessctl set 5%-'
done
# hacky way of making everything have borders
riverctl rule-add ssd
riverctl background-color 0x00000000
riverctl border-color-focused 0x27a1b9ff
riverctl border-color-unfocused 0x00000000
riverctl keyboard-layout "us"
riverctl set-repeat 50 300
riverctl xcursor-theme "BreezeX-RosePine-Linux"
riverctl default-layout rivertile
rivertile -view-padding 10 -outer-padding 10 &

46
hosts/python/default.nix Normal file
View file

@ -0,0 +1,46 @@
{pkgs, ...}: {
imports = [
./hardware.nix
./disks.nix
./theme.nix
./apps.nix
./users.nix
./fonts.nix
];
config = {
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
services = {
xserver.xkb = {
layout = "us";
options = "eurosign:e,ctrl:nocaps";
};
udev.packages = [
pkgs.android-udev-rules
];
libinput.enable = true;
openssh.enable = true;
};
hardware.graphics = {
enable = true;
enable32Bit = false;
};
networking.networkmanager.enable = true;
time.timeZone = "Europe/London";
i18n.defaultLocale = "nl_NL.UTF-8";
system.stateVersion = "24.11";
};
}

67
hosts/python/disks.nix Normal file
View file

@ -0,0 +1,67 @@
{
disko.devices = {
disk = {
main = {
type = "disk";
device = "/dev/disk/by-id/nvme-WDC_PC_SN520_SDAPNUW-256G-1014_20270F804683";
content = {
type = "gpt";
partitions = {
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = ["defaults"];
};
};
luks = {
size = "100%";
content = {
type = "luks";
name = "utero";
passwordFile = "/tmp/secret.key"; # Interactive
settings = {
allowDiscards = true;
};
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/@root" = {
mountpoint = "/";
mountOptions = [
"compress=zstd"
"noatime"
];
};
"/@home" = {
mountpoint = "/home";
mountOptions = [
"compress=zstd"
"noatime"
];
};
"/@nix" = {
mountpoint = "/nix";
mountOptions = [
"compress=zstd"
"noatime"
];
};
"/@swap" = {
mountpoint = "/.swapvol";
swap.swapfile.size = "8G";
};
};
};
};
};
};
};
};
};
};
}

21
hosts/python/fonts.nix Normal file
View file

@ -0,0 +1,21 @@
{pkgs, ...}: {
alqueva.fonts = {
names = {
sansSerif = ["Source Sans Pro"];
monospace = ["Source Code Pro"];
serif = ["Source Serif Pro"];
emoji = ["OpenMoji Color"];
};
packages = {
sansSerif = [pkgs.source-sans-pro];
monospace = [pkgs.source-code-pro];
serif = [pkgs.source-serif-pro];
emoji = [pkgs.openmoji-color];
extra = [
pkgs.source-han-sans
(pkgs.nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];})
];
};
enable = true;
};
}

28
hosts/python/hardware.nix Normal file
View file

@ -0,0 +1,28 @@
# 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,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
# 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.enp8s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

41
hosts/python/theme.nix Normal file
View file

@ -0,0 +1,41 @@
{
pkgs,
lib,
...
}: {
programs.dconf = {
profiles.user.databases = [
{
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
cursor-size = lib.gvariant.mkUint32 24;
cursor-theme = "Simp1e-Tokyo-Night";
icon-theme = "Tela-circle-purple-dark";
gtk-theme = "Tokyonight-dark";
};
};
}
];
enable = true;
};
qt = {
enable = true;
style = "kvantum";
};
environment.systemPackages = builtins.attrValues {
gtk-theme = pkgs.tokyonight-gtk-theme;
icon-theme = pkgs.tela-circle-icon-theme.override {
colorVariants = ["purple"];
circularFolder = true;
};
cursor-theme = pkgs.simp1e-cursors;
};
systemd.user.tmpfiles.rules = [
"L+ %h/.config/gtk-4.0/gtk.css - - - - ${pkgs.tokyonight-gtk-theme}/share/themes/Tokyonight-Dark/gtk-4.0/gtk.css"
"L+ %h/.config/gtk-4.0/gtk-dark.css - - - - ${pkgs.tokyonight-gtk-theme}/share/themes/Tokyonight-Dark/gtk-4.0/gtk-dark.css"
];
}

38
hosts/python/users.nix Normal file
View file

@ -0,0 +1,38 @@
{
inputs,
pkgs,
...
}: {
alqueva.users.artur = {
tmpfiles = {
".config/qutebrowser/config.py" = ./configs/qutebrowser/config.py;
".config/kanshi/" = ./configs/kanshi;
".config/fuzzel/" = ./configs/fuzzel;
".config/river/" = ./configs/river;
".config/kitty/" = ./configs/kitty;
".local/share/wallpapers" = "${inputs.wallpkgs.packages.${pkgs.system}.tokyo_night}/share/wallpapers/tokyo_night";
};
packages = builtins.attrValues {
inherit
(pkgs)
wget
vesktop
mpv
imv
amberol
fractal
nicotine-plus
nautilus
librewolf
;
};
groups = [
"wheel"
"video"
"audio"
"networkmanager"
"input"
"libvirtd"
];
};
}