diff --git a/README.md b/README.md index fca377e5..e264e820 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,9 @@ for UI. Click on [this](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/modules/ags) to see my configuration. +I'm also a victim of Stockholm syndrome at this point and make my scripts +in TypeScript because it's the scripting language I am most comfortable with. + ## About ### General @@ -21,7 +24,7 @@ explained ### Flake Location -This git repo will always be located at `/home/${mainUser}/.nix` +This git repo will always be located at `$FLAKE` (`config.environment.variables.FLAKE`) and symlinked to `/etc/nixos` to have everything where NixOS tools expect things to be. @@ -29,6 +32,9 @@ ie. ```bash sudo rm -r /etc/nixos + +echo "$FLAKE" # /home/matt/.nix + sudo ln -sf /home/matt/.nix /etc/nixos ``` diff --git a/common/default.nix b/common/default.nix index c7b3156c..93ff3890 100644 --- a/common/default.nix +++ b/common/default.nix @@ -1,6 +1,7 @@ { config, home-manager, + lib, nh, nix-melt, nur, @@ -64,7 +65,7 @@ extraArgs = "--keep-since 30d"; }; }; - environment.variables.FLAKE = "/home/matt/.nix"; + environment.variables.FLAKE = lib.mkDefault "/home/matt/.nix"; services = { fwupd.enable = true; diff --git a/common/home/bash/config/bashrc b/common/home/bash/config/bashrc index c8387ebe..51e63556 100644 --- a/common/home/bash/config/bashrc +++ b/common/home/bash/config/bashrc @@ -1,6 +1,6 @@ # Check git status of nix configs fetchNix() {( - cd ~/.nix || exit 1 + cd "$FLAKE" || exit 1 git fetch --all --quiet GIT=$(git -c color.status=always status | grep -v -e "On branch" \ diff --git a/common/home/git/default.nix b/common/home/git/default.nix index 806de2e7..eacbc0cc 100644 --- a/common/home/git/default.nix +++ b/common/home/git/default.nix @@ -1,10 +1,4 @@ -{ - config, - pkgs, - ... -}: let - inherit (config.vars) mainUser; -in { +{pkgs, ...}: { programs = { git = { enable = true; @@ -75,9 +69,10 @@ in { runtimeInputs = [git]; text = '' - DIR=''${1:-"/home/${mainUser}/.nix"} + DIR=''${1:-"$FLAKE"} + + cd "$DIR" || exit 1 - cd "$DIR" git add flake.lock git commit -m 'chore: update flake.lock' git push diff --git a/common/vars/default.nix b/common/vars/default.nix index 4bf0a401..097906ac 100644 --- a/common/vars/default.nix +++ b/common/vars/default.nix @@ -5,6 +5,7 @@ }: { options.vars = let inherit (lib) mkOption types; + flakeDir = config.environment.variables.FLAKE; cfg = config.vars; in { mainUser = mkOption { @@ -49,7 +50,7 @@ configDir = mkOption { type = types.str; - default = "/home/${cfg.mainUser}/.nix/devices/${cfg.hostName}/config"; + default = "${flakeDir}/devices/${cfg.hostName}/config"; description = '' The path to where most of the devices' configs are in the .nix folder ''; @@ -61,7 +62,7 @@ The name of the main monitor used for Hyprland and Regreet which also uses Hyprland ''; - # This is to allow a bash script to know wether this value exists + # This is to allow a bash script to know whether this value exists default = "null"; }; diff --git a/devices/nos/modules/subtitles/syncing/node-syncsub/main.ts b/devices/nos/modules/subtitles/syncing/node-syncsub/main.ts index c14e5ae0..975fb559 100755 --- a/devices/nos/modules/subtitles/syncing/node-syncsub/main.ts +++ b/devices/nos/modules/subtitles/syncing/node-syncsub/main.ts @@ -38,5 +38,6 @@ readdir(DIR, (_, files) => { '--overwrite', ]; + // TODO: actually call the command console.log(cmd); }); diff --git a/modules/ags/default.nix b/modules/ags/default.nix index 215016d1..0b1d8430 100644 --- a/modules/ags/default.nix +++ b/modules/ags/default.nix @@ -7,6 +7,7 @@ }: let inherit (config.vars) mainUser hostName; + flakeDir = config.environment.variables.FLAKE; isTouchscreen = config.hardware.sensor.iio.enable; in { # Enable pam for ags and astal @@ -28,11 +29,11 @@ in { inherit (lib) optionals; astalTypes = config.home.file.".local/share/io.Aylur.Astal/types"; - astalConfigDir = ".nix/modules/ags/astal"; + astalConfigDir = ".nix/modules/ags/astal"; # FIXME: figure out way to use $FLAKE # https://github.com/Aylur/ags/blob/e1f2d311ceb496a69ef6daa6aebb46ce511b2f22/nix/hm-module.nix#L69 agsTypes = config.home.file.".local//share/com.github.Aylur.ags/types"; - agsConfigDir = ".nix/modules/ags/config"; + agsConfigDir = ".nix/modules/ags/config"; # FIXME: figure out way to use $FLAKE configJs = /* @@ -57,11 +58,11 @@ in { home = { file = { - ".config/astal".source = symlink /home/${mainUser}/.nix/modules/ags/astal; + ".config/astal".source = symlink "${flakeDir}/modules/ags/astal"; "${astalConfigDir}/types".source = astalTypes.source; "${astalConfigDir}/config.js".text = configJs; - ".config/ags".source = symlink /home/${mainUser}/.nix/modules/ags/config; + ".config/ags".source = symlink "${flakeDir}/modules/ags/config"; "${agsConfigDir}/types".source = agsTypes.source; "${agsConfigDir}/config.js".text = configJs; } diff --git a/modules/hyprland/packages.nix b/modules/hyprland/packages.nix index 3c801c65..08dc8449 100644 --- a/modules/hyprland/packages.nix +++ b/modules/hyprland/packages.nix @@ -6,6 +6,7 @@ }: let inherit (lib) makeLibraryPath optionalString; inherit (config.vars) mainUser; + flakeDir = config.environment.variables.FLAKE; in { imports = [../dolphin.nix]; @@ -20,7 +21,7 @@ in { ({config, ...}: let symlink = config.lib.file.mkOutOfStoreSymlink; - configDir = "/home/${mainUser}/.nix/modules/hyprland/config"; + configDir = "${flakeDir}/modules/hyprland/config"; in { xdg.configFile = { "dolphinrc".source = symlink "${configDir}/dolphinrc";