no fucking clue what I changed but good luck (^_^)*

This commit is contained in:
Emile Clark-Boman 2025-05-01 21:16:15 +10:00
parent b3bb2227d1
commit 35b54acb85
9 changed files with 151 additions and 21 deletions

9
TODO Normal file
View file

@ -0,0 +1,9 @@
Create a command palette accessible with MOD+P (MOD => Windows Key)
(ie make fullscreen, send to monitor, etc)
Make each monitor's window styling slightly different (just for fun)
Bind 5 workspaces per connected monitor.
Then use the command palette (discussed prior) to send to
a different workspace (ie because I currently use MOD+SHIFT+n
but if n>=10 then it doesnt work! hence we need a command palette!)

View file

@ -15,9 +15,11 @@
../modules/bat.nix
../modules/fish.nix
../modules/editor/helix.nix
../modules/editor/vscodium.nix
../modules/btop.nix
../modules/rio.nix
../modules/term/ghostty.nix
../modules/term/rio.nix
../modules/firefox.nix
../modules/nixcord.nix

View file

@ -0,0 +1,9 @@
{pkgs, ...}: {
programs.vscode = {
enable = true;
package = pkgs.vscodium;
extensions = with pkgs.vscode-extensions; [
];
};
}

View file

@ -1,19 +1,30 @@
{
config,
lib,
pkgs,
...
}: {
programs.fish = {
enable = true;
interactiveShellInit = ''
#set -g fish_greeting "Welcome weary traveler to my shop"
cat ~/banner
'';
plugins = [
{
name = "grc";
src = pkgs.fishPlugins.grc.src;
}
];
options = {
morphBashToFish = lib.mkEnableOption "morphBashToFish";
};
config = {
programs.fish = {
enable = true;
interactiveShellInit = ''
# add dotnet completions if it exists (ie we're in a virtual environment)
if type -q dotnet
complete -f -c dotnet -a "(dotnet complete (commandline -cp))"
end
set -g fish_greeting "Welcome weary traveller to my shop"
'';
plugins = [
{
name = "grc";
src = pkgs.fishPlugins.grc.src;
}
];
};
};
}

View file

@ -0,0 +1,9 @@
{
lib,
...
}:
{
options = {
}
}

View file

@ -0,0 +1,43 @@
{pkgs, ...}: {
home = {
packages = [
pkgs.ghostty
#(pkgs.writeShellScriptBin "xterm" ''${pkgs.ghostty}/bin/ghostty "$@"'')
];
sessionVariables.TERMINAL = "ghostty";
};
programs.ghostty = {
enable = true;
settings = {
theme = "Dracula";
font-family = "Geist Nerd Font";
font-feature = ["liga" "calt"];
window-padding-x = 12;
window-padding-y = 6;
window-theme = "system";
window-height = 26;
window-width = 90;
copy-on-select = true;
gtk-single-instance = false;
adw-toolbar-style = "flat";
keybind = [
"ctrl+shift+plus=increase_font_size:1"
"ctrl+shift+minus=decrease_font_size:1"
"ctrl+h=goto_split:left"
"ctrl+l=goto_split:right"
];
};
#themes = {
#aylur-dark = colors (import ./colors.nix {scheme = "dark";});
#aylur-light = colors (import ./colors.nix {scheme = "light";});
#};
};
}

View file

@ -3,8 +3,16 @@
pkgs,
...
}: {
home = {
packages = [
pkgs.rio
];
# currently set to ghostty (on lolcathost)
#sessionVariables.TERMINAL = "rio";
};
# The terminal I use
# TODO: this is dependent on nvim being installed
# TODO: make this into a module with a configurable editor option
programs.rio = {
enable = true;

View file

@ -6,14 +6,15 @@
}: let
home-manager = builtins.fetchTarball {
url = "https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz";
sha256 = "0c07xj74vsj37d3a8f98i9rhhhr99ckwlp45n40f0qkmigm3pk8s";
#sha256 = "15k41il0mvmwyv6jns4z8k6khhmb22jk5gpcqs1paym3l01g6abn";
sha256 = "1qsvg11b5d05z2gvxq2pp6xfg3gpcd363id0h52sicikx3vai93s";
};
in {
imports = [
./hardware-configuration.nix
(import "${home-manager}/nixos")
inputs.spicetify-nix.nixosModules.default
../modules/steam.nix
];
programs.spicetify = let
@ -67,10 +68,10 @@ in {
networking.networkmanager.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
#networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
networking.firewall.enable = true;
networking.firewall.enable = false;
# ----- SERVICES -----
services = {
@ -117,7 +118,7 @@ in {
# literally me fr (personal account)
me = {
isNormalUser = true;
extraGroups = ["wheel" "docker"];
extraGroups = ["wheel" "netdev" "docker"];
shell = pkgs.bash; #pkgs.fish
packages = let
# TODO: can I just do this: https://nix.dev/manual/nix/2.18/command-ref/new-cli/nix3-flake#url-like-syntax
@ -187,6 +188,15 @@ in {
];
};
# set environment variables
environment.sessionVariables = {
# folder names with capitalisation look awful!
XDG_DOWNLOAD_DIR = "$HOME/downloads";
# Hint Electrons apps to use Wayland
NIXOS_OZONE_WL = "1";
};
# ---- SYSTEM PACKAGES -----
environment.systemPackages = with pkgs; [
# User Environment
@ -207,6 +217,9 @@ in {
# DEBUG: using neofetch temporarily to see if my system upgrades properly
neofetch
openvpn
inetutils
# fish plugins
grc # colorise command outputs
@ -250,6 +263,8 @@ in {
zsh.enable = true;
fish.enable = true;
nix-ld.enable = true;
# I want to use fish as my login shell but it always goes terrible
# cause it isn't POSIX compliant, so instead Bash is my login and
# will just exec fish (^-^)
@ -295,8 +310,8 @@ in {
# TODO: change my default fonts
fontconfig = {
defaultFonts = {
serif = ["Iosevka"]; # TODO: package Iosevka Etoile since Iosevka isn't a serif font
sansSerif = ["Iosevka "];
serif = ["Geist"]; # TODO: package Iosevka Etoile since Iosevka isn't a serif font
sansSerif = ["Geist"];
monospace = ["Cousine"];
emoji = ["Noto Emoji"];
};

24
hosts/modules/steam.nix Normal file
View file

@ -0,0 +1,24 @@
{
pkgs,
lib,
...
}: {
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"steam"
"steam-original"
"steam-unwrapped"
"steam-run"
];
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
environment.systemPackages = with pkgs; [
steamcmd
];
}