diff --git a/base.nix b/base.nix index 887f8a5..6a08f46 100644 --- a/base.nix +++ b/base.nix @@ -34,9 +34,11 @@ ]; nixpkgs.config.permittedInsecurePackages = [ - pkgs.pulsar.name + pkgs.pulsar.name # TODO: remove once electron is bumped pkgs.zotero.name pkgs.gitea.name + pkgs.forgejo.name + pkgs.olm.name # TODO: remove ]; environment.systemPackages = with pkgs; [ diff --git a/flake.nix b/flake.nix index 193dbb2..cc4b73a 100644 --- a/flake.nix +++ b/flake.nix @@ -410,6 +410,8 @@ systemConfigs = let mkSystem = name: inputs: system: inputs.system-manager-edge.lib.makeSystemConfig { + extraSpecialArgs.inputs = inputs; + extraSpecialArgs.system = system; # TODO: find an alternative modules = [ { nixpkgs.hostPlatform = system; } { system-manager.allowAnyDistro = true; } diff --git a/hosts/nixos/sopp/configuration.nix b/hosts/nixos/sopp/configuration.nix index dfcaef9..7f434df 100644 --- a/hosts/nixos/sopp/configuration.nix +++ b/hosts/nixos/sopp/configuration.nix @@ -76,6 +76,7 @@ pkgs.krita pkgs.pbsds.v4l2-play pkgs.librealsense-gui + pkgs.freecad ]; # Networking diff --git a/hosts/system-manager/furiphoneflx1/configuration.nix b/hosts/system-manager/furiphoneflx1/configuration.nix index ef3eb4e..0fdc12f 100644 --- a/hosts/system-manager/furiphoneflx1/configuration.nix +++ b/hosts/system-manager/furiphoneflx1/configuration.nix @@ -1,3 +1,61 @@ +{ lib, pkgs, config, nixosModulesPath, inputs, system, ... }: + { - system-graphics.enable = true; + + imports = + [ + /* ./modules/udev.nix */ + /* ../../../secrets */ + /* ../../../profiles/lix.nix */ + /* ../../../profiles/auto-upgrade.nix */ + /* ../../../profiles/known-hosts.nix */ + ] + # import modules from nixos + # based on https://github.com/numtide/system-manager/blob/e09166d9d4eab2bf010c1589fbf4542a54b022e3/nix/modules/upstream/nixpkgs/default.nix#L9 + ++ map (path: nixosModulesPath + path) [ + /* "/config/nix.nix" */ + /* "/config/nix-remote-build.nix" */ + "/services/networking/tailscale.nix" + ]; + + # stub nixos shit + options = + let + stub = lib.mkOption { type = lib.types.raw; }; + in { + networking.firewall = stub; + networking.dhcpcd = stub; + systemd.network = stub; + }; + + config = { + + nixpkgs.overlays = [ + /* inputs.system-manager-edge.overlays.packages */ + ]; + environment.systemPackages = [ + /* pkgs.system-manager */ + inputs.system-manager-edge.packages.${system}.system-manager # ewww + + pkgs.superTuxKart + ]; + + # https://github.com/soupglasses/nix-system-graphics + system-graphics.enable = true; + + /** / + nix.registry.nixpkgs.flake = inputs.nixpkgs; + nix.registry.nixpkgs-unstable.flake = inputs.unstable; + nix.nixPath = [ + "nixpkgs=${inputs.nixpkgs}" + "nixpkgs-unstable=${inputs.unstable}" + ]; + /**/ + + # from https://wiki.archlinux.org/title/Power_management#Using_a_script_and_an_udev_rule + # in /etc/udev/rules.d/powersave.rules + # SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="${lib.getExe tailscale} up" + # SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="${lib.getExe tailscale} down" + + }; } diff --git a/justfile b/justfile index 9fca45a..f40b11e 100644 --- a/justfile +++ b/justfile @@ -1,5 +1,8 @@ export GUM_FILTER_HEIGHT := "15" +#export hosts_nixos := `2>/dev/null nix eval .\#nixosConfigurations --apply builtins.attrNames --json` +#export hosts_fhs := `2>/dev/null nix eval .\#systemConfigs --apply builtins.attrNames --json` + @_default: just "$(gum filter --placeholder "Pick a recipie..." $(just --summary --unsorted))" diff --git a/profiles/desktop/gnome/default.nix b/profiles/desktop/gnome/default.nix index 71dd2e8..27ce554 100644 --- a/profiles/desktop/gnome/default.nix +++ b/profiles/desktop/gnome/default.nix @@ -61,6 +61,7 @@ environment.gnome.excludePackages = (with pkgs; [ gnome-photos gnome-tour + gnome-maps (pkgs.gedit or pkgs.gnome.gedit) # text editor (24.05 vs 23.11) papers # Document Viewer (new) (pkgs.eog or pkgs.gnome.eog) diff --git a/todos.md b/todos.md index 54e5add..2df2f07 100644 --- a/todos.md +++ b/todos.md @@ -6,6 +6,8 @@ * [ ] home-manager on fhs distro * [ ] system-manager with nix-system-graphics and systemd stuff # nice to have +* [ ] move mkNixos mkHome mkSystem mkBsd etc out of flake.nix +* [ ] make `just build` detect which of nixos-rebuild/home-manage/system-manager to use * [ ] windows binfmtemu with wineWowPackages.wayland * [ ] nixos-generate-config instructions for new hosts * [ ] `profiles/singularity.nix` https://github.com/NixOS/nixpkgs/issues/230851 @@ -30,7 +32,10 @@ # ricing * [ ] [doas](https://github.com/jakehamilton/config/blob/579827c699d9c78bd42e73f543eafb05a0d6c374/modules/security/doas/default.nix) * [ ] https://github.com/NixOS/nixpkgs/pull/266094 (see https://wiki.nixos.org/wiki/Cursor_Themes) +* [ ] https://github.com/oberblastmeister/trashy and a bash alis->function that shadows rm and understands and checks for -f -v and -r. Also print the current trash to the motd? # selfhosting +* [ ] install extra ssd in nox, make it zfs and mount to /var/lib ? +* [ ] backup of nox:/var/lib * [ ] hydra - perfect for CUDA and RISCV * [ ] [avahi](https://github.com/jakehamilton/config/blob/579827c699d9c78bd42e73f543eafb05a0d6c374/modules/services/avahi/default.nix) * [ ] [kvm](https://github.com/jakehamilton/config/blob/579827c699d9c78bd42e73f543eafb05a0d6c374/modules/virtualisation/kvm/default.nix) @@ -64,7 +69,12 @@ * [ ] transgui config * [x] xclip <-> wl-clipboard * [x] add a hidpi profile? https://wiki.archlinux.org/title/HiDPI -* [ ] desktop entries - https://github.com/jakehamilton/config/blob/579827c699d9c78bd42e73f543eafb05a0d6c374/packages/hey/default.nix +* [ ] website desktop entries - https://github.com/jakehamilton/config/blob/579827c699d9c78bd42e73f543eafb05a0d6c374/packages/hey/default.nix + * [ ] element-web + * [ ] messages + * [ ] instagram messages + * [ ] thelounge + * [ ] wechat * [ ] https://github.com/jakehamilton/config/blob/579827c699d9c78bd42e73f543eafb05a0d6c374/packages/xdg-open-with-portal/default.nix - extend it to work over ssh * [ ] https://github.com/fufexan/nix-gaming/tree/b090e8b7e463d9c437536b25a0e9af3477a269e9#pipewire-low-latency * [x] rocm diff --git a/users/pbsds/default.nix b/users/pbsds/default.nix index df80313..cd54572 100644 --- a/users/pbsds/default.nix +++ b/users/pbsds/default.nix @@ -18,7 +18,7 @@ source "$(${pkgs.fzf}/bin/fzf-share)/key-bindings.bash" source "$(${pkgs.fzf}/bin/fzf-share)/completion.bash" ''; - programs.bash.shellAliases."ed" = "micro"; # TODO: ${EDITOR:-micro} + programs.bash.shellAliases."ed" = "\${EDITOR:-micro}"; environment.variables."EDITOR" = "micro"; diff --git a/users/pbsds/home/profiles/desktop/default.nix b/users/pbsds/home/profiles/desktop/default.nix index 07ac78f..0cc7378 100644 --- a/users/pbsds/home/profiles/desktop/default.nix +++ b/users/pbsds/home/profiles/desktop/default.nix @@ -32,8 +32,9 @@ element-desktop unstable.signal-desktop #element-desktop-wayland - #nheko - #fluffychat + /* neochat */ + /* nheko */ + /* fluffychat */ (pkgs.onlyoffice-desktopeditors or pkgs.unstable.onlyoffice-desktopeditors or pkgs.libreoffice) diff --git a/users/pbsds/syncthing.nix b/users/pbsds/syncthing.nix index 506e0d6..d39cdae 100644 --- a/users/pbsds/syncthing.nix +++ b/users/pbsds/syncthing.nix @@ -29,7 +29,6 @@ #guiAddress = "127.0.0.1:8384"; # TODO: nox - # TODO: eple # TODO: somehow disable gui # TODO: somehow auto-make a gui user+password # TODO: somehow don't create ~/Sync