diff --git a/flake.lock b/flake.lock index d1b8ed9..d459076 100644 --- a/flake.lock +++ b/flake.lock @@ -101,15 +101,15 @@ "base16-vim": { "flake": false, "locked": { - "lastModified": 1716150083, - "narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=", - "owner": "tinted-theming", + "lastModified": 1663659192, + "narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=", + "owner": "chriskempson", "repo": "base16-vim", - "rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d", + "rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d", "type": "github" }, "original": { - "owner": "tinted-theming", + "owner": "chriskempson", "repo": "base16-vim", "type": "github" } @@ -117,11 +117,11 @@ "blocklist-hosts": { "flake": false, "locked": { - "lastModified": 1719001847, - "narHash": "sha256-dt/UEjcTSxkmsC+zZvGS2+Y6c2CFjo6Hn3WAhokFAkk=", + "lastModified": 1717861551, + "narHash": "sha256-8wolGw60hKNa++YO57FXL8/g5U84VgINoQAZ3ppe0ME=", "owner": "StevenBlack", "repo": "hosts", - "rev": "05a9ae6098bb2f09eb1d35cb440a086a9a85d39c", + "rev": "846f528dfc591a647a36462ec1f8bf3453fa0c35", "type": "github" }, "original": { @@ -373,6 +373,24 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "format-all": { "flake": false, "locked": { @@ -431,11 +449,11 @@ ] }, "locked": { - "lastModified": 1715930644, - "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", + "lastModified": 1714981474, + "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", "owner": "nix-community", "repo": "home-manager", - "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", + "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", "type": "github" }, "original": { @@ -472,11 +490,11 @@ ] }, "locked": { - "lastModified": 1719037157, - "narHash": "sha256-aOKd8+mhBsLQChCu1mn/W5ww79ta5cXVE59aJFrifM8=", + "lastModified": 1718141734, + "narHash": "sha256-cA+6l8ZCZ7MXGijVuY/1f55+wF/RT4PlTR9+g4bx86w=", "owner": "nix-community", "repo": "home-manager", - "rev": "cd886711998fe5d9ff7979fdd4b4cbd17b1f1511", + "rev": "892f76bd0aa09a0f7f73eb41834b8a904b6d0fad", "type": "github" }, "original": { @@ -767,11 +785,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719075281, - "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=", + "lastModified": 1718160348, + "narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af", + "rev": "57d6973abba7ea108bac64ae7629e7431e0199b6", "type": "github" }, "original": { @@ -782,11 +800,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1718811006, - "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", + "lastModified": 1718060059, + "narHash": "sha256-9XKFni8VMXo81RTq9XygCyaO3I/7UKpwIlM/yn0MdcM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", + "rev": "a3c8d64ba846725f040582b2d3b875466d2115bd", "type": "github" }, "original": { @@ -797,11 +815,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1718428119, - "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=", + "lastModified": 1706487304, + "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e6cea36f83499eb4e9cd184c8a8e823296b50ad5", + "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", "type": "github" }, "original": { @@ -957,11 +975,11 @@ "org-sliced-images": { "flake": false, "locked": { - "lastModified": 1718918908, - "narHash": "sha256-Pcz+e26qVsZMNEBbzjdrOUUib9ozLG1gY6Ry/l8e+qM=", + "lastModified": 1711408181, + "narHash": "sha256-ck3mGXtJJ0N8asGE4cRtWeJx5/iC+bTXw2cvZgePJqM=", "owner": "jcfk", "repo": "org-sliced-images", - "rev": "43d4f4147ed4cd670aab8a2d9fdfe3c0edd289c9", + "rev": "bd1141d6df6edfd9749c0bbf3a72836148c0e39d", "type": "github" }, "original": { @@ -1130,14 +1148,15 @@ }, "rust-overlay": { "inputs": { + "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1719109180, - "narHash": "sha256-96dwGCV2yQxDozDATqbsM3YU0ft3Isw3cwVDO/eNCv8=", + "lastModified": 1718158726, + "narHash": "sha256-nOt0XxRZ9ZwztX4OOKdS4YkPd3TVfz/PoaD8TiT7/vw=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "5fc5f3a0d7eabf7db86851e6423f9d7fbceaf89d", + "rev": "d4d933340cd3b35d3dc256d76abc3d510e21dfdc", "type": "github" }, "original": { @@ -1177,11 +1196,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1719152448, - "narHash": "sha256-Acbi1Crd+UEbpPW8IR0ZGRKV+JCnMXDS2cglFQJvRPM=", + "lastModified": 1718122552, + "narHash": "sha256-A+dBkSwp8ssHKV/WyXb9uqIYrHBqHvtSedU24Lq9lqw=", "owner": "danth", "repo": "stylix", - "rev": "0fc4e9f1449a9dce4be7a1ecedd97949da591181", + "rev": "e59d2c1725b237c362e4a62f5722f5b268d566c7", "type": "github" }, "original": { @@ -1220,6 +1239,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "ts-fold": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 73817bc..3af225a 100644 --- a/flake.nix +++ b/flake.nix @@ -152,20 +152,6 @@ }; }; }; - nixOnDroidConfigurations = { - inherit pkgs; - default = inputs.nix-on-droid.lib.nixOnDroidConfiguration { - modules = [ ./profiles/nix-on-droid/configuration.nix ]; - }; - extraSpecialArgs = { - # pass config variables from above - inherit pkgs-stable; - inherit pkgs-emacs; - inherit systemSettings; - inherit userSettings; - inherit inputs; - }; - }; packages = forAllSystems (system: let pkgs = nixpkgsFor.${system}; @@ -202,12 +188,6 @@ home-manager-stable.url = "github:nix-community/home-manager/release-23.11"; home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable"; - nix-on-droid = { - url = "github:nix-community/nix-on-droid/master"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.home-manager.follows = "home-manager-unstable"; - }; - hyprland = { type = "git"; url = "https://github.com/hyprwm/Hyprland"; diff --git a/harden.sh b/harden.sh index e1d65d5..5e8f5e5 100755 --- a/harden.sh +++ b/harden.sh @@ -25,7 +25,6 @@ chown -R 0:0 system; chown -R 0:0 patches; chown 0:0 flake.lock; chown 0:0 flake.nix -chown 0:0 profiles chown 0:0 profiles/*/configuration.nix; chown 0:0 harden.sh; chown 0:0 soften.sh; diff --git a/profiles/README.org b/profiles/README.org index 5213f3b..487f229 100644 --- a/profiles/README.org +++ b/profiles/README.org @@ -4,12 +4,8 @@ This directory contains various system profiles which can easily be set in [[../ Current profiles I have available are: - [[./personal][Personal]] - What I would run on a personal laptop/desktop* -- [[./work][Work]] - What I would run on my work laptop/desktop* -- [[./homelab][Homelab]] - What I would run on a server or homelab* -- [[./worklab][Worklab]] - My homelab config with my work SSH keys preinstalled* -- [[./wsl][WSL]] - Windows Subsystem for Emacs (uses [[https://github.com/nix-community/NixOS-WSL][NixOS-WSL]]) -- [[./nix-on-droid][Nix on Droid]] - So that I can run Emacs on my phone (uses [[https://github.com/nix-community/nix-on-droid][nix-on-droid]]) +- [[./work][Work]] - What I would run on a work laptop/desktop (if they let me bring my own OS :P) +- [[./homelab][Homelab]] - What I would run on a server or homelab +- [[./wsl][WSL]] - What I would run underneath Windows Subystem for Linux *My [[./personal][personal]] and [[./work][work]] profiles are actually functionally identical (the [[./work][work]] profile is actually imported into the [[./personal][personal]] profile)! The only difference between them is that my [[./personal][personal]] profile has a few extra things like gaming and social apps. - -*My [[./homelab][homelab]] and [[./worklab][worklab]] profiles are similarly functionally identical (they both utilize the this [[./homelab/base.nix][base.nix]] file)! The only difference is that they have different preinstalled ssh keys. diff --git a/profiles/nix-on-droid/README.org b/profiles/nix-on-droid/README.org deleted file mode 100644 index eed6617..0000000 --- a/profiles/nix-on-droid/README.org +++ /dev/null @@ -1,3 +0,0 @@ -#+title: I need Emacs on the go! - -This is my =Nix on Droid= profile, which is a minimal installation I use on Android. This (obviously) requires [[https://github.com/nix-community/nix-on-droid][nix-on-droid]] to be installed. I essentially just use this for Emacs and some CLI apps. diff --git a/profiles/nix-on-droid/configuration.nix b/profiles/nix-on-droid/configuration.nix deleted file mode 100644 index 9ca3597..0000000 --- a/profiles/nix-on-droid/configuration.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ config, lib, pkgs, pkgs-stable, pkgs-emacs, systemSettings, userSettings, inputs, ... }: - -{ - # Simply install just the packages - environment.packages = with pkgs; [ - # User-facing stuff that you really really want to have - vim # or some other editor, e.g. nano or neovim - - # Some common stuff that people expect to have - procps - killall - diffutils - findutils - utillinux - tzdata - hostname - man - gnugrep - gnupg - gnused - gnutar - bzip2 - gzip - xz - zip - unzip - git - ]; - - # Backup etc files instead of failing to activate generation if a file already exists in /etc - environment.etcBackupExtension = ".bak"; - - # Read the changelog before changing this value - system.stateVersion = "23.11"; - - # Set up nix for flakes - nix.extraOptions = '' - experimental-features = nix-command flakes - ''; - - # Set your time zone - #time.timeZone = "Europe/Berlin"; - - # Configure home-manager - home-manager = { - backupFileExtension = "hm-bak"; - useGlobalPkgs = true; - - config = ./home.nix; - - extraSpecialArgs = { - # pass config variables from above - inherit pkgs-stable; - inherit pkgs-emacs; - inherit systemSettings; - inherit userSettings; - inherit inputs; - }; - }; -} diff --git a/profiles/nix-on-droid/home.nix b/profiles/nix-on-droid/home.nix deleted file mode 100644 index 65aea7a..0000000 --- a/profiles/nix-on-droid/home.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ config, pkgs, userSettings, ... }: - -{ - programs.home-manager.enable = true; - - imports = [ - ../../user/shell/sh.nix # My zsh and bash config - ../../user/shell/cli-collection.nix # Useful CLI apps - ../../user/app/doom-emacs/doom.nix # My doom emacs config - ../../user/app/ranger/ranger.nix # My ranger file manager config - ../../user/app/git/git.nix # My git config - ../../user/style/stylix.nix # Styling and themes for my apps - ]; - - home.stateVersion = "22.11"; # Please read the comment before changing. - - home.packages = with pkgs; [ - # Core - zsh - git - ]; - - xdg.enable = true; - xdg.userDirs = { - enable = true; - createDirectories = true; - music = "${config.home.homeDirectory}/Media/Music"; - videos = "${config.home.homeDirectory}/Media/Videos"; - pictures = "${config.home.homeDirectory}/Media/Pictures"; - templates = "${config.home.homeDirectory}/Templates"; - download = "${config.home.homeDirectory}/Downloads"; - documents = "${config.home.homeDirectory}/Documents"; - desktop = null; - publicShare = null; - extraConfig = { - XDG_DOTFILES_DIR = "${config.home.homeDirectory}/.dotfiles"; - XDG_ARCHIVE_DIR = "${config.home.homeDirectory}/Archive"; - XDG_ORG_DIR = "${config.home.homeDirectory}/Org"; - XDG_BOOK_DIR = "${config.home.homeDirectory}/Media/Books"; - }; - }; - xdg.mime.enable = true; - xdg.mimeApps.enable = true; - - home.sessionVariables = { - EDITOR = userSettings.editor; - }; - - news.display = "silent"; - -} diff --git a/profiles/work/home.nix b/profiles/work/home.nix index fa6fae4..a23480c 100644 --- a/profiles/work/home.nix +++ b/profiles/work/home.nix @@ -176,7 +176,6 @@ libffi zlib nodePackages.ungit ventoy - nextcloud-client ]) ++ ([ pkgs-kdenlive.kdenlive ]); home.file.".local/share/pixmaps/nixos-snowflake-stylix.svg".source = diff --git a/profiles/wsl/home.nix b/profiles/wsl/home.nix index 164b89f..6d2a704 100644 --- a/profiles/wsl/home.nix +++ b/profiles/wsl/home.nix @@ -15,6 +15,7 @@ ../../user/app/ranger/ranger.nix # My ranger file manager config ../../user/app/git/git.nix # My git config ../../user/style/stylix.nix # Styling and themes for my apps + ../../user/lang/cc/cc.nix # C and C++ tools ]; home.stateVersion = "22.11"; # Please read the comment before changing. diff --git a/system/bin/phoenix.nix b/system/bin/phoenix.nix index 15e8ccc..60987d4 100644 --- a/system/bin/phoenix.nix +++ b/system/bin/phoenix.nix @@ -1,5 +1,4 @@ { pkgs, userSettings, ... }: -# TODO make this work on nix-on-droid! let myScript = '' if [ "$1" = "sync" ]; then if [ "$#" = 1 ]; then diff --git a/system/security/firejail.nix b/system/security/firejail.nix index 03533d3..6cf8caa 100644 --- a/system/security/firejail.nix +++ b/system/security/firejail.nix @@ -4,10 +4,10 @@ environment.systemPackages = with pkgs; [ firejail ]; programs.firejail.enable = true; programs.firejail.wrappedBinaries = { - #prismlauncher = { - # executable = "${pkgs.prismlauncher}/bin/prismlauncher"; - # profile = ./firejail-profiles/prismlauncher.profile; - #}; + prismlauncher = { + executable = "${pkgs.prismlauncher}/bin/prismlauncher"; + profile = ./firejail-profiles/prismlauncher.profile; + }; steam = { executable = "${pkgs.steam}/bin/steam"; profile = "${pkgs.firejail}/etc/firejail/steam.profile"; diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 1c1727b..b602e66 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -247,16 +247,15 @@ ;; Top-level headings should be bigger! (custom-set-faces! - `(outline-1 :height 1.3 :foreground ,(nth 1 (nth 14 doom-themes--colors))) - `(outline-2 :height 1.25 :foreground ,(nth 1 (nth 15 doom-themes--colors))) - `(outline-3 :height 1.2 :foreground ,(nth 1 (nth 19 doom-themes--colors))) - `(outline-4 :height 1.1 :foreground ,(nth 1 (nth 23 doom-themes--colors))) - `(outline-5 :height 1.1 :foreground ,(nth 1 (nth 24 doom-themes--colors))) - `(outline-6 :height 1.1 :foreground ,(nth 1 (nth 16 doom-themes--colors))) - `(outline-7 :height 1.05 :foreground ,(nth 1 (nth 18 doom-themes--colors))) - `(outline-8 :height 1.05 :foreground ,(nth 1 (nth 11 doom-themes--colors))) + '(org-level-1 :inherit outline-1 :height 1.3) + '(org-level-2 :inherit outline-2 :height 1.25) + '(org-level-3 :inherit outline-3 :height 1.2) + '(org-level-4 :inherit outline-4 :height 1.1) + '(org-level-5 :inherit outline-5 :height 1.1) + '(org-level-6 :inherit outline-6 :height 1.05) + '(org-level-7 :inherit outline-7 :height 1.05) '(variable-pitch :family "Intel One Mono") -) + ) (after! org (org-eldoc-load)) diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index 68c5a42..b43abfc 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -317,16 +317,15 @@ Doom Emacs is traditionally installed by cloning the repository ([[https://githu ;; Top-level headings should be bigger! (custom-set-faces! - `(outline-1 :height 1.3 :foreground ,(nth 1 (nth 14 doom-themes--colors))) - `(outline-2 :height 1.25 :foreground ,(nth 1 (nth 15 doom-themes--colors))) - `(outline-3 :height 1.2 :foreground ,(nth 1 (nth 19 doom-themes--colors))) - `(outline-4 :height 1.1 :foreground ,(nth 1 (nth 23 doom-themes--colors))) - `(outline-5 :height 1.1 :foreground ,(nth 1 (nth 24 doom-themes--colors))) - `(outline-6 :height 1.1 :foreground ,(nth 1 (nth 16 doom-themes--colors))) - `(outline-7 :height 1.05 :foreground ,(nth 1 (nth 18 doom-themes--colors))) - `(outline-8 :height 1.05 :foreground ,(nth 1 (nth 11 doom-themes--colors))) + '(org-level-1 :inherit outline-1 :height 1.3) + '(org-level-2 :inherit outline-2 :height 1.25) + '(org-level-3 :inherit outline-3 :height 1.2) + '(org-level-4 :inherit outline-4 :height 1.1) + '(org-level-5 :inherit outline-5 :height 1.1) + '(org-level-6 :inherit outline-6 :height 1.05) + '(org-level-7 :inherit outline-7 :height 1.05) '(variable-pitch :family "Intel One Mono") -) + ) (after! org (org-eldoc-load))