diff --git a/flake.lock b/flake.lock index 537a652..3ff47dd 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ "blocklist-hosts": { "flake": false, "locked": { - "lastModified": 1712248646, - "narHash": "sha256-pEiprVaO6CmIJ1qJMQn/y8vHvRQwiQq7CwbhzlneCOA=", + "lastModified": 1712150903, + "narHash": "sha256-mXtiXj+4Sm8nfHYI/cNItG/tOLeP1Rs9LEEgxYxY8rc=", "owner": "StevenBlack", "repo": "hosts", - "rev": "a340ebf0b8e9f81476c0ec0b6a9767858aea325c", + "rev": "4d96abf2bc07773124ebc348a347254ba0601179", "type": "github" }, "original": { @@ -475,6 +475,27 @@ } }, "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712093955, + "narHash": "sha256-94I0sXz6fiVBvUAk2tg6t3UpM5rOImj4JTSTNFbg64s=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "80546b220e95a575c66c213af1b09fe255299438", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "master", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { "inputs": { "nixpkgs": [ "stylix", @@ -495,45 +516,19 @@ "type": "github" } }, - "home-manager-stable": { - "inputs": { - "nixpkgs": [ - "nixpkgs-stable" - ] - }, + "hyprland-plugins": { + "flake": false, "locked": { - "lastModified": 1712386041, - "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff", + "lastModified": 1712142571, + "narHash": "sha256-cwe70xoqlBqTNiZltjMMx3CLahiAnaPBkysUmSCpkdk=", + "owner": "hyprwm", + "repo": "hyprland-plugins", + "rev": "4334510363a8420f17d88505d13405d5126eabf0", "type": "github" }, "original": { - "owner": "nix-community", - "ref": "release-23.11", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager-unstable": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1712390667, - "narHash": "sha256-ebq+fJZfobqpsAdGDGpxNWSySbQejRwW9cdiil6krCo=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "b787726a8413e11b074cde42704b4af32d95545c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "master", - "repo": "home-manager", + "owner": "hyprwm", + "repo": "hyprland-plugins", "type": "github" } }, @@ -633,11 +628,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712163089, - "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=", + "lastModified": 1712122226, + "narHash": "sha256-pmgwKs8Thu1WETMqCrWUm0CkN1nmCKX3b51+EXsAZyY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5", + "rev": "08b9151ed40350725eb40b1fe96b0b86304a654b", "type": "github" }, "original": { @@ -648,11 +643,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1712310679, - "narHash": "sha256-XgC/a/giEeNkhme/AV1ToipoZ/IVm1MV2ntiK4Tm+pw=", + "lastModified": 1711668574, + "narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "72da83d9515b43550436891f538ff41d68eecc7f", + "rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659", "type": "github" }, "original": { @@ -907,8 +902,8 @@ "eaf": "eaf", "eaf-browser": "eaf-browser", "emacs-pin-nixpkgs": "emacs-pin-nixpkgs", - "home-manager-stable": "home-manager-stable", - "home-manager-unstable": "home-manager-unstable", + "home-manager": "home-manager", + "hyprland-plugins": "hyprland-plugins", "kdenlive-pin-nixpkgs": "kdenlive-pin-nixpkgs", "mini-frame": "mini-frame", "nix-doom-emacs": "nix-doom-emacs", @@ -947,11 +942,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1712369449, - "narHash": "sha256-tbWug3uXPlSm1j0xD80Y3xbP+otT6gLnQo1e/vQat48=", + "lastModified": 1712110341, + "narHash": "sha256-8LU2IM4ctHz043hlzoFUwQS1QIdhiMGEH/oIfPCxoWU=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "41b3b080cc3e4b3a48e933b87fc15a05f1870779", + "rev": "74deb67494783168f5b6d2071d73177e6bccab65", "type": "github" }, "original": { @@ -989,7 +984,7 @@ "base16-vim": "base16-vim", "flake-compat": "flake-compat_2", "gnome-shell": "gnome-shell", - "home-manager": "home-manager", + "home-manager": "home-manager_2", "nixpkgs": "nixpkgs_3" }, "locked": { diff --git a/flake.nix b/flake.nix index 3386aba..42b01c9 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,9 @@ { description = "Flake of LibrePhoenix"; - outputs = inputs@{ self, nixpkgs, nixpkgs-stable, emacs-pin-nixpkgs, kdenlive-pin-nixpkgs, - home-manager-unstable, home-manager-stable, nix-doom-emacs, - nix-straight, stylix, blocklist-hosts, rust-overlay, org-nursery, org-yaap, + outputs = inputs@{ self, nixpkgs, nixpkgs-stable, emacs-pin-nixpkgs, + kdenlive-pin-nixpkgs, home-manager, nix-doom-emacs, nix-straight, stylix, + blocklist-hosts, hyprland-plugins, rust-overlay, org-nursery, org-yaap, org-side-tree, org-timeblock, org-krita, phscroll, mini-frame, ... }: let # ---- SYSTEM SETTINGS ---- # @@ -98,14 +98,6 @@ else nixpkgs.lib); - # use home-manager-stable if running a server (homelab or worklab profile) - # otherwise use home-manager-unstable - home-manager = (if ((systemSettings.profile == "homelab") || (systemSettings.profile == "worklab")) - then - home-manager-stable - else - home-manager-unstable); - # Systems that can run tests: supportedSystems = [ "aarch64-linux" "i686-linux" "x86_64-linux" ]; @@ -142,6 +134,7 @@ inherit (inputs) mini-frame; #inherit (inputs) nix-flatpak; inherit (inputs) stylix; + inherit (inputs) hyprland-plugins; }; }; }; @@ -191,11 +184,8 @@ emacs-pin-nixpkgs.url = "nixpkgs/f72123158996b8d4449de481897d855bc47c7bf6"; kdenlive-pin-nixpkgs.url = "nixpkgs/cfec6d9203a461d9d698d8a60ef003cac6d0da94"; - home-manager-unstable.url = "github:nix-community/home-manager/master"; - home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs"; - - home-manager-stable.url = "github:nix-community/home-manager/release-23.11"; - home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable"; + home-manager.url = "github:nix-community/home-manager/master"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; nix-doom-emacs.url = "github:nix-community/nix-doom-emacs"; nix-doom-emacs.inputs.nixpkgs.follows = "emacs-pin-nixpkgs"; @@ -249,5 +239,10 @@ url = "github:StevenBlack/hosts"; flake = false; }; + + hyprland-plugins = { + url = "github:hyprwm/hyprland-plugins"; + flake = false; + }; }; } diff --git a/harden.sh b/harden.sh index 1eb1da8..73aa3e9 100755 --- a/harden.sh +++ b/harden.sh @@ -27,8 +27,5 @@ chown 0:0 flake.lock; chown 0:0 flake.nix chown 0:0 profiles/*/configuration.nix; chown 0:0 harden.sh; -chown 0:0 soften.sh; -chown 0:0 install.sh; -chown 0:0 update.sh; chown 1000:users **/README.org; popd &> /dev/null; diff --git a/install.sh b/install.sh index f8993a0..cfe44f2 100755 --- a/install.sh +++ b/install.sh @@ -28,12 +28,11 @@ if [ -z "$EDITOR" ]; then fi $EDITOR ~/.dotfiles/flake.nix; -# Permissions for files that should be owned by root -sudo ~/.dotfiles/harden.sh ~/.dotfiles; - # Rebuild system sudo nixos-rebuild switch --flake ~/.dotfiles#system; # Install and build home-manager configuration nix run home-manager/master --extra-experimental-features nix-command --extra-experimental-features flakes -- switch --flake ~/.dotfiles#user; +# Permissions for files that should be owned by root +sudo ~/.dotfiles/harden.sh ~/.dotfiles; diff --git a/profiles/homelab/base.nix b/profiles/homelab/base.nix index c0562a5..a66ac09 100644 --- a/profiles/homelab/base.nix +++ b/profiles/homelab/base.nix @@ -4,7 +4,6 @@ imports = [ ../../system/hardware-configuration.nix ../../system/hardware/time.nix # Network time sync - ../../system/security/firewall.nix ../../system/security/doas.nix ../../system/security/gpg.nix ( import ../../system/app/docker.nix {storageDriver = null; inherit pkgs userSettings lib;} ) @@ -72,15 +71,10 @@ git rclone rdiff-backup - rsnapshot cryptsetup gocryptfs ]; - programs.fuse.userAllowOther = true; - - services.haveged.enable = true; - # I use zsh btw environment.shells = with pkgs; [ zsh ]; users.defaultUserShell = pkgs.zsh; diff --git a/soften.sh b/soften.sh deleted file mode 100755 index 55dbbc5..0000000 --- a/soften.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -# This will soften the security of these dotfiles, allowing -# the default unpriveleged user with UID/GID of 1000 to edit ALL FILES -# in the dotfiles directory - -# This mainly is just here to be used by some scripts - -# Run this inside of ~/.dotfiles (or whatever directory you installed -# the dotfiles to) - -# Run this as root! - -# BTW, this assumes your user account has a UID/GID of 1000 - -# After running this, YOUR UNPRIVELEGED USER CAN MAKE EDITS TO -# IMPORTANT SYSTEM FILES WHICH MAY COMPROMISE THE SYSTEM AFTER -# RUNNING nixos-rebuild switch! - -if [ "$#" = 1 ]; then - dotfilesDir=$1; -else - dotfilesDir=$(pwd); -fi -pushd $dotfilesDir &> /dev/null; -chown -R 1000:users .; -popd &> /dev/null; diff --git a/system/app/docker.nix b/system/app/docker.nix index 3e36b88..0923aaa 100644 --- a/system/app/docker.nix +++ b/system/app/docker.nix @@ -19,7 +19,6 @@ assert lib.asserts.assertOneOf "storageDriver" storageDriver [ }; users.users.${userSettings.username}.extraGroups = [ "docker" ]; environment.systemPackages = with pkgs; [ - docker docker-compose lazydocker ]; diff --git a/update.sh b/update.sh deleted file mode 100755 index 8c890b6..0000000 --- a/update.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -# Automated script to update my non-primary systems -# to be in sync with upstream git repo while -# preserving local edits to dotfiles via git stash - -# Relax permissions temporarily so git can work -sudo ~/.dotfiles/soften.sh ~/.dotfiles; - -# Stash local edits, pull changes, and re-apply local edits -git stash -git pull -git stash apply - -# Permissions for files that should be owned by root -sudo ~/.dotfiles/harden.sh ~/.dotfiles; - -# Rebuild system -sudo nixos-rebuild switch --flake ~/.dotfiles#system; - -# Install and build home-manager configuration -home-manager --extra-experimental-features nix-command --extra-experimental-features flakes -- switch --flake ~/.dotfiles#user; - diff --git a/user/shell/sh.nix b/user/shell/sh.nix index c12635c..b96d8b2 100644 --- a/user/shell/sh.nix +++ b/user/shell/sh.nix @@ -11,6 +11,8 @@ let neofetch = "disfetch"; fetch = "disfetch"; gitfetch = "onefetch"; + nixos-rebuild = "systemd-run --no-ask-password --uid=0 --system --scope -p MemoryLimit=16000M -p CPUQuota=60% nixos-rebuild"; + home-manager = "systemd-run --no-ask-password --uid=1000 --user --scope -p MemoryLimit=16000M -p CPUQuota=60% home-manager"; }; in { diff --git a/user/style/oomox-current.conf.mustache b/user/style/oomox-current.conf.mustache index 762bade..7da9bd0 100644 --- a/user/style/oomox-current.conf.mustache +++ b/user/style/oomox-current.conf.mustache @@ -1,5 +1,10 @@ # FG BTN_BG bright less brdark less da txt fg br text btn fg txt bg bg shadow sel bg sel fg link visited alt bg default tooltip bg tooltip_fg [ColorScheme] - active_colors=#{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base07-hex}}, #{{base07-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base07-hex}} - disabled_colors=#767081, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #767081, #767081, #767081, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base00-hex}}, #{{base01-hex}}, #767081, #{{base00-hex}}, #767081, #{{base00-hex}}, #767081 - inactive_colors=#{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base07-hex}}, #{{base07-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base07-hex}} + active_colors=#{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base0F-hex}}, #{{base07-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base07-hex}}, 181b24, #{{base07-hex}} +disabled_colors=#767081, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #767081, #767081, #767081, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base00-hex}}, #{{base01-hex}}, #767081, #{{base00-hex}}, #767081, #{{base00-hex}}, #767081 +inactive_colors=#{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base07-hex}}, #{{base07-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base07-hex}} + +# FG BTN_BG bright less br dark less da txt fg br text btn fg txt bg bg shadow sel bg sel fg link visite alt bg default tooltip bg tooltip_fg +# active_colors=#{{base07-hex}}, #{{base02-hex}}, #{{base00-hex}}, #cbc7c4, #9f9d9a, #b8b5b2, #{{base07-hex}}, #ff0000, #{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #767472, #{{base01-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base07-hex}}, 181b24, #{{base07-hex}} +#disabled_colors=#767081, #{{base02-hex}}, #{{base00-hex}}, #cbc7c4, #9f9d9a, #b8b5b2, #767081, #ffec17, #{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #767472, #{{base01-hex}}, #{{base00-hex}}, #{{base01-hex}}, #767081, #{{base00-hex}}, #767081, #{{base00-hex}}, #767081 +#inactive_colors=#{{base07-hex}}, #{{base02-hex}}, #{{base00-hex}}, #cbc7c4, #9f9d9a, #b8b5b2, #{{base07-hex}}, #ff9040, #{{base07-hex}}, #{{base00-hex}}, #{{base00-hex}}, #767472, #{{base01-hex}}, #{{base00-hex}}, #{{base01-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base07-hex}}, #{{base00-hex}}, #{{base07-hex}} diff --git a/user/style/stylix.nix b/user/style/stylix.nix index 1fe5de0..ca316d2 100644 --- a/user/style/stylix.nix +++ b/user/style/stylix.nix @@ -70,7 +70,6 @@ in }; font.size = config.stylix.fonts.sizes.terminal; }; - stylix.targets.kde.enable = true; stylix.targets.kitty.enable = true; stylix.targets.gtk.enable = true; stylix.targets.rofi.enable = if (userSettings.wmType == "x11") then true else false; @@ -120,12 +119,20 @@ in wallpaper = DP-1,''+config.stylix.image+'' ''; home.packages = with pkgs; [ - libsForQt5.qt5ct pkgs.libsForQt5.breeze-qt5 libsForQt5.breeze-icons + qt5ct pkgs.libsForQt5.breeze-qt5 ]; + home.sessionVariables = { + QT_QPA_PLATFORMTHEME="qt5ct"; + }; + programs.zsh.sessionVariables = { + QT_QPA_PLATFORMTHEME="qt5ct"; + }; + programs.bash.sessionVariables = { + QT_QPA_PLATFORMTHEME="qt5ct"; + }; qt = { enable = true; style.package = pkgs.libsForQt5.breeze-qt5; style.name = "breeze-dark"; - platformTheme = "kde"; }; } diff --git a/user/wm/hyprland/hyprbars.nix b/user/wm/hyprland/hyprbars.nix new file mode 100644 index 0000000..b6ebe61 --- /dev/null +++ b/user/wm/hyprland/hyprbars.nix @@ -0,0 +1,15 @@ +{ config, lib, stdenv, pkgs, hyprland-plugins, ... }: + +stdenv.mkDerivation rec { + pname = "hyprbars"; + version = "unstable"; + src = "${hyprland-plugins}/hyprbars"; + nativeBuildInputs = [ pkgs.hyprland.nativeBuildInputs ]; + buildInputs = [ pkgs.hyprland pkgs.hyprland.buildInputs ]; + meta = { + homepage = "https://gitlab.com/phoneybadger/pokemon-colorscripts"; + description = "CLI utility to print out images of pokemon to terminal"; + license = lib.licenses.mit; + maintainers = []; + }; +}