From d760d757bcda5790f3dc983ff008585b4bcf1436 Mon Sep 17 00:00:00 2001 From: _cry64 Date: Fri, 13 Feb 2026 01:46:16 +1000 Subject: [PATCH] remove old lib --- lib/cdesktop.nix | 149 --------------------- lib/csystem.nix | 330 ----------------------------------------------- lib/cuser.nix | 102 --------------- 3 files changed, 581 deletions(-) delete mode 100644 lib/cdesktop.nix delete mode 100644 lib/csystem.nix delete mode 100644 lib/cuser.nix diff --git a/lib/cdesktop.nix b/lib/cdesktop.nix deleted file mode 100644 index ef2b205..0000000 --- a/lib/cdesktop.nix +++ /dev/null @@ -1,149 +0,0 @@ -# Copyright 2025 Emile Clark-Boman -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -{ - lib, - config, - pkgs, - pkgs-unstable, - ... -} @ args: let - getModule = name: "../modules/homemanager/${name}.nix"; - getModules = map (x: getModule x); -in { - imports = getModules [ - "term/foot" - "editor/vscode" - - "wm/hyprland" - "wm/hyprland/hyprlock" - - "dm/sddm" - "dm/sddm/themes/corners" - - "apps/firefox" - "apps/thunderbird" - "apps/obsidian" - "apps/rider" - "apps/winbox" - "apps/gitkraken" - "apps/thunar" - - "wm/kanshi" - "wm/mako" - ]; - - home = { - pointerCursor = { - gtk.enable = true; - # x11.enable = true # dont enable since im on hyprland - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Ice"; - size = 16; - }; - - packages = with pkgs; [ - # for services.gnome-keyring - ( - if config.cerulean.isGraphical - then seahorse # gui - else null - ) - - fuzzel - ]; - }; - - gtk = { - enable = true; - font.name = "Victor Mono SemiBold 12"; - theme = { - name = "Dracula"; - package = pkgs.dracula-theme; - }; - iconTheme = { - name = "kora"; - package = pkgs.kora-icon-theme; - }; - # TODO: use a variable to mirror this cursor size - # with the `home.pointerCurser.size` - cursorTheme = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Ice"; - size = 16; - }; - }; - - qt = { - enable = true; - platformTheme.name = "gtk2"; - style.name = "gtk2"; - }; - - services = { - # Set display manager (login screen) - displayManager = { - # sddm relies on pkgs.libsForQt5.qt5.qtgraphicaleffects - sddm = { - enable = true; - wayland.enable = true; # experimental - theme = "corners"; - }; - defaultSession = - "hyprland" - + ( - if config.programs.hyprland.withUWSM - then "-uwsm" - else null - ); - }; - - # Multimedia Framework - # With backwards compatability for alsa/pulseaudio/jack - pipewire = { - enable = true; - wireplumber.enable = true; - - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; - }; - - # ---- ENVIRONMENT ---- - environment = { - sessionVariables = { - # Hint Electron apps to use support Wayland - NIXOS_OZONE_WL = "1"; - }; - }; - - # ---- SYSTEM PACKAGES ---- - environment.systemPackages = with pkgs; [ - # User Environment - swww - helvum - easyeffects - pavucontrol - hyprpicker # colour picking utility - hyprshot # screenshot utility - qbittorrent - signal-desktop # MAKE THIS ONLY FOR THE DESKTOP FOR END USERS, NOT SERVERS - kdePackages.gwenview # image viewer - libreoffice - wl-clipboard # clipboard for wayland - ]; - - security.rtkit.enable = true; # I *think* this is for pipewire -} diff --git a/lib/csystem.nix b/lib/csystem.nix deleted file mode 100644 index 64e3aa3..0000000 --- a/lib/csystem.nix +++ /dev/null @@ -1,330 +0,0 @@ -# Copyright 2025 Emile Clark-Boman -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -{ - inputs, - lib, - config, - pkgs, - pkgs-unstable, - homemanager, - cerulean, - ... -} @ args: let - getModule = name: "../modules/nixos/${name}.nix"; - getModules = map (x: getModule x); - - getHostModule = name: "TODO"; -in { - imports = getModules [ - (getHostModule "hardware-configuration") - (import "${homemanager}/nixos") - - "shell/bash" - "shell/bash/bashistrans.nix" - "shell/zsh" - "shell/fish" - - "cli/git" - "cli/bat" - "cli/btop" - "cli/tmux" - "cli/nvim" - - "lang/asm" - "lang/bash" # TODO: (YES THIS IS DIFFERENT TO shell/bash, this provides language support ie pkgs.shellcheck) - "lang/c-family" - "lang/dotnet" - # "lang/go" - # "lang/haskell" - # "lang/java" - # "lang/nim" - "lang/python" - # "lang/rust" - # "lang/sage" - - "editor/helix" - ]; - - nix.settings = { - # REF: https://nix.dev/manual/nix/2.24/development/experimental-features - experimental-features = [ - # Significant - "flakes" - "nix-command" - "pipe-operators" - - # Minor - "no-url-literals" - "parse-toml-timestamps" - "recursive-nix" - ]; - - download-buffer-size = 524288000; # 500 MiB - - # making wheel group members "trusted users" allows - # them to import packages not signed by a trusted key - # (aka super duper easier to remote deploy) - trusted-users = ["root" "@wheel"]; - }; - - nixpkgs = { - overlays = cerulean.lib.importOverlaysNixOS; - - config = if config.cerulean.allowUnfreeWhitelist != [] - then { - allowUnfreePredicate = - pkg: builtins.elem - (lib.getName pkg) - config.cerulean.allowUnfreeWhitelist; - } - else { - allowUnfree = config.cerulean.allowUnfree; - }; - }; - - # colmena deployment configuration - deployment = { - targetHost = config.cerulean.domain ?? config.cerulean.ip; - targetUser = "cerulean"; - targetPort = "22"; - sshOptions = [ - "-A" # forward ssh-agent - ]; - buildOnTarget = false; # build locally then deploy - }; - - - time.timeZone = config.cerulean.timeZone; - i18n.defaultLocale = "en_US.UTF-8"; - - # Enable initrd hook for virtual console customisation - # aka cool colours when booting yay!! - console = { - enable = true; - earlySetup = true; # initrd pre hook - keyMap = "us"; - font = "Lat2-Terminus16"; - # ANSI 24-bit color definitions (theme: dracula) - colors = [ - "21222c" - "ff5555" - "50fa7b" - "f1fa8c" - "bd93f9" - "ff79c6" - "8be9fd" - "f8f8f2" - "6272a4" - "ff6e6e" - "69ff94" - "ffffa5" - "d6acff" - "ff92df" - "a4ffff" - "ffffff" - ]; - }; - - # super duper minimum grub2 config - boot.loader = { - efi = { - canTouchEfiVariables = true; - efiSysMountPoint = "/boot/efi"; - }; - - grub = { - enable = true; - device = "nodev"; - }; - - # GitHub: vinceliuice/grub2-themes - grub2-theme = { - enable = true; - theme = "whitesur"; # stylish, vimix, or whitesur - footer = true; - # TODO: switch my cables to switch default grub display - customResolution = "3840x2160"; - }; - }; - - networking = { - hostName = config.cerulean.hostname; - networkmanager.enable = true; - - firewall = { - enable = true; - allowedTCPPorts = [ - 22 # sshd - 80 # nginx (http) - 443 # nginx (https) - # 5678 # MikroTik WinBox - ]; - }; - }; - - # ------- USERS ------- - security.sudo.wheelNeedsPassword = true; - users = { - defaultUserShell = pkgs.bash; - - users = cerulean.lib.importUsersNixOS; - }; - - home-manager = { - users = cerulean.lib.importUsersHomeManager; - - extraSpecialArgs = { inherit inputs pkgs pkgs-unstable; }; - sharedModules = []; - }; - - # ---- ENVIRONMENT ---- - environment = { - # always install "dev"/"man" derivation outputs - extraOutputsToInstall = ["dev" "man"]; - - systemPackages = with pkgs; [ - # User Environment - bluetui - - # Shell - bash - fish - shellcheck - grc # colorise command outputs - moreutils - - # Systems Programming & Compilation - qemu # Fellice Bellard's Quick Emulator - # GNU Utils - gnumake - # Binaries - binutils - strace - ltrace - perf-tools # ftrace + perf - radare2 - gdb - # ASM - nasm - (callPackage ../packages/x86-manpages {}) - # C Family - gcc - clang - clang-tools - - # Rust - cargo - rustc - # Go - go - # Nim - nim - nimble - # Haskell - ghc - ghcid - haskell-language-server - ormolu - - # Python - python312 # I use 3.12 since it's in a pretty stable state now - python314 # also 3.14 for latest features - poetry - - openvpn - inetutils - - # security tools - nmap - - httpie - curlie - zoxide - doggo - tldr - btop - eza - yazi - lazygit - ripgrep - viddy # modern `watch` command - thefuck - - # TODO: once upgraded past Nix-24.07 this line won't be necessary (I think) - # helix will support nixd by default - # SOURCE: https://github.com/nix-community/nixd/blob/main/nixd/docs/editor-setup.md#Helix - # nixd # lsp for nix # DEBUG - - # Pretty necessary - nix-prefetch-git - brightnessctl - acpi - powertop - imagemagick - - # "Standard" Unix Commands - vim - file - wget - tree - pstree - unzip - unrar-free - lz4 - man-pages - man-pages-posix - - # Cryptography - gnupg - openssl - libargon2 - ]; - }; - - programs = { - nix-ld.enable = true; - }; - - documentation = { - enable = true; - doc.enable = true; # install /share/doc packages - man.enable = true; # install manpages - info.enable = true; # install GNU info - dev.enable = true; # install docs intended for developers - nixos = { - enable = true; # install NixOS documentation (ie man -k nix, & nixos-help) - options.splitBuild = true; - # includeAllModules = true; - }; - }; - - virtualisation.docker.enable = true; - - - hardware = { - graphics = { - enable = true; - enable32Bit = true; - }; - - bluetooth = let - btSupported = config.cerulean.bluetoothSupported; - in { - enable = btSupported; - powerOnBoot = btSupported; - }; - }; - - system.stateVersion = config.cerulean.stateVersion; # DO NOT MODIFY -} diff --git a/lib/cuser.nix b/lib/cuser.nix deleted file mode 100644 index f602e03..0000000 --- a/lib/cuser.nix +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 2025 Emile Clark-Boman -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -{ - lib, - config, - pkgs, - pkgs-unstable, - ... -} @ args: let - getModule = name: "../modules/homemanager/${name}.nix"; - getModules = map (x: getModule x); -in { - imports = getModules [ - "shell/fish" - - "cli/git" - "cli/bat" - "cli/btop" - "cli/tmux" - - "editor/helix" - ]; - - nixpkgs.config.allowUnfreePredicate = pkg: - builtins.elem (lib.GetName pkg) [ - "vscode-extension-ms-dotnettools-csharp" - ]; - - home = { - stateVersion = config.cerulean.stateVersion; # DO NOT MODIFY - - username = config.cerulean.username; - homeDirectory = "/home/${config.cerulean.username}"; - - shellAliases = { - rg = "batgrep"; # bat + ripgrep - man = "batman"; # bat + man - }; - - sessionVariables = { - NIX_SHELL_PRESERVE_PROMPT = 1; - }; - - packages = with pkgs; [ - # for services.gnome-keyring - gcr # provides org.gnome.keyring.SystemPrompter - speedtest-cli - ]; - }; - - programs = { - home-manager.enable = true; - - zsh = { - enable = true; - enableCompletion = true; - autosuggestion.enable = true; - syntaxHighlighting.enable = true; - - history = { - size = 10000; - ignoreAllDups = true; - path = "$HOME/.zsh_history"; - ignorePatterns = [ - "rm *" - ]; - }; - }; - - # set ssh profiles - # NOTE: (IMPORTANT) this DOES NOT start the ssh-agent - # for that you need to use `services.ssh-agent.enable` - ssh = { - enable = true; - forwardAgent = false; - addKeysToAgent = "no"; - }; - }; - - services = { - # enable OpenSSH private key agent - ssh-agent.enable = true; - - gnome-keyring.enable = true; - }; - - # the ssh-agent won't set this for itself... - systemd.user.sessionVariables.SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/ssh-agent"; - # Nicely reload system units when changing configs - systemd.user.startServices = "sd-switch"; -}