dotfiles

My PC Dotfiles & Website
commit 26776dbdcc8c7a67495506c78132e9124e517ea9
parent 004427370f539603c8e7c200d649a548255534aa
Author: V7 <maydayv7@gmail.com>
Date:   Tue, 19 Sep 2023 22:42:57 +0530

feat!: Upgrade to NixOS 23.05 (Stoat)

+ Use SystemD `initrd`
+ Enable ZFS Pool Encryption
+ Update miscellaneous modules
+ Drop outdated Packages
+ Drop `flatpak` Support

Diffstat:

MREADME.md | 5+----
Mconfiguration.nix | 5++---
Mdevices/Vortex.nix | 2+-
Mdevices/vm/Windows.nix | 78++++++++++++++++++++++++++++++++++--------------------------------------------
Mfiles/README.md | 1-
Mfiles/default.nix | 5-----
Dfiles/flatpak/repos | 39---------------------------------------
Mfiles/gnome/dconf.nix | 12------------
Dfiles/gnome/nix.lang | 246-------------------------------------------------------------------------------
Dfiles/gnome/tango-dark.xml | 144-------------------------------------------------------------------------------
Mflake.lock | 326+++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------
Mflake.nix | 40+++++++++-------------------------------
Mmodules/README.md | 7+------
Dmodules/apps/flatpak.nix | 137-------------------------------------------------------------------------------
Mmodules/base/default.nix | 13+------------
Mmodules/base/firmware.nix | 6++++--
Mmodules/gui/gnome.nix | 64++++++----------------------------------------------------------
Mmodules/gui/xfce.nix | 13++++++++-----
Mmodules/hardware/boot.nix | 6++++--
Mmodules/hardware/filesystem.nix | 8+-------
Mmodules/shell/zsh.nix | 6+-----
Mscripts/nixos.nix | 8++++----
Mscripts/partitions.sh | 4+++-
Msite/content/anime.md | 29+++++++++++++++++++++++------
24 files changed, 321 insertions(+), 883 deletions(-)

diff --git a/README.md b/README.md @@ -37,14 +37,13 @@ This [repository](https://github.com/maydayv7/dotfiles) contains the configurati - Advanced Configuration [Checks](./modules/nix/checks.nix) using [`pre-commit-hooks.nix`](https://github.com/cachix/pre-commit-hooks.nix) - Support for `source` Filters with [`nix-filter`](https://github.com/numtide/nix-filter) and [`gitignore.nix`](https://github.com/hercules-ci/gitignore.nix) - Wrapped `wine` [Applications](./packages/wine) using Emmanuel's [Wrapper](https://github.com/emmanuelrosa/erosanix/tree/0dabea58d483e13d2de141517cb4ff1cb230b2aa/pkgs/mkwindowsapp) -- Declaratively Configured [Flatpak](./modules/apps/flatpak.nix) applications using [`declarative-nix-flatpak`](https://github.com/yawnt/declarative-nix-flatpak) - Declaratively Configured [Windows VM](./modules/hardware/virtualisation/windows.nix) using the [WFVM](https://git.m-labs.hk/M-Labs/wfvm) Module ## Programs | Type | Programs | | :------------------- | :----------------------------------------------------------------------------------------------------------------------------: | -| Editors | [gEdit](https://wiki.gnome.org/Apps/Gedit), [`nano`](https://www.nano-editor.org/), [VS Code](https://code.visualstudio.com/) | +| Editors | [`nano`](https://www.nano-editor.org/), [VS Code](https://code.visualstudio.com/) | | Shells | [`bash`](https://www.gnu.org/software/bash/), [`zsh`](https://www.zsh.org) | | Terminal | [GNOME Terminal](https://gitlab.gnome.org/GNOME/gnome-terminal), [`xfce4` Terminal](https://docs.xfce.org/apps/terminal/start) | | Browser | [Firefox](https://www.mozilla.org/en-US/firefox/) | @@ -428,7 +427,6 @@ You can navigate to the `README`'s present in the various directories to know mo - Fix GNOME Extensions - Improve XFCE Configuration Handling - Improve Automatic Package Update Script -- Declaratively Configure Flatpak applications using [`declarative-nix-flatpak`](https://github.com/yawnt/declarative-nix-flatpak) ### 22.11 (v11) @@ -611,7 +609,6 @@ You can navigate to the `README`'s present in the various directories to know mo - Fly Pie - VS Code Themes and Plugins - [Wine](./packages/wine) Applications -- [Flatpak](./modules/apps/flatpak.nix) Applications </details> diff --git a/configuration.nix b/configuration.nix @@ -14,7 +14,6 @@ with inputs; let inherit (lib.util) build map pack; lib = library.lib.extend (final: prev: { - inherit (flatpak.lib) flatpak; deploy = deploy.lib; filters = ignore.lib // {inherit (filter.lib) filter matchExt;}; hooks = hooks.lib; @@ -62,7 +61,7 @@ in gaming = gaming.packages."${system}"; apps = { deploy = deploy.defaultPackage."${system}"; - generators = generators.defaultPackage."${system}"; + generators = generators.packages."${system}".default; }; }; @@ -96,7 +95,7 @@ in ## Virtual Machines ## vmConfigurations = map.modules ./devices/vm (name: - import name (head platforms) inputs self.channels."${head platforms}".stable); + import name windows.lib self.channels."${head platforms}".stable); ## Install Media Configuration ## installMedia = { diff --git a/devices/Vortex.nix b/devices/Vortex.nix @@ -21,7 +21,7 @@ gui.desktop = "gnome"; shell.utilities = true; - apps.list = ["discord" "firefox" "flatpak" "git" "office" "vscode" "wine"]; + apps.list = ["discord" "firefox" "git" "office" "vscode" "wine"]; # User V7 user = { diff --git a/devices/vm/Windows.nix b/devices/vm/Windows.nix @@ -1,53 +1,43 @@ -system: inputs: pkgs: +lib: pkgs: ## Windows Virtual Machine ## -let - lib = import "${inputs.windows}/wfvm" { - pkgs = import (pkgs.fetchFromGitHub { - owner = "NixOS"; - repo = "nixpkgs"; - rev = "f8248ab6d9e69ea9c07950d73d48807ec595e923"; - sha256 = "009i9j6mbq6i481088jllblgdnci105b2q4mscprdawg3knlyahk"; - }) {inherit system;}; +lib.makeWindowsImage { + # Base Image + windowsImage = pkgs.requireFile rec { + name = "Win11_22H2_English_x64.iso"; + sha256 = "08mbppsm1naf73z8fjyqkf975nbls7xj9n4fq0yp802dv1rz3whd"; + message = "Get ${name} from https://www.microsoft.com/en-us/software-download/windows11"; }; -in - lib.makeWindowsImage { - # Base Image - windowsImage = pkgs.requireFile rec { - name = "Win10_21H1_English_x64.iso"; - sha256 = "1sl51lnx4r6ckh5fii7m2hi15zh8fh7cf7rjgjq9kacg8hwyh4b9"; - message = "Get ${name} from https://www.microsoft.com/en-us/software-download/windows10ISO"; - }; - # User Accounts - users = { - default = { - password = "1234567"; - description = "Default User"; - displayName = "Windows"; - groups = ["Administrators"]; - }; + # User Accounts + users = { + default = { + password = "1234567"; + description = "Default User"; + displayName = "Windows"; + groups = ["Administrators"]; }; + }; - # Auto Login - defaultUser = "default"; - administratorPassword = "admin"; + # Auto Login + defaultUser = "default"; + administratorPassword = "admin"; - # Organisation - fullName = "Microsoft"; - organization = "ms"; + # Organisation + fullName = "Microsoft"; + organization = "ms"; - # Imperative Installation Commands - installCommands = with lib.layers; [ - (collapseLayers [disable-autosleep disable-autolock disable-firewall]) - ]; + # Imperative Installation Commands + installCommands = with lib.layers; [ + (collapseLayers [disable-autosleep disable-autolock disable-firewall]) + ]; - # License - imageSelection = "Windows 10 Pro"; - productKey = "VK7JG-NPHTM-C97JM-9MPGT-3V66T"; + # License + imageSelection = "Windows 10 Pro"; + productKey = "VK7JG-NPHTM-C97JM-9MPGT-3V66T"; - # Locales - uiLanguage = "en-US"; - inputLocale = "en-US"; - userLocale = "en-US"; - systemLocale = "en-US"; - } + # Locales + uiLanguage = "en-US"; + inputLocale = "en-US"; + userLocale = "en-US"; + systemLocale = "en-US"; +} diff --git a/files/README.md b/files/README.md @@ -6,7 +6,6 @@ The `files` directory is used to store all my plain-text program configuration f - [`ascii`](./ascii) - Personal Collection of beautiful Ascii Art - [`discord`](./discord) - `discord` Chat Theming and Plugins - [`firefox`](./firefox) - `firefox` Web Browser Theming -- [`flatpak`](./flatpak) - `flatpak` Package Manager Settings - [`fonts`](./fonts) - Proprietary Fonts and Configuration - [`git`](./git) - Configuration for `git` Version Control - [`gnome`](./gnome) - Configuration Files for GNOME Desktop diff --git a/files/default.nix b/files/default.nix @@ -27,9 +27,6 @@ in rec { # Firefox Web Browser firefox.theme = readFile ./firefox/userContent.css; - # Flatpak Apps - flatpak = map.files ./flatpak readFile ""; - # Custom Fonts fonts = { path = ./fonts/proprietary; @@ -46,8 +43,6 @@ in rec { gnome = { dconf = ./gnome/dconf.nix; iso = readFile ./gnome/iso; - syntax = readFile ./gnome/nix.lang; - theme = readFile ./gnome/tango-dark.xml; }; # GPG Keys Directory diff --git a/files/flatpak/repos b/files/flatpak/repos @@ -1,39 +0,0 @@ -[core] -repo_version=1 -mode=bare-user-only -min-free-space-size=500MB - -[remote "flathub"] -url=https://dl.flathub.org/repo/ -xa.title=Flathub -gpg-verify=false -gpg-verify-summary=false -xa.comment=Central repository of Flatpak applications -xa.description=Central repository of Flatpak applications -xa.icon=https://dl.flathub.org/repo/logo.svg -xa.homepage=https://flathub.org/ - -[remote "flathub-beta"] -url=https://dl.flathub.org/beta-repo/ -xa.title=Flathub beta -gpg-verify=false -gpg-verify-summary=false -xa.comment=Beta builds of Flatpak applications -xa.description=Beta builds of Flatpak applications -xa.icon=https://dl.flathub.org/repo/logo.svg -xa.homepage=https://flathub.org/ - -[remote "gnome-nightly"] -url=https://nightly.gnome.org/repo/ -xa.title=GNOME Nightly -gpg-verify=false -gpg-verify-summary=false -xa.description=The latest GNOME flatpak runtimes/apps directly from the gitlab CI. This is highly unstable stuff aimed at GNOME developers/designers to test -xa.homepage=https://gnome.org/ - -[remote "kdeapps"] -url=http://distribute.kde.org/flatpak-apps-testing/ -xa.title=KDE Testing Applications -gpg-verify=false -gpg-verify-summary=false -xa.icon=https://distribute.kde.org/flatpak-apps-testing/kdeapp.svg diff --git a/files/gnome/dconf.nix b/files/gnome/dconf.nix @@ -287,8 +287,6 @@ in { "avatar@pawel.swiszcz.com" "caffeine@patapon.info" "color-picker@tuberry" - "compiz-alike-magic-lamp-effect@hermes83.github.com" - "compiz-windows-effect@hermes83.github.com" "custom-hot-corners-extended@G-dH.github.com" "dash-to-panel@jderose9.github.com" "desktop-cube@schneegans.github.com" @@ -304,7 +302,6 @@ in { "top-bar-organizer@julian.gse.jsts.xyz" "user-theme@gnome-shell-extensions.gcampax.github.com" "Vitals@CoreCoding.com" - "workspace-dry-names@benmoussatmouad.github.io" "x11gestures@joseexposito.github.io" ]; favorite-apps = [ @@ -378,7 +375,6 @@ in { }; # Shell Extensions - "org/gnome/shell/extensions/workspace-dry-names".name-option = "countries"; "org/gnome/shell/extensions/user-theme".name = "Adwaita"; "org/gnome/shell/extensions/alphabetical-app-grid".folder-order-position = "start"; "org/gnome/shell/extensions/lock-screen-message".message = "Welcome, ${config.credentials.fullname}!"; @@ -404,14 +400,6 @@ in { user-enabled = true; }; - "org/gnome/shell/extensions/com/github/hermes83/compiz-windows-effect" = { - friction = 6.0; - mass = 50.0; - resize-effect = true; - speedup-factor-divider = 10.0; - spring-k = 5.0; - }; - "org/gnome/shell/extensions/color-picker" = { color-picker-shortcut = ["<Super>c"]; enable-shortcut = true; diff --git a/files/gnome/nix.lang b/files/gnome/nix.lang @@ -1,246 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - Author: V 7 <maydayv7@gmail.com> - Copyright (C) 2021 V 7 <maydayv7@gmail.com> - - GtkSourceView is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - GtkSourceView is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - ---> -<language id="nix" _name="Nix" version="2.0" _section="Others"> - <metadata> - <property name="globs">*.nix</property> - <property name="line-comment-start">#</property> - <property name="block-comment-start">/*</property> - <property name="block-comment-end">*/</property> - </metadata> - - <styles> - <style id="escape" _name="Escaped Character" map-to="def:special-char"/> - <style id="null-value" _name="Null Value" map-to="def:special-constant"/> - <style id="boolean" _name="Boolean Value" map-to="def:boolean"/> - <style id="keyword" _name="Keyword" map-to="def:keyword"/> - <style id="string" _name="String" map-to="def:string"/> - <style id="function" _name="Function" map-to="def:builtin"/> - <style id="indented-string" _name="Indented string" map-to="def:string"/> - <style id="path" _name="Path" map-to="def:underlined"/> - <style id="uri" _name="URI" map-to="def:underlined"/> - </styles> - - <definitions> - - <!--contexts NOT used in the main context--> - <context id="antiquotation" style-ref="def:statement"> - <start>\${</start> - <end>}</end> - <include> - <context ref="nix"/> - </include> - </context> - - <context id="null-value" style-ref="null-value"> - <keyword>null</keyword> - </context> - - <context id="boolean" style-ref="boolean"> - <keyword>false</keyword> - <keyword>true</keyword> - </context> - - <context id="keywords" style-ref="keyword"> - <keyword>assert</keyword> - <keyword>builtins</keyword> - <keyword>else</keyword> - <keyword>if</keyword> - <keyword>import</keyword> - <keyword>in</keyword> - <keyword>inherit</keyword> - <keyword>inputs</keyword> - <keyword>let</keyword> - <keyword>lib</keyword> - <keyword>outputs</keyword> - <keyword>rec</keyword> - <keyword>system</keyword> - <keyword>then</keyword> - <keyword>with</keyword> - </context> - - <context id="functions" style-ref="function"> - <keyword>abort</keyword> - <keyword>add</keyword> - <keyword>addErrorContext</keyword> - <keyword>all</keyword> - <keyword>any</keyword> - <keyword>appendContext</keyword> - <keyword>attrNames</keyword> - <keyword>attrValues</keyword> - <keyword>baseNameOf</keyword> - <keyword>bitAnd</keyword> - <keyword>bitOr</keyword> - <keyword>bitXor</keyword> - <keyword>catAttrs</keyword> - <keyword>ceil</keyword> - <keyword>compareVersions</keyword> - <keyword>concatLists</keyword> - <keyword>concatMap</keyword> - <keyword>concatStringsSep</keyword> - <keyword>currentSystem</keyword> - <keyword>currentTime</keyword> - <keyword>deepSeq</keyword> - <keyword>derivation</keyword> - <keyword>derivationStrict</keyword> - <keyword>dirOf</keyword> - <keyword>div</keyword> - <keyword>elem</keyword> - <keyword>elemAt</keyword> - <keyword>fetchClosure</keyword> - <keyword>fetchGit</keyword> - <keyword>fetchMercurial</keyword> - <keyword>fetchTarball</keyword> - <keyword>fetchTree</keyword> - <keyword>fetchurl</keyword> - <keyword>filter</keyword> - <keyword>filterSource</keyword> - <keyword>findFile</keyword> - <keyword>floor</keyword> - <keyword>foldl</keyword> - <keyword>fromJSON</keyword> - <keyword>fromTOML</keyword> - <keyword>functionArgs</keyword> - <keyword>genList</keyword> - <keyword>genericClosure</keyword> - <keyword>getAttr</keyword> - <keyword>getContext</keyword> - <keyword>getEnv</keyword> - <keyword>getFlake</keyword> - <keyword>groupBy</keyword> - <keyword>hasAttr</keyword> - <keyword>hasContext</keyword> - <keyword>hashFile</keyword> - <keyword>hashString</keyword> - <keyword>head</keyword> - <keyword>intersectAttrs</keyword> - <keyword>isAttrs</keyword> - <keyword>isBool</keyword> - <keyword>isFloat</keyword> - <keyword>isFunction</keyword> - <keyword>isInt</keyword> - <keyword>isList</keyword> - <keyword>isNull</keyword> - <keyword>isPath</keyword> - <keyword>isString</keyword> - <keyword>langVersion</keyword> - <keyword>length</keyword> - <keyword>lessThan</keyword> - <keyword>listToAttrs</keyword> - <keyword>map</keyword> - <keyword>mapAttrs</keyword> - <keyword>match</keyword> - <keyword>mul</keyword> - <keyword>nixPath</keyword> - <keyword>nixVersion</keyword> - <keyword>parseDrvName</keyword> - <keyword>partition</keyword> - <keyword>path</keyword> - <keyword>pathExists</keyword> - <keyword>placeholder</keyword> - <keyword>readDir</keyword> - <keyword>readFile</keyword> - <keyword>removeAttrs</keyword> - <keyword>replaceStrings</keyword> - <keyword>scopedImport</keyword> - <keyword>seq</keyword> - <keyword>sort</keyword> - <keyword>split</keyword> - <keyword>splitVersion</keyword> - <keyword>storeDir</keyword> - <keyword>storePath</keyword> - <keyword>stringLength</keyword> - <keyword>sub</keyword> - <keyword>substring</keyword> - <keyword>tail</keyword> - <keyword>throw</keyword> - <keyword>toFile</keyword> - <keyword>toJSON</keyword> - <keyword>toPath</keyword> - <keyword>toString</keyword> - <keyword>toXML</keyword> - <keyword>trace</keyword> - <keyword>tryEval</keyword> - <keyword>typeOf</keyword> - <keyword>unsafeDiscardOutputDependency</keyword> - <keyword>unsafeDiscardStringContext</keyword> - <keyword>unsafeGetAttrPos</keyword> - <keyword>zipAttrsWith</keyword> - </context> - - <context id="indented-string" style-ref="indented-string" class="string" class-disabled="no-spell-check"> - <start>''</start> - <end>''</end> - <include> - <context id="indented-string-escape-antiquotation" style-ref="escape"> - <match>''\${</match> - </context> - <context id="indented-string-escape" style-ref="escape"> - <match>''\\.</match> - </context> - <context ref="antiquotation"/> - </include> - </context> - - <context id="string" style-ref="indented-string" class="string" class-disabled="no-spell-check"> - <start>"</start> - <end>"</end> - <include> - <context ref="def:escape"/> - <context ref="antiquotation"/> - </include> - </context> - - <context id="operators" style-ref="def:operator" extend-parent="false"> - <match>@|:|(//)|\+|\?|(==)|(\|\|)|(&amp;&amp;)|!|(->)</match> - </context> - - <context id="path" style-ref="path" class="path"> - <match case-sensitive="false">(/|\./|\.\./)[a-zA-Z0-9\./\-_]*</match> - </context> - - <context id="uri" style-ref="uri" class="uri"> - <match case-sensitive="false">\%{def:net-address}</match> - </context> - - <!--main context--> - <context id="nix" class="no-spell-check"> - <include> - <context ref="def:shell-like-comment"/> - <context ref="def:c-like-comment-multiline"/> - <context ref="def:c-like-close-comment-outside-comment"/> - <context ref="indented-string"/> - <context ref="string" style-ref="string"/> - <context ref="def:float"/> - <context ref="def:decimal"/> - <context ref="boolean"/> - <context ref="keywords"/> - <context ref="functions"/> - <context ref="null-value"/> - <context ref="operators"/> - <context ref="path"/> - <context ref="uri"/> - </include> - </context> - <!--main context--> - - </definitions> -</language> diff --git a/files/gnome/tango-dark.xml b/files/gnome/tango-dark.xml @@ -1,144 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - This file is part of GtkSourceView - - Copyright (C) 2006-2007 GtkSourceView team - Author: Michael Monreal <michael.monreal@gmail.com> - - GtkSourceView is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - GtkSourceView is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this library; if not, see <http://www.gnu.org/licenses/>. - ---> -<style-scheme id="tango-dark" _name="Tango Dark" version="1.0"> - <author>Michael Monreal</author> - <_description>Color scheme using Tango Dark color palette</_description> - - <!-- Tango Dark Palette --> - <color name="butter1" value="#fce94f"/> - <color name="butter2" value="#edd400"/> - <color name="butter3" value="#c4a000"/> - <color name="chameleon1" value="#8ae234"/> - <color name="chameleon2" value="#73d216"/> - <color name="chameleon3" value="#4e9a06"/> - <color name="orange1" value="#fcaf3e"/> - <color name="orange2" value="#f57900"/> - <color name="orange3" value="#ce5c00"/> - <color name="skyblue1" value="#729fcf"/> - <color name="skyblue2" value="#3465a4"/> - <color name="skyblue3" value="#204a87"/> - <color name="plum1" value="#ad7fa8"/> - <color name="plum2" value="#75507b"/> - <color name="plum3" value="#5c3566"/> - <color name="chocolate1" value="#e9b96e"/> - <color name="chocolate2" value="#c17d11"/> - <color name="chocolate3" value="#8f5902"/> - <color name="scarletred1" value="#ef2929"/> - <color name="scarletred2" value="#cc0000"/> - <color name="scarletred3" value="#a40000"/> - <color name="aluminium1" value="#eeeeec"/> - <color name="aluminium2" value="#d3d7cf"/> - <color name="aluminium3" value="#babdb6"/> - <color name="aluminium4" value="#888a85"/> - <color name="aluminium5" value="#555753"/> - <color name="aluminium6" value="#2e3436"/> - - <!-- Global Settings --> - <style name="line-numbers" background="#rgba(18,20,21,0.005)"/> - <style name="current-line" background="aluminium5"/> - <style name="current-line-number" background="aluminium5"/> - <style name="draw-spaces" foreground="aluminium3"/> - <style name="background-pattern" background="#f3f3f3"/> - - <!-- Bracket Matching --> - <style name="bracket-match" foreground="aluminium1" background="aluminium3"/> - <style name="bracket-mismatch" foreground="aluminium1" background="scarletred3"/> - - <!-- Right Margin --> - <style name="right-margin" foreground="aluminium6" background="aluminium6"/> - - <!-- Search Matching --> - <style name="search-match" background="butter1"/> - - <!-- Comments --> - <style name="def:comment" foreground="skyblue3"/> - <style name="def:shebang" foreground="skyblue3" bold="true"/> - <style name="def:doc-comment-element" italic="true"/> - - <!-- Constants --> - <style name="def:constant" foreground="plum1"/> - <style name="def:special-char" foreground="plum3"/> - - <!-- Identifiers --> - <style name="def:identifier" foreground="skyblue2"/> - - <!-- Statements --> - <style name="def:statement" foreground="scarletred3" bold="true"/> - - <!-- Types --> - <style name="def:type" foreground="chameleon3" bold="true"/> - - <!-- Markup --> - <style name="def:emphasis" italic="true"/> - <style name="def:strong-emphasis" foreground="scarletred3" bold="true"/> - <style name="def:inline-code" foreground="skyblue2"/> - <style name="def:insertion" underline="single"/> - <style name="def:deletion" strikethrough="true"/> - <style name="def:link-text" foreground="skyblue3"/> - <style name="def:link-symbol" foreground="skyblue3" bold="true"/> - <style name="def:link-destination" italic="true" underline="single"/> - <style name="def:heading" foreground="chameleon3" bold="true"/> - <style name="def:thematic-break" foreground="chameleon3" bold="true"/> - <style name="def:preformatted-section" foreground="skyblue2"/> - <style name="def:list-marker" foreground="scarletred3" bold="true"/> - - <!-- Others --> - <style name="def:preprocessor" foreground="chocolate3"/> - <style name="def:error" background="scarletred2" bold="true"/> - <style name="def:warning" background="plum1"/> - <style name="def:note" background="orange1" bold="true"/> - <style name="def:net-address" italic="true" underline="single"/> - - <!-- Heading styles, uncomment to enable --> - <!-- - <style name="def:heading0" scale="5.0"/> - <style name="def:heading1" scale="2.5"/> - <style name="def:heading2" scale="2.0"/> - <style name="def:heading3" scale="1.7"/> - <style name="def:heading4" scale="1.5"/> - <style name="def:heading5" scale="1.3"/> - <style name="def:heading6" scale="1.2"/> - --> - - <!-- Language specific --> - <style name="diff:added-line" foreground="chameleon3"/> - <style name="diff:removed-line" foreground="plum3"/> - <style name="diff:changed-line" use-style="def:preprocessor"/> - <style name="diff:diff-file" use-style="def:type"/> - <style name="diff:location" use-style="def:statement"/> - <style name="diff:special-case" use-style="def:constant"/> - - <style name="xml:tags" foreground="chameleon3"/> - <style name="xml:namespace" bold="true"/> - - <style name="js:built-in-constructor" foreground="chameleon3"/> - - <style name="latex:display-math" foreground="plum3"/> - <style name="latex:command" foreground="chameleon3" bold="true"/> - <style name="latex:include" use-style="def:preprocessor"/> - <style name="latex:special-char" use-style="def:constant"/> - - <style name="sh:variable" foreground="plum3"/> - <style name="sh:variable-definition" foreground="chameleon3"/> - -</style-scheme> diff --git a/flake.lock b/flake.lock @@ -18,23 +18,16 @@ }, "deploy": { "inputs": { - "flake-compat": [ - "compatibility" - ], - "nixpkgs": [ - "stable" - ], - "utils": [ - "utils", - "flake-utils" - ] + "flake-compat": "flake-compat", + "nixpkgs": "nixpkgs", + "utils": "utils" }, "locked": { - "lastModified": 1674127017, - "narHash": "sha256-QO1xF7stu5ZMDLbHN30LFolMAwY6TVlzYvQoUs1RD68=", + "lastModified": 1695029081, + "narHash": "sha256-1jpJoeDbxYXWViVRkiSyDxsT4SqqsxgYu5Cg7xisKrA=", "owner": "serokell", "repo": "deploy-rs", - "rev": "8c9ea9605eed20528bf60fae35a2b613b901fd77", + "rev": "57d5071e60c1318ec27eb987f96504ce3d58cb34", "type": "github" }, "original": { @@ -45,11 +38,11 @@ }, "filter": { "locked": { - "lastModified": 1675361037, - "narHash": "sha256-CTbDuDxFD3U3g/dWUB+r+B/snIe+qqP1R+1myuFGe2I=", + "lastModified": 1694857738, + "narHash": "sha256-bxxNyLHjhu0N8T3REINXQ2ZkJco0ABFPn6PIe2QUfqo=", "owner": "numtide", "repo": "nix-filter", - "rev": "e1b2f96c2a31415f362268bc48c3fccf47dff6eb", + "rev": "41fd48e00c22b4ced525af521ead8792402de0ea", "type": "github" }, "original": { @@ -58,54 +51,66 @@ "type": "github" } }, - "flake-utils": { + "flake-compat": { + "flake": false, "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "lastModified": 1668681692, + "narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "009399224d5e398d03b22badca40a37ac85412a1", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "edolstra", + "repo": "flake-compat", "type": "github" } }, - "flatpak": { + "flake-parts": { "inputs": { - "nixpkgs": [ - "stable" - ] + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1673290874, - "narHash": "sha256-3+1bSZduJNuRimgs4H33XgptxrRE9p0oriR9YtyuMRM=", - "owner": "yawnt", - "repo": "declarative-nix-flatpak", - "rev": "4a84fbf8f9935aa9e1c7262d48077198157fa5ff", + "lastModified": 1693611461, + "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { - "owner": "yawnt", - "ref": "simple", - "repo": "declarative-nix-flatpak", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, "gaming": { "inputs": { - "nixpkgs": [ - "unstable" - ] + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1676147016, - "narHash": "sha256-yqweqPk/gMsT2d1GHdaEYomzs+Xyor4uDIAKw6/VeJs=", + "lastModified": 1694999422, + "narHash": "sha256-ixkGyw13k685AKqTmUfGvJhyGUfjIrZ6s6QD6Q7AdZc=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "3596f678f0b7b410981343eb9aa3d5850e4617be", + "rev": "8276f91a0cba1d8b8e24b1f4186cbb05083c9ff4", "type": "github" }, "original": { @@ -116,19 +121,15 @@ }, "generators": { "inputs": { - "nixlib": [ - "library" - ], - "nixpkgs": [ - "stable" - ] + "nixlib": "nixlib", + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1674666581, - "narHash": "sha256-KNI2s/xrL7WOYaPJAWKBtb7cCH3335rLfsL+B+ssuGY=", + "lastModified": 1693791338, + "narHash": "sha256-wHmtB5H8AJTUaeGHw+0hsQ6nU4VyvVrP2P4NeCocRzY=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "6a5dc1d3d557ea7b5c19b15ff91955124d0400fa", + "rev": "8ee78470029e641cddbd8721496da1316b47d3b4", "type": "github" }, "original": { @@ -139,11 +140,11 @@ }, "hardware": { "locked": { - "lastModified": 1675933606, - "narHash": "sha256-y427VhPQHOKkYvkc9MMsL/2R7M11rQxzsRdRLM3htx8=", + "lastModified": 1695033975, + "narHash": "sha256-GIUxbgLBhVyaKRxQw/NWYFLx7/jbKW3+U0HoSsMLPAs=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "44ae00e02e8036a66c08f4decdece7e3bbbefee2", + "rev": "161b027169b19d3a0ad6bd0a8948edf0c0fb0f64", "type": "github" }, "original": { @@ -156,23 +157,19 @@ "inputs": { "nixpkgs": [ "stable" - ], - "utils": [ - "utils", - "flake-utils" ] }, "locked": { - "lastModified": 1674440933, - "narHash": "sha256-CASRcD/rK3fn5vUCti3jzry7zi0GsqRsBohNq9wPgLs=", + "lastModified": 1694465129, + "narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=", "owner": "nix-community", "repo": "home-manager", - "rev": "65c47ced082e3353113614f77b1bc18822dc731f", + "rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-22.11", + "ref": "release-23.05", "repo": "home-manager", "type": "github" } @@ -197,11 +194,11 @@ ] }, "locked": { - "lastModified": 1676233402, - "narHash": "sha256-43JNeMD1g4skb5xhq4w6atlIHe7Fb0UOgVNSsif1RVU=", + "lastModified": 1694364351, + "narHash": "sha256-oadhSCqopYXxURwIA6/Anpe5IAG11q2LhvTJNP5zE6o=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "15f2da96967d4c828ae678af50f75214372fd3ce", + "rev": "4f883a76282bc28eb952570afc3d8a1bf6f481d7", "type": "github" }, "original": { @@ -217,11 +214,11 @@ ] }, "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "lastModified": 1694102001, + "narHash": "sha256-vky6VPK1n1od6vXbqzOXnekrQpTL4hbPAwUhT5J9c9E=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "rev": "9e21c80adf67ebcb077d75bd5e7d724d21eeafd6", "type": "github" }, "original": { @@ -232,11 +229,11 @@ }, "impermanence": { "locked": { - "lastModified": 1675359654, - "narHash": "sha256-FPxzuvJkcO49g4zkWLSeuZkln54bLoTtrggZDJBH90I=", + "lastModified": 1694622745, + "narHash": "sha256-z397+eDhKx9c2qNafL1xv75lC0Q4nOaFlhaU1TINqb8=", "owner": "nix-community", "repo": "impermanence", - "rev": "6138eb8e737bffabd4c8fc78ae015d4fd6a7e2fd", + "rev": "e9643d08d0d193a2e074a19d4d90c67a874d932e", "type": "github" }, "original": { @@ -247,44 +244,141 @@ }, "library": { "locked": { - "lastModified": 1674348806, - "narHash": "sha256-hKi7sFobRQg6sJxskRFCjt/d8gR+w0ClEWZatlr2rnw=", + "lastModified": 1694911725, + "narHash": "sha256-8YqI+YU1DGclEjHsnrrGfqsQg3Wyga1DfTbJrN3Ud0c=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "af5239f892ae6e1c8bb560b11ed874cebbd10696", + "rev": "819180647f428a3826bfc917a54449da1e532ce0", "type": "github" }, "original": { "owner": "nix-community", "ref": "master", "repo": "nixpkgs.lib", - "rev": "af5239f892ae6e1c8bb560b11ed874cebbd10696", + "rev": "819180647f428a3826bfc917a54449da1e532ce0", + "type": "github" + } + }, + "nixlib": { + "locked": { + "lastModified": 1693701915, + "narHash": "sha256-waHPLdDYUOHSEtMKKabcKIMhlUOHPOOPQ9UyFeEoovs=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "f5af57d3ef9947a70ac86e42695231ac1ad00c25", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1671417167, + "narHash": "sha256-JkHam6WQOwZN1t2C2sbp1TqMv3TVRjzrdoejqfefwrM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "bb31220cca6d044baa6dc2715b07497a2a7c4bc7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1693471703, + "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1676162277, - "narHash": "sha256-GK3cnvKNo1l0skGYXXiLJ/TLqdKyIYXd7jOlo0gN+Qw=", + "lastModified": 1693675694, + "narHash": "sha256-2pIOyQwGyy2FtFAUIb8YeKVmOCcPOTVphbAvmshudLE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d863ca850a06d91365c01620dcac342574ecf46f", + "rev": "5601118d39ca9105f8e7b39d4c221d3388c0419d", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-22.11", + "ref": "release-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1694760568, + "narHash": "sha256-3G07BiXrp2YQKxdcdms22MUx6spc6A++MSePtatCYuI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "46688f8eb5cd6f1298d873d4d2b9cf245e09e88e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1693714546, + "narHash": "sha256-3EMJZeGSZT6pD1eNwI/6Yc0R4rxklNvJ2SDFcsCnjpM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d816b5ab44187a2dd84806630ce77a733724f95f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1693626178, + "narHash": "sha256-Rpiy6lIOu4zny8tfGuIeN1ji9eSz9nPmm9yBhh/4IOM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "bfb7dfec93f3b5d7274db109f2990bc889861caf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nur": { "locked": { - "lastModified": 1676261409, - "narHash": "sha256-MHMGy3/jBc7wd/YKddICbgpCJ2qAtjjmlZQFFHCUFr8=", + "lastModified": 1695032793, + "narHash": "sha256-+2nYNDrnOqElW4qvM39AEH1YGtqBku68RSAXyEjRCUE=", "owner": "nix-community", "repo": "NUR", - "rev": "c7011355e75a4a1818768ce1ac4c1aa5ada7eb6f", + "rev": "5669256a12eefc2c49e685cfac947e6a84aa1ea6", "type": "github" }, "original": { @@ -298,7 +392,6 @@ "compatibility": "compatibility", "deploy": "deploy", "filter": "filter", - "flatpak": "flatpak", "gaming": "gaming", "generators": "generators", "hardware": "hardware", @@ -311,7 +404,7 @@ "sops": "sops", "stable": "stable", "unstable": "unstable", - "utils": "utils", + "utils": "utils_2", "vscode": "vscode", "windows": "windows", "wine": "wine" @@ -319,17 +412,15 @@ }, "sops": { "inputs": { - "nixpkgs": [ - "stable" - ], + "nixpkgs": "nixpkgs_4", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1676171095, - "narHash": "sha256-2laeSjBAAJ9e/C3uTIPb287iX8qeVLtWiilw1uxqG+A=", + "lastModified": 1694495315, + "narHash": "sha256-sZEYXs9T1NVHZSSbMqBEtEm2PGa7dEDcx0ttQkArORc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c5dab21d8706afc7ceb05c23d4244dcb48d6aade", + "rev": "ea208e55f8742fdcc0986b256bdfa8986f5e4415", "type": "github" }, "original": { @@ -340,27 +431,27 @@ }, "stable": { "locked": { - "lastModified": 1676177817, - "narHash": "sha256-OQnBnuKkpwkfNY31xQyfU5hNpLs1ilWt+hVY6ztEEOM=", + "lastModified": 1694937365, + "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1b82144edfcd0c86486d2e07c7298f85510e7fb8", + "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.11", + "ref": "nixos-23.05", "repo": "nixpkgs", "type": "github" } }, "unstable": { "locked": { - "lastModified": 1676110339, - "narHash": "sha256-kOS/L8OOL2odpCOM11IevfHxcUeE0vnZUQ74EOiwXcs=", + "lastModified": 1694767346, + "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e5530aba13caff5a4f41713f1265b754dc2abfd8", + "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", "type": "github" }, "original": { @@ -371,6 +462,21 @@ } }, "utils": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_2": { "inputs": { "flake-utils": "flake-utils" }, @@ -391,11 +497,11 @@ "vscode": { "flake": false, "locked": { - "lastModified": 1676159144, - "narHash": "sha256-/TJD9hZ0+u7oSJkNxmAE/UlxndFkZCu1fC6re7I/DYY=", + "lastModified": 1684517665, + "narHash": "sha256-SaAr66uCQ8CF75jIr23FZjk1+9Kfwm5sQnwV25206Gs=", "owner": "msteen", "repo": "nixos-vscode-server", - "rev": "43ca5e6d4e45ae6933aaeb1850b4cdf62c25a11f", + "rev": "1e1358493df6529d4c7bc4cc3066f76fd16d4ae6", "type": "github" }, "original": { @@ -405,13 +511,17 @@ } }, "windows": { - "flake": false, + "inputs": { + "nixpkgs": [ + "stable" + ] + }, "locked": { - "lastModified": 1639769632, - "narHash": "sha256-s1Tfm1x9EUNdd2HdtPnI+4zr6XTGtkspuFn50kqYdhM=", + "lastModified": 1687787314, + "narHash": "sha256-5RO9wKVZ1eh8Qo0FBjcAvDuFO/D2SZ0IXmp+FP+dXHk=", "ref": "refs/heads/master", - "rev": "9d07da799c23a221b0a6462a5db404007ac18250", - "revCount": 37, + "rev": "8051ad647af9880e0ff5efd5f0bd2f5e55fa1883", + "revCount": 69, "type": "git", "url": "https://git.m-labs.hk/M-Labs/wfvm" }, @@ -430,11 +540,11 @@ ] }, "locked": { - "lastModified": 1676132640, - "narHash": "sha256-mBqQ+4LwXxFXMe+39QkVCW3QbWFnqLKENEOtYUzqxqE=", + "lastModified": 1694948342, + "narHash": "sha256-/43XkPEgbb+klJcOehPTq/DHC7sCjfgU/wTnCvEOft4=", "owner": "emmanuelrosa", "repo": "erosanix", - "rev": "03a9a9eed041f62d31f06b401bcd3411390724ce", + "rev": "ec780a4ed2364b3dbe8f2b2dcd8478e186102400", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix @@ -23,7 +23,7 @@ # Author -> V 7 <maydayv7@gmail.com> # # License -> MIT # # URL -> github:maydayv7/dotfiles # -# Version -> 23.xy (v12) # +# Version -> 23.05 (v12) # # --------------------------------------- # # Welcome to Ground Zero! # # The Very Heart of my 'dotfiles' # @@ -63,7 +63,7 @@ inputs = { ## Package Repositories ## # NixOS Stable Release - stable.url = "github:NixOS/nixpkgs?ref=nixos-22.11"; + stable.url = "github:NixOS/nixpkgs?ref=nixos-23.05"; # Unstable Packages Repository unstable.url = "github:NixOS/nixpkgs?ref=nixos-unstable"; @@ -72,10 +72,7 @@ nur.url = "github:nix-community/NUR"; # Packaged Games - gaming = { - url = "github:fufexan/nix-gaming"; - inputs.nixpkgs.follows = "unstable"; - }; + gaming.url = "github:fufexan/nix-gaming"; ## Configuration Modules ## # Nix Library Functions @@ -84,7 +81,7 @@ owner = "nix-community"; repo = "nixpkgs.lib"; ref = "master"; - rev = "af5239f892ae6e1c8bb560b11ed874cebbd10696"; + rev = "819180647f428a3826bfc917a54449da1e532ce0"; }; # Flake Compatibility Library @@ -108,26 +105,18 @@ # User Home Manager home = { - url = "github:nix-community/home-manager?ref=release-22.11"; + url = "github:nix-community/home-manager?ref=release-23.05"; inputs.nixpkgs.follows = "stable"; - inputs.utils.follows = "utils/flake-utils"; }; # Authentication Credentials Manager - sops = { - url = "github:Mic92/sops-nix"; - inputs.nixpkgs.follows = "stable"; - }; + sops.url = "github:Mic92/sops-nix"; # File System Persistent State Handler impermanence.url = "github:nix-community/impermanence"; # System Image Generators - generators = { - url = "github:nix-community/nixos-generators"; - inputs.nixpkgs.follows = "stable"; - inputs.nixlib.follows = "library"; - }; + generators.url = "github:nix-community/nixos-generators"; # Pre-Commit Hooks hooks = { @@ -140,18 +129,7 @@ }; # Automatic Deployment Tool - deploy = { - url = "github:serokell/deploy-rs"; - inputs.nixpkgs.follows = "stable"; - inputs.utils.follows = "utils/flake-utils"; - inputs.flake-compat.follows = "compatibility"; - }; - - # Declarative Flatpak Wrapper - flatpak = { - url = "github:yawnt/declarative-nix-flatpak/simple"; - inputs.nixpkgs.follows = "stable"; - }; + deploy.url = "github:serokell/deploy-rs"; # VS Code Server Support vscode = { @@ -162,7 +140,7 @@ # Windows VM Creator windows = { url = "git+https://git.m-labs.hk/M-Labs/wfvm"; - flake = false; + inputs.nixpkgs.follows = "stable"; }; # Wine Apps Wrapper diff --git a/modules/README.md b/modules/README.md @@ -6,12 +6,7 @@ The `modules` directory contains custom-made pure Flakes-compatible configuratio - [`apps`](./apps): Module that configures various apps and/or environments - - - `list`: List of all enabled applications - `[ "discord" "firefox" "flatpak" "git" "office" "wine" ]` - - `flatpak` - - - `runtimes`: Declaratively configured Flatpak Runtimes - - `programs`: Declaratively managed Flatpak Applications - - - `name`, `description` - - `install`: Application Derivation created using `lib.flatpak` + - `list`: List of all enabled applications - `[ "discord" "firefox" "git" "office" "wine" ]` - `git` - - `hosting` - - `enable`: Enable Gitea Code Hosting - `true / false` diff --git a/modules/apps/flatpak.nix b/modules/apps/flatpak.nix @@ -1,137 +0,0 @@ -{ - config, - lib, - pkgs, - files, - ... -}: let - cfg = config.apps.flatpak; - enable = builtins.elem "flatpak" config.apps.list; - inherit (flatpak) fetchAppFromFlatHub fetchRuntimeFromFlatHub; - inherit (lib) flatpak mapAttrs' mapAttrsToList mkIf mkOption nameValuePair types; -in { - ## Flatpak Configuration ## - options.apps.flatpak = { - # Program Declaration - programs = mkOption { - type = with types; - attrsOf (submodule ({options, ...}: { - options = { - name = mkOption { - description = "Application Long Name"; - type = nonEmptyStr; - }; - description = mkOption { - description = "Application Description"; - type = str; - }; - exec = mkOption { - description = "Application Executable Command/Path"; - type = nonEmptyStr; - }; - install = mkOption { - description = "Application Derivation"; - apply = fetchAppFromFlatHub; - }; - }; - })); - }; - - # Runtime Declaration - runtimes = mkOption { - type = with types; - attrsOf (attrsOf package); - }; - }; - - config = mkIf enable { - warnings = [ - '' - Flatpak Configuration is Enabled - - This may Sacrifice Performance and Increase Build Time - '' - ]; - - # Environment - services.flatpak.enable = true; - xdg.portal.enable = true; - - ## Default Runtimes - # Use `flatpak remote-info --log` to find commit revisions - apps.flatpak.runtimes = rec { - freedesktop = { - locale = fetchRuntimeFromFlatHub { - name = "org.freedesktop.Platform.Locale"; - branch = "22.08"; - commit = "3031f965fff14350b47aa5f26e17d79d52843d72afd81f59e77634a8a0d9b923"; - sha256 = "sha256-BQN/7S3pOyUA06HAH7lRYhXdCzDBcipC7fvac8TYoEc="; - }; - h264 = fetchRuntimeFromFlatHub { - name = "org.freedesktop.Platform.openh264"; - branch = "2.2.0"; - commit = "435b1135f46af01c742f7680e92a2ca2b63ef7f5cb6b75030caff3cdd80481a9"; - sha256 = "sha256-djUBvVehasXweG+DXgtoBpPb02OKLbx4stAnPGsopF4="; - }; - gl = fetchRuntimeFromFlatHub { - name = "org.freedesktop.Platform.GL.default"; - branch = "22.08"; - commit = "c1c025c27ef025aec874681c62ffe2939154fa032a7b12266b82e438946e9001"; - sha256 = "sha256-uNOg73pIQW5VAxscU1/1fz+eKl9qMXdkMXCG07CwVTs="; - }; - vaapi = fetchRuntimeFromFlatHub { - name = "org.freedesktop.Platform.VAAPI.Intel"; - branch = "22.08"; - commit = "31273448688ea085d7c88a8cf69127de931b952d6de9ca48704f6c5644012623"; - sha256 = "sha256-XE8IVtplLk7aVWdVxm8vrah/ZrPX+Om2M0YxfdyFHfU="; - }; - platform = fetchRuntimeFromFlatHub { - name = "org.freedesktop.Platform"; - branch = "22.08"; - runtime = with freedesktop; [gl locale h264 vaapi]; - commit = "2ce7932bdf087b4d9af01bfe47801aee69f23d64c1ea704621155a96e96fdbaf"; - sha256 = "sha256-7xWA8EujsYeARYk6svxT/YuY7LKhbsuiARIlgmABb8M="; - }; - }; - }; - - user = { - persist.dirs = - [".cache/flatpak" ".local/share/flatpak"] - ++ mapAttrsToList (_: app: ".var/app/${app.install.name}") cfg.programs; - - home = { - # Flatpak Settings - home.file = with files.flatpak; { - ".local/share/flatpak/repo/config".text = repos; - ".local/share/flatpak/overrides/global".text = overrides; - }; - - # Application Wrapper - home.packages = [ - ( - pkgs.buildEnv - { - name = "FlatPakEnv"; - paths = mapAttrsToList (_: name: name.install) cfg.programs; - } - ) - ]; - xdg.desktopEntries = mapAttrs' (app: value: - with value; let - exec = value.install.name; - in - nameValuePair app { - inherit name exec; - comment = mkIf (value ? description) description; - icon = - if (value ? icon) - then icon - else exec; - terminal = false; - type = "Application"; - }) - cfg.programs; - }; - }; - }; -} diff --git a/modules/base/default.nix b/modules/base/default.nix @@ -6,16 +6,5 @@ imports = lib.util.map.module ./.; ## Base Configuration ## - config = { - # Documentation - environment = { - enableDebugInfo = true; - systemPackages = [pkgs.man-pages]; - }; - - documentation = { - dev.enable = true; - man.enable = true; - }; - }; + config.documentation.nixos.enable = false; } diff --git a/modules/base/firmware.nix b/modules/base/firmware.nix @@ -99,8 +99,10 @@ with {inherit (lib) mkAfter mkForce;}; { # SSH services.openssh = { enable = true; - passwordAuthentication = true; - permitRootLogin = mkForce "no"; + settings = { + PasswordAuthentication = true; + PermitRootLogin = mkForce "no"; + }; hostKeys = [ { comment = "Host SSH Key"; diff --git a/modules/gui/gnome.nix b/modules/gui/gnome.nix @@ -10,7 +10,6 @@ with files; let inherit (config.gui) desktop; apps = config.environment.systemPackages; inherit (lib) mkIf mkForce mkMerge recursiveUpdate util; - flatpak = (mkIf (config ? apps) (recursiveUpdate config.apps.flatpak lib.flatpak)).content; in { ## GNOME Desktop Configuration ## config = mkIf (desktop == "gnome" || desktop == "gnome-minimal") (mkMerge [ @@ -18,9 +17,7 @@ in { # Session services.xserver = { desktopManager.gnome.enable = true; - displayManager = { - gdm.enable = true; - }; + displayManager.gdm.enable = true; }; # Excluded Packages @@ -34,6 +31,7 @@ in { (mkIf (desktop == "gnome") { # Desktop Integration gui.fonts.enable = true; + xdg.portal.enable = true; nixpkgs.config.firefox.enableGnomeExtensions = mkIf (elem pkgs.firefox apps) true; @@ -59,48 +57,6 @@ in { }; }; - # Flatpak Apps - apps.flatpak = with flatpak; - mkIf (config ? apps) { - # Required Runtimes - runtimes.gnome = { - locale = fetchRuntimeFromFlatHub { - name = "org.gnome.Platform.Locale"; - branch = "43"; - commit = "4fbaaaa735433be40205ca5f79159b67e39ba61d8ab3383f08023eb6280c5c91"; - sha256 = "sha256-VGWxGFBK5b//6GEDog2A15BhewKcbIiSPQwc6l9DnIA="; - }; - platform = fetchRuntimeFromFlatHub { - name = "org.gnome.Platform"; - branch = "43"; - runtime = with runtimes; [freedesktop.platform gnome.locale]; - commit = "ff25bb0c5f8225e73b43cf40669f5935f68bbde67b00871e13f6c1261d6dc966"; - sha256 = "sha256-VOKendIOlCgkUtEMnsnD+DlIlYZ7ZoHKdj2V80l57JQ="; - }; - theme = fetchRuntimeFromFlatHub { - name = "org.gtk.Gtk3theme.adw-gtk3-dark"; - branch = "3.22"; - commit = "316ef706db3530374b4053cad491f80610094b8512d055bc9de7eb703f794cd9"; - sha256 = "sha256-9+RKdQZay+ILp33ddjTYZsTUdtyW0CIwDMRfvU0W5tM="; - }; - }; - - programs = with runtimes; let - default = [gnome.platform gnome.theme]; - in rec { - gradience = { - name = "Gradience"; - description = "Customize Libadwaita Applications"; - install = { - name = "com.github.GradienceTeam.Gradience"; - runtime = default; - commit = "1ec65403c361229f5233a6e5a0e61a2d1352bf97f1d024a766f15359052d6cee"; - sha256 = "sha256-usaAtliXSAxVqepLltwJU9PW+GIkulR9v/7//I8N53o="; - }; - }; - }; - }; - # User Configuration user.home = { # Dconf Keys @@ -130,7 +86,7 @@ in { mail = ["org.gnome.Geary.desktop"]; markdown = ["org.gnome.gitlab.somas.Apostrophe.desktop"]; pdf = ["org.gnome.Evince.desktop"]; - text = ["org.gnome.gedit.desktop"]; + text = ["org.gnome.gnome-text-editor.desktop"]; video = ["io.github.celluloid_player.Celluloid.desktop"]; }; @@ -164,12 +120,6 @@ in { Exec=${pkgs.gnome.gnome-tweaks}/libexec/gnome-tweak-tool-lid-inhibitor ''; - # gEdit Color Scheme - ".local/share/gtksourceview-4/styles/tango-dark.xml".text = - gnome.theme; - ".local/share/gtksourceview-4/language-specs/nix.lang".text = - gnome.syntax; - # Discord DNOME Theme ".config/BetterDiscord/data/stable/custom.css" = mkIf (elem pkgs.discord apps) {text = discord.theme;}; @@ -197,11 +147,11 @@ in { [libsForQt5.qtstyleplugin-kvantum custom.kvlibadwaita] ++ (with pkgs.gnome; [ # GNOME Apps - gedit gnome-boxes gnome-dictionary gnome-notes gnome-sound-recorder + gnome-text-editor gnome-tweaks polari @@ -221,6 +171,7 @@ in { fragments giara gimp + gradience gnome-podcasts gnome-secrets gthumb @@ -242,8 +193,6 @@ in { avatar caffeine color-picker - compiz-windows-effect - compiz-alike-magic-lamp-effect custom-hot-corners-extended dash-to-panel desktop-cube @@ -257,7 +206,6 @@ in { timepp top-bar-organizer vitals - worksapce-dry-names x11-gestures ]); @@ -309,8 +257,8 @@ in { # Essential Utilities environment.systemPackages = with pkgs.gnome; [ epiphany - gedit pkgs.gnome-console + pkgs.gnome-text-editor gnome-system-monitor nautilus ]; diff --git a/modules/gui/xfce.nix b/modules/gui/xfce.nix @@ -96,11 +96,14 @@ in { }; # Plugins - programs.thunar.plugins = with pkgs.xfce; [ - thunar-archive-plugin - thunar-dropbox-plugin - thunar-volman - ]; + programs = { + xfconf.enable = true; + thunar.plugins = with pkgs.xfce; [ + thunar-archive-plugin + thunar-dropbox-plugin + thunar-volman + ]; + }; # Utilities environment.systemPackages = with pkgs.xfce // pkgs; [ diff --git a/modules/hardware/boot.nix b/modules/hardware/boot.nix @@ -23,8 +23,10 @@ in { // mkIf (loader != null) (mkMerge [ { boot = { - tmpOnTmpfs = true; - cleanTmpDir = !config.boot.tmpOnTmpfs; + tmp = rec { + useTmpfs = true; + cleanOnBoot = !useTmpfs; + }; # Plymouth consoleLogLevel = 0; diff --git a/modules/hardware/filesystem.nix b/modules/hardware/filesystem.nix @@ -70,13 +70,6 @@ in { device = "/dev/disk/by-partlabel/ESP"; fsType = "vfat"; }; - - # DATA Partition - "/data/files" = { - device = "/dev/disk/by-partlabel/Files"; - fsType = "ntfs"; - options = ["rw" "uid=1000"]; - }; }; # SWAP Partition @@ -123,6 +116,7 @@ in { # Boot Settings boot = { + initrd.systemd.enable = true; supportedFilesystems = ["zfs"]; kernelParams = ["elevator=none" "nohibernate"]; zfs = { diff --git a/modules/shell/zsh.nix b/modules/shell/zsh.nix @@ -13,16 +13,12 @@ in { ## Z Shell Configuration ## config = lib.mkIf enable { # Shell Environment + programs.zsh.enable = true; user.persist = { files = [".zsh_history"]; dirs = [".cache/zsh"]; }; - environment = { - shells = [pkgs.zsh]; - pathsToLink = ["/share/zsh"]; - }; - # Settings home-manager.users = mapAttrs (_: value: lib.mkIf (elem "zsh" value.shells) { diff --git a/scripts/nixos.nix b/scripts/nixos.nix @@ -240,7 +240,7 @@ in URL=${path.flake} fi echo "Installing System from '$URL'..." - nixos-install --no-root-passwd --root /mnt --flake "$URL"#"$HOST" --impure + nixos-install --no-root-passwd --root /mnt --flake "$URL"#"$HOST" newline read -rp "Enter Path to GPG Keys (path/.git): " KEY @@ -262,12 +262,12 @@ in echo "Preparing ${path.system}..." DIR=/mnt$DIR - rm -rf $DIR && mkdir $DIR + rm -rf "$DIR" && mkdir "$DIR" newline echo "Cloning Repository..." - git clone --recurse-submodules ${path.repo} $DIR - chgrp -R keys $DIR && chmod g+rwx $DIR -R + git clone --recurse-submodules ${path.repo} "$DIR" + chgrp -R keys "$DIR" && chmod g+rwx "$DIR" -R newline unmount_all diff --git a/scripts/partitions.sh b/scripts/partitions.sh @@ -12,6 +12,7 @@ partition_disk() { echo "Creating Partitions..." parted /dev/"$DISK" -- mkpart ESP fat32 1MiB 1024MiB parted /dev/"$DISK" -- set 1 esp on + parted /dev/"$DISK" -- name 1 ESP mkfs.fat -F 32 /dev/disk/by-partlabel/ESP parted /dev/"$DISK" -- mkpart primary 1025MiB -8GiB parted /dev/"$DISK" -- name 2 System @@ -33,7 +34,8 @@ mount_ext4() { create_zfs() { echo "Creating 'ZFS' Volumes..." - zpool create -f fspool -o compression=zstd /dev/disk/by-partlabel/System + read -rp "Enter Password for Pool Encryption: " PASS + echo "$PASS" | zpool create -f fspool -O compression=zstd -O encryption=on -O keyformat=passphrase /dev/disk/by-partlabel/System zfs create -p -o mountpoint=legacy -o xattr=sa -o acltype=posixacl fspool/system/root zfs snapshot fspool/system/root@blank zfs create -o mountpoint=legacy -o atime=off fspool/system/nix diff --git a/site/content/anime.md b/site/content/anime.md @@ -15,6 +15,7 @@ comments = true - Aharen-san wa Hakarenai - Akudama Drive - Ao can't Study +- BLUE LOCK <sup>\*</sup> - Bunny Girl Senpai - Chuunibyou demo Koi ga Shitai! <sup>#</sup> - Clannad <sup>#</sup> @@ -24,15 +25,19 @@ comments = true - Death Note - Demon Slayer - Domestic Girlfriend +- Dungeon ni Deai wo Motomeru no wa Machigatteiru Darou ka <sup>#</sup> <sup>\*</sup> - Erased - Fruits Basket <sup>#</sup> - Fuufu Ijou, Koibito Miman <sup>\*</sup> - Gekkan Shoujo Nozaki-kun - Golden Time +- Higehiro - Horimiya - I Can't Understand What My Husband Is Saying +- I Got a Cheat Skill in Another World and Became Unrivaled in The Real World, Too - I Want To Eat Your Pancreas - Ijinaraide, Nagatoro-san <sup>\*</sup> <sup>#</sup> +- Insomniacs after School <sup>\*</sup> - Kaguya-sama: Love is War <sup>#</sup> - Kakkou no Iinazuke - Kawaii dake ja nai Shikimori-san @@ -41,11 +46,14 @@ comments = true - Koiseka - Kokoro Connect - Komi Can't Communicate <sup>\*</sup> <sup>#</sup> -- Konosuba <sup>#</sup> -- Link Click <sup>\*</sup> +- Konosuba <sup>\*</sup> <sup>#</sup> +- Koori Zokusei Danshi to Cool na Douryou Joshi +- Liar Liar <sup>\*</sup> +- Link Click <sup>\*]</sup> <sup>#</sup> - Lycoris Recoil <sup>\*</sup> - My Dress Up Darling <sup>\*</sup> - My Senpai is Annoying +- NieR:Automata Ver1.1a <sup>\*</sup> - Nisekoi - No Life No Game <sup>#</sup> - Oregairu <sup>#</sup> @@ -59,9 +67,12 @@ comments = true - Spy X Family <sup>\*</sup> <sup>#</sup> - Steins;Gate <sup>#</sup> - Sword Art Online <sup>#</sup> +- The Ancient Magus' Bride <sup>\*</sup> <sup>#</sup> +- The Dangers in My Heart <sup>\*</sup> - The Pet Girl of Sakurasou <sup>\*</sup> - The Quintessential Quintuplets <sup>#</sup> - Tomodachi Game <sup>\*</sup> +- Tomo-chan wa Onnanoko! - Tonikawa: To the Moon! <sup>\*</sup> - ToraDora! - Tsuki ga Kirei @@ -72,14 +83,13 @@ comments = true - Weathering With You - When will Ayumu make his Move <sup>\*</sup> - Wotaku ni Koi wa Muzukashii +- Yamada-kun to Lv999 no Koi wo Suru <sup>\*</sup> - Yosuga no Sora - Your Lie in April # Ongoing -- [x] BLUE LOCK -- [x] Tomo-chan wa Onnanoko! -- [x] Koori Zokusei Danshi to Cool na Douryou Joshi +- [x] Suki na Ko ga Megane wo Wasureta # Manhua @@ -89,12 +99,19 @@ comments = true # Manga - Aishiteru Game wo Owarasetai <sup>\*</sup> +- Ako to Bambi <sup>\*</sup> - Classroom of the Elite <sup>\*</sup> - Fuufu Ijou, Koibito Miman <sup>\*</sup> +- Horimiya +- I want to end the game I love - Kaguya-sama: Love is War - Kawaii dake ja nai Shikimori-san - Kubo-San Doesn't Leave Me Be <sup>\*</sup> -- Tonikawa: To the Moon! +- Oshi no Ko <sup>\*</sup> +- The Dangers in My Heart <sup>\*</sup> +- Tonikawa: To the Moon! <sup>\*</sup> +- Watashi no Shiawase na Kekkon <sup>\*</sup> +- Yamada-kun to Lv999 no Koi wo Suru <sup>\*</sup> # Web Comic