import tree is cool

This commit is contained in:
2026-04-05 22:00:18 -04:00
parent 5d63a6463d
commit 877677d79f
7 changed files with 21 additions and 23 deletions
-13
View File
@@ -1,13 +0,0 @@
# It's NixOS!
Hello MtV and welcome to my crib. These are all the things pertaining to my nixos stuff.
- [./common.nix](./common.nix) is all the common things that hosts will have configured
- Services
- locale settings
- timezone
- [./gui1](./gui1.nix) all config things for a linux UX experience, KDE Plasma in this instance, but perhaps there could be a gui2 someday...
- [./qlhc.nix](./qlhc.nix) this stands for quins-laptop-hardware-configuraion. I'll find a better way to do this stuff later.
- [./user-quin](./user-quin.nix) my personal user account, here for all to see.
- packages
- groups
-37
View File
@@ -1,37 +0,0 @@
{ config, pkgs, ... }:
{
# Base system things that all should know and love
system.stateVersion = "25.11";
nixpkgs.config.allowUnfree = true;
time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8";
networking.networkmanager.enable = true;
#Services
virtualisation.docker.enable = true; # Docker
services.printing.enable = true; # CUPS
services.tailscale.enable = true; # Tailscale
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
environment.systemPackages = with pkgs; [
git
tailscale
];
}
-15
View File
@@ -1,15 +0,0 @@
{ config, pkgs, ... }:
{
# GUI / UX
services.xserver.enable = true;
services.xserver.excludePackages = [
pkgs.xterm
];
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
services.xserver.xkb = {
layout = "us";
variant = "";
};
}
-44
View File
@@ -1,44 +0,0 @@
{ config, lib, pkgs, modulesPath, ... }:
let
mountName = "mega";
mountPath = "/mnt/${mountName}";
waitForFile = "/mnt/${mountName}/mega_connected";
rcloneBucket = "data:enc";
rcloneConfigPath = "/etc/rclone.conf";
in
{
# Service that is good to wait on for the mount to be successful
systemd.services."${mountName}-mount-wait" = {
description = "Rclone mount wait service, good if you want other services to wait for it";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [ pkgs.bash ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.bash}/bin/bash -c 'while [ ! -e ${waitForFile} ]; do sleep 1; done'";
RemainAfterExit = true;
};
};
# Actual mount service
systemd.services."${mountName}-mount" = {
description = "Rclone mount '${mountName}'";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [ pkgs.bash ];
serviceConfig = {
ExecStart = "${pkgs.rclone}/bin/rclone mount ${rcloneBucket} ${mountPath} -vv --vfs-cache-mode full --allow-other --fuse-flag allow_other --dir-perms 0777 --file-perms 0777 --umask 0 --dir-cache-time 300h --config ${rcloneConfigPath}";
ExecStop = "umount /mnt/mega";
};
};
# If docker is installed we'll make it wait to start
systemd.services.docker.after = ["${mountName}-mount-wait.service"];
}
-41
View File
@@ -1,41 +0,0 @@
{ config, pkgs, ... }:
{
# My user for now
users.users.qmoran = {
isNormalUser = true;
description = "quin";
extraGroups = [
"wheel"
"docker"
"networkmanager"
];
packages = with pkgs; [
gh
btop
ctop
signal-desktop
lazygit
element-desktop
vivaldi
libreoffice-qt-fresh
trash-cli
lutris
vlc
gparted
kitty
neovim
gimp
kicad-small
rpi-imager
vscodium-fhs
];
};
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
}