Compare commits

..

No commits in common. "2c69e1f1161bcd568018530cd72ff3502ca841a3" and "8b1a6aca390057f7919d2ae80821b6c3edc634d8" have entirely different histories.

22 changed files with 508 additions and 541 deletions

View file

@ -1,4 +1,4 @@
{...}: { { ... }: {
nix.settings = { nix.settings = {
experimental-features = ["nix-command" "flakes"]; experimental-features = ["nix-command" "flakes"];
download-buffer-size = 524288000; download-buffer-size = 524288000;

View file

@ -1,4 +1,4 @@
{...}: { { ... }: {
nix.settings = { nix.settings = {
trusted-users = ["root" "@wheel"]; trusted-users = ["root" "@wheel"];
}; };

View file

@ -8,7 +8,8 @@
root, root,
system, system,
... ...
}: { }:
{
imports = [ imports = [
inputs.zen.homeModules.twilight inputs.zen.homeModules.twilight
@ -76,7 +77,8 @@
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
home.file.".mozilla/native-messaging-hosts/tridactyl.json".source = "${upkgs.tridactyl-native}/lib/mozilla/native-messaging-hosts/tridactyl.json"; home.file.".mozilla/native-messaging-hosts/tridactyl.json".source =
"${upkgs.tridactyl-native}/lib/mozilla/native-messaging-hosts/tridactyl.json";
# some packages are enabled from their own module in ./modules # some packages are enabled from their own module in ./modules
home.packages = with upkgs; [ home.packages = with upkgs; [
@ -99,7 +101,7 @@
ripgrep # rlly fast grep :3 ripgrep # rlly fast grep :3
zip # zips .zip zip # zips .zip
unzip # unzips .zip unzip # unzips .zip
(btop.override {rocmSupport = true;}) # btop + amd gpu support (btop.override { rocmSupport = true; }) # btop + amd gpu support
nmap # network discovery and mapping tool! nmap # network discovery and mapping tool!
distrobox # use any linux distro inside ur terminal x3 distrobox # use any linux distro inside ur terminal x3
parted # create, resize, copy, image partitions parted # create, resize, copy, image partitions

View file

@ -14,8 +14,7 @@
"hyprland/workspaces" = { "hyprland/workspaces" = {
format = "{id}"; format = "{id}";
}; };
"ext/workspaces" = { "ext/workspaces" = { # not enabled yet, hyprland and mango need two different configs ;-;
# not enabled yet, hyprland and mango need two different configs ;-;
format = "{id}"; format = "{id}";
ignore-hidden = true; ignore-hidden = true;
on-click = "activate"; on-click = "activate";

View file

@ -1,4 +1,5 @@
{upkgs, ...}: { { upkgs, ... }:
{
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;
package = upkgs.alacritty-graphics; package = upkgs.alacritty-graphics;

View file

@ -8,18 +8,10 @@ vim.opt.colorcolumn = "80"
require("plugins") require("plugins")
require("lsp") require("lsp")
vim.keymap.set("n", "<A-h>", function() vim.keymap.set('n', '<A-h>', function() vim.cmd('wincmd h') end)
vim.cmd("wincmd h") vim.keymap.set('n', '<A-j>', function() vim.cmd('wincmd j') end)
end) vim.keymap.set('n', '<A-k>', function() vim.cmd('wincmd k') end)
vim.keymap.set("n", "<A-j>", function() vim.keymap.set('n', '<A-l>', function() vim.cmd('wincmd l') end)
vim.cmd("wincmd j")
end)
vim.keymap.set("n", "<A-k>", function()
vim.cmd("wincmd k")
end)
vim.keymap.set("n", "<A-l>", function()
vim.cmd("wincmd l")
end)
local uv = vim.loop local uv = vim.loop
local colorscheme_filepath = "/home/aurora/.cache/nvim/neovim-colors" local colorscheme_filepath = "/home/aurora/.cache/nvim/neovim-colors"

View file

@ -1,53 +1,8 @@
vim.keymap.set("n", "<leader>P", function()
vim.api.nvim_exec_autocmds("User", { pattern = "ConformProject" })
vim.cmd("ConformProject")
end, { noremap = true, silent = true })
vim.api.nvim_create_user_command("ConformProject", function()
local conform = require("conform")
local root = vim.fn.getcwd()
-- respects .gitignore
local handle = io.popen(string.format("cd %s && git ls-files --cached --others --exclude-standard", root))
if not handle then
vim.notify("Failed to scan project files", vim.log.levels.ERROR)
return
end
local files = {}
for file in handle:lines() do
table.insert(files, vim.fn.fnamemodify(file, ":p"))
end
handle:close()
-- format each file
-- TODO: maybe run each formatter on the directory instead as it may be faster
-- although that would actually mean we can't count what files were formatted so i don't know
local formatted_count = 0
for _, filepath in ipairs(files) do
local bufnr = vim.fn.bufadd(filepath)
vim.fn.bufload(bufnr)
local ok, err = conform.format({ bufnr = bufnr })
if ok then
formatted_count = formatted_count + 1
-- Save the buffer
vim.api.nvim_buf_call(bufnr, function()
vim.cmd("write")
end)
end
end
vim.notify(string.format("Formatted %d files", formatted_count), vim.log.levels.INFO)
end, {})
-- docs -> https://github.com/stevearc/conform.nvim -- docs -> https://github.com/stevearc/conform.nvim
return { return {
{ {
"conform.nvim", "conform.nvim",
enabled = nixCats("format") or false, enabled = nixCats("format") or false,
event = "User ConformProject", -- also will load when we format the entire project yayayayy :333
keys = { keys = {
{ "<leader>p", desc = "Format File (pretty :3)" }, { "<leader>p", desc = "Format File (pretty :3)" },
}, },

View file

@ -4,12 +4,13 @@
inputs, inputs,
mpkgs, mpkgs,
... ...
}: let }:
inherit let
(inputs.nixcats) inherit (inputs.nixcats)
utils utils
; ;
in { in
{
imports = [ imports = [
inputs.nixcats.homeModule inputs.nixcats.homeModule
]; ];
@ -30,14 +31,15 @@ in {
]; ];
# see the packageDefinitions below. # see the packageDefinitions below.
# This says which of those to install. # This says which of those to install.
packageNames = ["auroranvim"]; packageNames = [ "auroranvim" ];
luaPath = "${./.}"; luaPath = "${./.}";
# the .replace vs .merge options are for modules based on existing configurations, # the .replace vs .merge options are for modules based on existing configurations,
# they refer to how multiple categoryDefinitions get merged together by the module. # they refer to how multiple categoryDefinitions get merged together by the module.
# for useage of this section, refer to :h nixCats.flake.outputs.categories # for useage of this section, refer to :h nixCats.flake.outputs.categories
categoryDefinitions.replace = { categoryDefinitions.replace =
{
pkgs, pkgs,
settings, settings,
categories, categories,
@ -45,7 +47,8 @@ in {
name, name,
mkNvimPlugin, mkNvimPlugin,
... ...
} @ packageDef: { }@packageDef:
{
lspsAndRuntimeDeps = with pkgs; { lspsAndRuntimeDeps = with pkgs; {
general = [ general = [
ripgrep ripgrep
@ -185,7 +188,7 @@ in {
}; };
}; };
extraWrapperArgs = {}; extraWrapperArgs = { };
# lists of the functions you would have passed to # lists of the functions you would have passed to
# python.withPackages or lua.withPackages # python.withPackages or lua.withPackages
@ -193,16 +196,18 @@ in {
# in your lua config via # in your lua config via
# vim.g.python3_host_prog # vim.g.python3_host_prog
# or run from nvim terminal via :!<packagename>-python3 # or run from nvim terminal via :!<packagename>-python3
extraPython3Packages = {}; extraPython3Packages = { };
# populates $LUA_PATH and $LUA_CPATH # populates $LUA_PATH and $LUA_CPATH
extraLuaPackages = {}; extraLuaPackages = { };
}; };
# see :help nixCats.flake.outputs.packageDefinitions # see :help nixCats.flake.outputs.packageDefinitions
packageDefinitions.replace = { packageDefinitions.replace = {
# these are the names of your packages # these are the names of your packages
# you can include as many as you wish. # you can include as many as you wish.
auroranvim = {pkgs, ...}: { auroranvim =
{ pkgs, ... }:
{
# they contain a settings set defined above # they contain a settings set defined above
# see :help nixCats.flake.outputs.settings # see :help nixCats.flake.outputs.settings
settings = { settings = {

View file

@ -1,4 +1,5 @@
{inputs, ...}: { { inputs, ... }:
{
imports = [ imports = [
inputs.nixcord.homeModules.nixcord inputs.nixcord.homeModules.nixcord
]; ];

View file

@ -1,4 +1,5 @@
{upkgs, ...}: { { upkgs, ... }:
{
# optional dependencies can be found here: # optional dependencies can be found here:
# https://yazi-rs.github.io/docs/installation/ # https://yazi-rs.github.io/docs/installation/
home.packages = with upkgs; [ home.packages = with upkgs; [
@ -23,12 +24,12 @@
mgr.prepend_keymap = [ mgr.prepend_keymap = [
# drag and drop!! # drag and drop!!
{ {
on = ["<S-c>"]; on = [ "<S-c>" ];
run = ''shell "ripdrag -x -a \"$@\"" --confirm''; run = ''shell "ripdrag -x -a \"$@\"" --confirm'';
} }
# copy hovered file to clipboard # copy hovered file to clipboard
{ {
on = ["<S-y>"]; on = [ "<S-y>" ];
run = ''shell -- path=%h; echo "file://$path" | wl-copy -t text/uri-list''; run = ''shell -- path=%h; echo "file://$path" | wl-copy -t text/uri-list'';
} }
]; ];

View file

@ -1,4 +1,5 @@
{upkgs, ...}: { { upkgs, ... }:
{
programs.zsh = { programs.zsh = {
enable = true; enable = true;
enableCompletion = true; enableCompletion = true;

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
package = null; package = null;

View file

@ -1,4 +1,5 @@
{inputs, ...}: { { inputs, ... }:
{
imports = [ imports = [
inputs.mango.hmModules.mango inputs.mango.hmModules.mango
]; ];

View file

@ -1,17 +1,22 @@
{...}: { { ... }:
wayland.windowManager.river = let {
wayland.windowManager.river =
let
layout = "rivertile"; layout = "rivertile";
in { in
{
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
settings = let settings =
let
main = "Super"; main = "Super";
# applications # applications
terminal = "alacritty"; terminal = "alacritty";
browser = "firefox"; browser = "firefox";
in { in
{
default-layout = "${layout}"; default-layout = "${layout}";
output-layout = "${layout}"; output-layout = "${layout}";
border-width = 1; border-width = 1;

View file

@ -1,4 +1,5 @@
{config, ...}: { { config, ... }:
{
wayland.windowManager.sway = { wayland.windowManager.sway = {
enable = true; enable = true;
config = rec { config = rec {
@ -6,22 +7,24 @@
terminal = "alacritty"; terminal = "alacritty";
# disable sway bar # disable sway bar
bars = []; bars = [ ];
# set border colors # set border colors
#colors = { #colors = {
#focused = #focused =
startup = [ startup = [
{command = "awww-daemon";} { command = "awww-daemon"; }
{command = "waybar";} { command = "waybar"; }
]; ];
keybindings = let keybindings =
let
main = config.wayland.windowManager.sway.config.modifier; main = config.wayland.windowManager.sway.config.modifier;
terminal = config.wayland.windowManager.sway.config.terminal; terminal = config.wayland.windowManager.sway.config.terminal;
browser = "firefox"; browser = "firefox";
in { in
{
"${main}+c" = "kill"; # close focused window "${main}+c" = "kill"; # close focused window
"${main}+Alt+Delete" = "exit"; # exit sway "${main}+Alt+Delete" = "exit"; # exit sway

View file

@ -1,4 +1,5 @@
{pkgs, ...}: { { config, lib, pkgs, ... }:
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
@ -116,7 +117,7 @@
users.users.foxora = { users.users.foxora = {
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel"]; extraGroups = [ "wheel" ];
packages = with pkgs; [ packages = with pkgs; [
tree tree

View file

@ -1,34 +1,31 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
config, imports =
lib, [ (modulesPath + "/installer/scan/not-detected.nix")
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = ["ahci" "ehci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" "sr_mod"]; boot.initrd.availableKernelModules = [ "ahci" "ehci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = []; boot.initrd.kernelModules = [ ];
boot.kernelModules = ["kvm-intel"]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = []; boot.extraModulePackages = [ ];
fileSystems."/" = { fileSystems."/" =
device = "/dev/disk/by-uuid/7f22e35f-7536-49c4-9c04-88874e87f266"; { device = "/dev/disk/by-uuid/7f22e35f-7536-49c4-9c04-88874e87f266";
fsType = "btrfs"; fsType = "btrfs";
}; };
fileSystems."/boot" = { fileSystems."/boot" =
device = "/dev/disk/by-uuid/0213-F9A0"; { device = "/dev/disk/by-uuid/0213-F9A0";
fsType = "vfat"; fsType = "vfat";
options = ["fmask=0077" "dmask=0077"]; options = [ "fmask=0077" "dmask=0077" ];
}; };
swapDevices = [ swapDevices =
{device = "/dev/disk/by-uuid/0d04172b-aed8-42ea-9cb8-e5dcbf960200";} [ { device = "/dev/disk/by-uuid/0d04172b-aed8-42ea-9cb8-e5dcbf960200"; }
]; ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";

View file

@ -1,4 +1,5 @@
{pkgs, ...}: { { config, lib, pkgs, ... }:
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
@ -56,7 +57,7 @@
users.users.foxora = { users.users.foxora = {
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel"]; extraGroups = [ "wheel" ];
packages = with pkgs; [ packages = with pkgs; [
tree tree
@ -90,3 +91,4 @@
system.stateVersion = "25.11"; system.stateVersion = "25.11";
} }

View file

@ -1,34 +1,31 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
config, imports =
lib, [ (modulesPath + "/installer/scan/not-detected.nix")
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod"]; boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = []; boot.initrd.kernelModules = [ ];
boot.kernelModules = ["kvm-intel"]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = []; boot.extraModulePackages = [ ];
fileSystems."/" = { fileSystems."/" =
device = "/dev/disk/by-uuid/1bc53888-6db8-46df-aa28-975b710c5de8"; { device = "/dev/disk/by-uuid/1bc53888-6db8-46df-aa28-975b710c5de8";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = { fileSystems."/boot" =
device = "/dev/disk/by-uuid/12CE-A600"; { device = "/dev/disk/by-uuid/12CE-A600";
fsType = "vfat"; fsType = "vfat";
options = ["fmask=0077" "dmask=0077"]; options = [ "fmask=0077" "dmask=0077" ];
}; };
swapDevices = [ swapDevices =
{device = "/dev/disk/by-uuid/60643004-6916-46b3-8655-66fdc28cf5ad";} [ { device = "/dev/disk/by-uuid/60643004-6916-46b3-8655-66fdc28cf5ad"; }
]; ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";

View file

@ -3,7 +3,8 @@
root, root,
upkgs, upkgs,
... ...
}: { }:
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
@ -12,7 +13,7 @@
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot = rec { boot = rec {
initrd.kernelModules = ["amdgpu"]; initrd.kernelModules = [ "amdgpu" ];
loader = { loader = {
systemd-boot.enable = true; systemd-boot.enable = true;
@ -22,8 +23,8 @@
kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4; kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4;
# TODO: idk make this a toggle or smth idfk # TODO: idk make this a toggle or smth idfk
# kernelPackages = upkgs.linuxPackages_latest; # kernelPackages = upkgs.linuxPackages_latest;
kernelModules = ["v4l2loopback"]; kernelModules = [ "v4l2loopback" ];
extraModulePackages = with kernelPackages; [v4l2loopback]; extraModulePackages = with kernelPackages; [ v4l2loopback ];
# qemu # qemu
# binfmt.emulatedSystems = [ # binfmt.emulatedSystems = [
@ -98,7 +99,7 @@
]; ];
config.common = { config.common = {
"org.freedesktop.impl.portal.FileChooser" = ["termfilechooser"]; "org.freedesktop.impl.portal.FileChooser" = [ "termfilechooser" ];
}; };
}; };
@ -213,7 +214,8 @@
}; };
}; };
systemd.tmpfiles.rules = let systemd.tmpfiles.rules =
let
imagePath = root + "/homes/aurora/profile.png"; imagePath = root + "/homes/aurora/profile.png";
in in
lib.mkIf (builtins.pathExists imagePath) [ lib.mkIf (builtins.pathExists imagePath) [

View file

@ -1,23 +1,24 @@
{cerulean, ...} @ inputs: { cerulean, ... }@inputs:
cerulean.mkNexus ./. (self: { cerulean.mkNexus ./. (self: {
nexus = { nexus = {
args = {inherit inputs;}; args = { inherit inputs; };
modules = with inputs; []; modules = with inputs; [ ];
base = inputs.nixpkgs; base = inputs.nixpkgs;
homeManager = inputs.home-manager; homeManager = inputs.home-manager;
groups = { groups = {
servers = {}; servers = { };
}; };
nodes = let nodes =
inherit let
(self.nexus) inherit (self.nexus)
groups groups
; ;
in { in
{
nixarawrui = { nixarawrui = {
system = "x86_64-linux"; system = "x86_64-linux";
@ -46,7 +47,7 @@ cerulean.mkNexus ./. (self: {
autostart = true; autostart = true;
config = { config = {
imports = [./vms/home-assistant/default.nix]; imports = [ ./vms/home-assistant/default.nix ];
networking.hostName = "home-assistant"; networking.hostName = "home-assistant";
@ -97,9 +98,9 @@ cerulean.mkNexus ./. (self: {
systemd.network.networks."20-lan" = { systemd.network.networks."20-lan" = {
matchConfig.Type = "ether"; matchConfig.Type = "ether";
networkConfig = { networkConfig = {
Address = ["10.16.1.127/24"]; Address = [ "10.16.1.127/24" ];
Gateway = "10.16.1.1"; Gateway = "10.16.1.1";
DNS = ["10.16.1.1"]; DNS = [ "10.16.1.1" ];
IPv6AcceptRA = true; IPv6AcceptRA = true;
DHCP = "yes"; DHCP = "yes";
}; };

View file

@ -1,4 +1,5 @@
{pkgs, ...}: { { config, lib, pkgs, ... }:
{
services.home-assistant = { services.home-assistant = {
enable = true; enable = true;
configDir = "/var/lib/hass/hass"; configDir = "/var/lib/hass/hass";
@ -20,8 +21,7 @@
"mobile_app" "mobile_app"
]; ];
extraPackages = python3Packages: extraPackages = python3Packages: with python3Packages; [
with python3Packages; [
getmac getmac
aiohue aiohue
numpy numpy
@ -39,10 +39,10 @@
# configures the config directory to be mounted # configures the config directory to be mounted
# correctly with the right permissions # correctly with the right permissions
systemd.services.hass-permissions = { systemd.services.hass-permissions = {
wantedBy = ["multi-user.target"]; wantedBy = [ "multi-user.target" ];
after = ["var-lib-hass.mount"]; after = [ "var-lib-hass.mount" ];
requires = ["var-lib-hass.mount"]; requires = [ "var-lib-hass.mount" ];
before = ["home-assistant.service"]; before = [ "home-assistant.service" ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
ExecStart = "${pkgs.bash}/bin/bash -c 'mkdir -p /var/lib/hass/hass && chown hass:hass /var/lib/hass/hass'"; ExecStart = "${pkgs.bash}/bin/bash -c 'mkdir -p /var/lib/hass/hass && chown hass:hass /var/lib/hass/hass'";