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/editor/helix.nix
|
||||
|
||||
../modules/btop.nix
|
||||
../modules/rio.nix
|
||||
../modules/firefox.nix
|
||||
../modules/nixcord.nix
|
||||
|
|
@ -89,6 +90,16 @@
|
|||
# these are both required for home-manager to work
|
||||
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
|
||||
# goes terrible cause it isn't POSIX compliant, so
|
||||
# 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 = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
set -g fish_greeting "Welcome weary traveler to my shop"
|
||||
#set -g fish_greeting "Welcome weary traveler to my shop"
|
||||
cat ~/banner
|
||||
'';
|
||||
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 -----
|
||||
environment.systemPackages = with pkgs; [
|
||||
# User Environment
|
||||
inputs.swww.packages.${pkgs.system}.swww
|
||||
helvum
|
||||
easyeffects
|
||||
pavucontrol
|
||||
ani-cli
|
||||
wl-clipboard # clipboard for wayland
|
||||
hyprpicker
|
||||
|
|
@ -167,7 +171,7 @@ in {
|
|||
zoxide
|
||||
doggo
|
||||
tldr
|
||||
btop
|
||||
#btop
|
||||
|
||||
# Pretty necessary
|
||||
git
|
||||
|
|
@ -181,6 +185,22 @@ in {
|
|||
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
|
||||
programs = {
|
||||
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