no idea what I changed but im sure its fine
This commit is contained in:
parent
a448ce3f39
commit
23942b961e
8 changed files with 305 additions and 2 deletions
15
README
Normal file
15
README
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
## Users
|
||||||
|
|
||||||
|
#### me
|
||||||
|
My main personal account, used on my PC and laptop.
|
||||||
|
Contains a hyprland graphical environment by default.
|
||||||
|
|
||||||
|
#### ae
|
||||||
|
Primary account on my servers. Contains the bare
|
||||||
|
essentials for my work, no graphical environment.
|
||||||
|
|
||||||
|
|
||||||
|
#### friends
|
||||||
|
A simple account I let me friends connect to.
|
||||||
|
Limited functionality, mostly just for letting
|
||||||
|
them test small things or for giving them files.
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
../modules/fish.nix
|
../modules/fish.nix
|
||||||
../modules/editor/helix.nix
|
../modules/editor/helix.nix
|
||||||
|
|
||||||
|
../modules/btop.nix
|
||||||
../modules/rio.nix
|
../modules/rio.nix
|
||||||
../modules/firefox.nix
|
../modules/firefox.nix
|
||||||
../modules/nixcord.nix
|
../modules/nixcord.nix
|
||||||
|
|
@ -89,6 +90,16 @@
|
||||||
# these are both required for home-manager to work
|
# these are both required for home-manager to work
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
|
|
||||||
|
# DEBUG: testing if my xdg-desktop-portal-hyprland is working or not
|
||||||
|
obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
|
wlrobs
|
||||||
|
obs-backgroundremoval
|
||||||
|
obs-pipewire-audio-capture
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
# I want to use fish as my login shell but it always
|
# I want to use fish as my login shell but it always
|
||||||
# goes terrible cause it isn't POSIX compliant, so
|
# goes terrible cause it isn't POSIX compliant, so
|
||||||
# instead Bash is my login and it will just exec fish
|
# instead Bash is my login and it will just exec fish
|
||||||
|
|
|
||||||
79
homes/modules/btop.nix
Normal file
79
homes/modules/btop.nix
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
{config, ...}: {
|
||||||
|
programs.btop = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
# Theming
|
||||||
|
color_theme = "dracula";
|
||||||
|
theme_background = true;
|
||||||
|
truecolor = true;
|
||||||
|
force_tty = false;
|
||||||
|
vim_keys = false; # allow vim keybindings
|
||||||
|
# Units
|
||||||
|
clock_format = "%I:%M %p, %b %d";
|
||||||
|
temp_scale = "celsius";
|
||||||
|
base_10_sizes = false; # use KB or KiB
|
||||||
|
|
||||||
|
# UI
|
||||||
|
background_update = true;
|
||||||
|
update_ms = 2000;
|
||||||
|
rounded_corners = false;
|
||||||
|
graph_symbol = "braille"; # braille/block/tty
|
||||||
|
graph_symbol_cpu = "default";
|
||||||
|
graph_symbol_mem = "default";
|
||||||
|
graph_symbol_net = "default";
|
||||||
|
graph_symbol_proc = "default";
|
||||||
|
|
||||||
|
# Processes Window
|
||||||
|
proc_left = true; # show on left side of window
|
||||||
|
proc_colors = true;
|
||||||
|
proc_gradient = true;
|
||||||
|
proc_per_core = false; # false: % of ALL cores
|
||||||
|
proc_mem_bytes = false; # show mem usage as %
|
||||||
|
proc_sorting = "cpu lazy";
|
||||||
|
proc_filter_kernel = false; # hide kernel child processes
|
||||||
|
proc_tree = false;
|
||||||
|
|
||||||
|
# CPU Window
|
||||||
|
cpu_bottom = false; # display at bottom of window
|
||||||
|
show_uptime = true;
|
||||||
|
show_cpu_freq = true;
|
||||||
|
check_temp = true; # show cpu temp
|
||||||
|
show_coretemp = true; # show temp per core
|
||||||
|
cpu_graph_upper = "total"; # upper graph shows total CPU usage
|
||||||
|
cpu_graph_lower = "user"; # lower graph shows user's CPU usage
|
||||||
|
cpu_invert_lower = true;
|
||||||
|
cpu_single_graph = false; # disable lower graph
|
||||||
|
show_gpu_info = "Off"; # Auto/On/Off
|
||||||
|
gpu_mirror_graph = false; # horizontally mirror gpu graph
|
||||||
|
|
||||||
|
# Memory Window
|
||||||
|
mem_below_net = false; # show below net window
|
||||||
|
mem_graphs = true; # show graphs not meters
|
||||||
|
show_swap = true; # show swap memory usage
|
||||||
|
# Disks Subwindow
|
||||||
|
show_disks = true; # split mem box to show disk info
|
||||||
|
swap_disk = true; # show swap memory as disk
|
||||||
|
show_io_stat = true;
|
||||||
|
io_graph_combined = false; # combine read/write stats
|
||||||
|
io_mode = true; # show io stat as graph
|
||||||
|
use_fstab = true; # read disk list from /etc/fstab
|
||||||
|
only_physical = false; # ignore non-physical disks
|
||||||
|
|
||||||
|
# Network Window
|
||||||
|
net_iface = ""; # default network interface to monitor
|
||||||
|
net_auto = true; # overrides net_download/net_upload (below)
|
||||||
|
net_sync = false; # sync download/upload graph scales
|
||||||
|
net_download = 100; # max download speed graphed
|
||||||
|
net_upload = 100; # max upload speed graphed
|
||||||
|
|
||||||
|
# Battery
|
||||||
|
show_battery = true;
|
||||||
|
selected_battery = "Auto";
|
||||||
|
show_battery_watts = true;
|
||||||
|
|
||||||
|
# Other
|
||||||
|
log_level = "WARNING"; # ERROR/WARNING/INFO/DEBUG
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -6,7 +6,8 @@
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
set -g fish_greeting "Welcome weary traveler to my shop"
|
#set -g fish_greeting "Welcome weary traveler to my shop"
|
||||||
|
cat ~/banner
|
||||||
'';
|
'';
|
||||||
plugins = [
|
plugins = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
83
hosts/hyrule/default.nix
Executable file
83
hosts/hyrule/default.nix
Executable file
|
|
@ -0,0 +1,83 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
home-manager = builtins.fetchTarball {
|
||||||
|
url = "https://github.com/nix-community/home-manager/archive/master.tar.gz";
|
||||||
|
sha256 = "19w63qccz78v0spx03911z98w1bvlxvd07hb0ma14a4vdzi4ninj";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
# TODO:
|
||||||
|
# - add github:charmbracelet/soft-serve
|
||||||
|
# - add forgejo
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
#../modules/server/nginx.nix
|
||||||
|
#../modules/server/ssh.nix
|
||||||
|
#../modules/server/fail2ban.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "24.11"; # DO NOT MODIFY
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
time.timeZone = "Australia/Brisbane";
|
||||||
|
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
console = {
|
||||||
|
font = "Lat2-Terminus16";
|
||||||
|
keyMap = "us";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.loader = {
|
||||||
|
# TODO
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "imbored";
|
||||||
|
networkmanager.enable = true;
|
||||||
|
firewall.allowedTCPPorts = [
|
||||||
|
22 # sshd
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
users = {
|
||||||
|
defaultUserShell = pkgs.bash;
|
||||||
|
|
||||||
|
users = {
|
||||||
|
# primary user
|
||||||
|
dev = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = ["wheel"];
|
||||||
|
shell = pkgs.bash;
|
||||||
|
packages = with pkgs; [
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# user for friends to ssh into
|
||||||
|
friends = {
|
||||||
|
isNormalUser = true;
|
||||||
|
shell = pkgs.bash;
|
||||||
|
packages = with pkgs; [
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#home-manager = {
|
||||||
|
# users = {
|
||||||
|
# dev = import ../../homes/dev;
|
||||||
|
# friends = import ../../homes/friends;
|
||||||
|
# };
|
||||||
|
#};
|
||||||
|
|
||||||
|
environment.SystemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -142,12 +142,16 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Hint Electrons apps to use Wayland
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
# ---- SYSTEM PACKAGES -----
|
# ---- SYSTEM PACKAGES -----
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# User Environment
|
# User Environment
|
||||||
inputs.swww.packages.${pkgs.system}.swww
|
inputs.swww.packages.${pkgs.system}.swww
|
||||||
helvum
|
helvum
|
||||||
easyeffects
|
easyeffects
|
||||||
|
pavucontrol
|
||||||
ani-cli
|
ani-cli
|
||||||
wl-clipboard # clipboard for wayland
|
wl-clipboard # clipboard for wayland
|
||||||
hyprpicker
|
hyprpicker
|
||||||
|
|
@ -167,7 +171,7 @@ in {
|
||||||
zoxide
|
zoxide
|
||||||
doggo
|
doggo
|
||||||
tldr
|
tldr
|
||||||
btop
|
#btop
|
||||||
|
|
||||||
# Pretty necessary
|
# Pretty necessary
|
||||||
git
|
git
|
||||||
|
|
@ -181,6 +185,22 @@ in {
|
||||||
unzip
|
unzip
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# DEBUG: configuring xdg portal here instead?
|
||||||
|
# REFERENCE: https://discourse.nixos.org/t/hyprland-screen-sharing/43658
|
||||||
|
#xdg.portal = {
|
||||||
|
# enable = true;
|
||||||
|
# xdgOpenUsePortal = true;
|
||||||
|
# config = {
|
||||||
|
# common.default = ["gtk"];
|
||||||
|
# hyprland.default = ["gtk" "hyprland"];
|
||||||
|
# };
|
||||||
|
# extraPortals = with pkgs; [
|
||||||
|
# #xdg-desktop-portal-gtk
|
||||||
|
# #xdg-desktop-portal-wlr
|
||||||
|
# xdg-desktop-portal-hyprland
|
||||||
|
# ];
|
||||||
|
#};
|
||||||
|
|
||||||
# Enable the use of certain programs
|
# Enable the use of certain programs
|
||||||
programs = {
|
programs = {
|
||||||
hyprland = {
|
hyprland = {
|
||||||
|
|
|
||||||
72
modules/wishlist.nix
Normal file
72
modules/wishlist.nix
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
{
|
||||||
|
description = "Wishlist: Your SSH directory."
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {
|
||||||
|
self
|
||||||
|
}: let
|
||||||
|
nixosModule = {
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.services.wishlist = {
|
||||||
|
enable = lib.mkEnableOption "Your SSH directory.";
|
||||||
|
|
||||||
|
port = lib.mkOption {
|
||||||
|
type = lib.types.port;
|
||||||
|
default = 22;
|
||||||
|
description = "Port to listen on";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.services.wishlist.enable {
|
||||||
|
# configure the systemd service
|
||||||
|
systemd.services.wishlist = {
|
||||||
|
description = "Your SSH directory.";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "network.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${self.packages.${pkgs.system}.default}/bin/wishlist";
|
||||||
|
Restart = "always";
|
||||||
|
Type = "simple";
|
||||||
|
DynamicUser = "yes";
|
||||||
|
};
|
||||||
|
# environment variables
|
||||||
|
environment = {
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
(flake-utils.lib.eachDefaultSystem (system: let
|
||||||
|
gopkg = go-nixpkgs.legacyPackages.${system};
|
||||||
|
in {
|
||||||
|
packages.default = gopkg.buildGoModule ############################
|
||||||
|
}))
|
||||||
|
buildGoModule rec { # is rec necessary?
|
||||||
|
pname = "wishlist";
|
||||||
|
version = "0.15.1"
|
||||||
|
|
||||||
|
src = fetchFromGithub {
|
||||||
|
owner = "charmbracelet";
|
||||||
|
repo = "wishlist";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "0c9g1s8j9znzd1mw61d0klc6sqri0wx6hljibxdwzi3cabfy3ld6";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = lib.fakeSha256;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/charmbracelet/wishlist";
|
||||||
|
description = "Your SSH directory.";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ caarlos0 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
22
modules/wishlist.nix.bak
Normal file
22
modules/wishlist.nix.bak
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{lib}: {
|
||||||
|
buildGoModule rec { # is rec necessary?
|
||||||
|
pname = "wishlist";
|
||||||
|
version = "0.15.1"
|
||||||
|
|
||||||
|
src = fetchFromGithub {
|
||||||
|
owner = "charmbracelet";
|
||||||
|
repo = "wishlist";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "0c9g1s8j9znzd1mw61d0klc6sqri0wx6hljibxdwzi3cabfy3ld6";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = lib.fakeSha256;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/charmbracelet/wishlist";
|
||||||
|
description = "Your SSH directory.";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ caarlos0 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue