diff --git a/assets/Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4 b/assets/Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4 deleted file mode 100644 index 5e946ad..0000000 Binary files a/assets/Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4 and /dev/null differ diff --git a/configuration.nix b/configuration.nix index b279c19..9912fbf 100644 --- a/configuration.nix +++ b/configuration.nix @@ -2,7 +2,9 @@ # your system. Help is available in the configuration.nix(5) man page, on # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). -{ pkgs +{ config +, lib +, pkgs , ... }: @@ -78,6 +80,8 @@ ]; }; + programs.firefox.enable = true; + # List packages installed in system profile. # You can use https://search.nixos.org/ to find more packages (and options). environment.systemPackages = with pkgs; [ diff --git a/flake.lock b/flake.lock index 530d4f6..72ab592 100644 --- a/flake.lock +++ b/flake.lock @@ -301,21 +301,6 @@ "url": "https://flakehub.com/f/cachix/git-hooks.nix/0.1.941" } }, - "gnome-mobile": { - "locked": { - "lastModified": 1748795015, - "narHash": "sha256-+XyXaa3KmgOykQpo6k4XsEaHWDGj8inCxMMGOWat4EM=", - "owner": "chuangzhu", - "repo": "nixpkgs-gnome-mobile", - "rev": "825ebb10c8bf02cb4b6553f3b85e169dc92484d7", - "type": "github" - }, - "original": { - "owner": "chuangzhu", - "repo": "nixpkgs-gnome-mobile", - "type": "github" - } - }, "gnome-shell": { "flake": false, "locked": { @@ -353,56 +338,21 @@ "type": "github" } }, - "mobile-nixos": { - "flake": false, - "locked": { - "lastModified": 1741837934, - "narHash": "sha256-9GQyqCTAs9jShg0YdYsgWZalG3dwprkZK3vOHdoyeiE=", - "owner": "vlinkz", - "repo": "mobile-nixos", - "rev": "01db23f1cd3abfbd14dc06b983f336e74286730e", - "type": "github" - }, - "original": { - "owner": "vlinkz", - "ref": "sdm845-6.14", - "repo": "mobile-nixos", - "type": "github" - } - }, - "musnix": { - "inputs": { - "nixpkgs": "nixpkgs_4" - }, - "locked": { - "lastModified": 1756852730, - "narHash": "sha256-qPere4RBHoZxiEGl8zXU8gjroZg4gkYGEwaAbKmL4vE=", - "owner": "musnix", - "repo": "musnix", - "rev": "7ccc92050e43dc92309396c6f2fe1f542214a242", - "type": "github" - }, - "original": { - "owner": "musnix", - "repo": "musnix", - "type": "github" - } - }, "niri": { "inputs": { "niri-stable": "niri-stable", "niri-unstable": "niri-unstable", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_4", "nixpkgs-stable": "nixpkgs-stable", "xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1757437545, - "narHash": "sha256-7ssbrFnmSrqtCtOySiu5ncyOBxPrR6p2nhNHrg6D+fo=", + "lastModified": 1757423134, + "narHash": "sha256-CZpxYEwjxLDdF1xGtrPJU2DX8k7Q5ajDBjBrjlEswik=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "ef694b996daeeb8684c0adfaa9b7067a6e709054", + "rev": "11d325391d1bbb4bb8f49010959f54bb1f6038b4", "type": "github" }, "original": { @@ -465,34 +415,23 @@ "url": "https://flakehub.com/f/DeterminateSystems/nix-src/%2A" } }, - "nix-flatpak": { + "nix-index-db": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, "locked": { - "lastModified": 1754777568, - "narHash": "sha256-0bBqT+3XncgF8F03RFAamw9vdf0VmaDoIJLTGkjfQZs=", - "owner": "gmodena", - "repo": "nix-flatpak", - "rev": "62f636b87ef6050760a8cb325cadb90674d1e23e", + "lastModified": 1757218147, + "narHash": "sha256-IwOwN70HvoBNB2ckaROxcaCvj5NudNc52taPsv5wtLk=", + "owner": "Mic92", + "repo": "nix-index-database", + "rev": "9b144dc3ef6e42b888c4190e02746aab13b0e97f", "type": "github" }, "original": { - "owner": "gmodena", - "repo": "nix-flatpak", - "type": "github" - } - }, - "nix-mineral": { - "flake": false, - "locked": { - "lastModified": 1757365535, - "narHash": "sha256-s4YK7Ey2LJFLIAONWVXM3X+xdAIbjFgdK2s6lxmMIrQ=", - "owner": "cynicsketch", - "repo": "nix-mineral", - "rev": "b76cc19351f159cd360d8ceea3ba9aff8fce6c6e", - "type": "github" - }, - "original": { - "owner": "cynicsketch", - "repo": "nix-mineral", + "owner": "Mic92", + "repo": "nix-index-database", "type": "github" } }, @@ -584,11 +523,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1757408970, - "narHash": "sha256-aSgK4BLNFFGvDTNKPeB28lVXYqVn8RdyXDNAvgGq+k0=", + "lastModified": 1757341549, + "narHash": "sha256-fRnT+bwP1sB6ne7BLw4aXkVYjr+QCZZ+e4MhbokHyd4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d179d77c139e0a3f5c416477f7747e9d6b7ec315", + "rev": "9d1fa9fa266631335618373f8faad570df6f9ede", "type": "github" }, "original": { @@ -627,22 +566,6 @@ } }, "nixpkgs_4": { - "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { "locked": { "lastModified": 1757347588, "narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=", @@ -658,7 +581,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { "lastModified": 1757347588, "narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=", @@ -699,20 +622,37 @@ "type": "github" } }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1756981260, + "narHash": "sha256-GhuD9QVimjynHI0OOyZsqJsnlXr2orowh9H+HYz4YMs=", + "ref": "refs/heads/master", + "rev": "6eb12551baf924f8fdecdd04113863a754259c34", + "revCount": 672, + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" + } + }, "root": { "inputs": { "c3d2-user-module": "c3d2-user-module", "comin": "comin", "determinate": "determinate", - "gnome-mobile": "gnome-mobile", "home-manager": "home-manager", - "mobile-nixos": "mobile-nixos", - "musnix": "musnix", "niri": "niri", - "nix-flatpak": "nix-flatpak", - "nix-mineral": "nix-mineral", + "nix-index-db": "nix-index-db", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_5", + "quickshell": "quickshell", "stylix": "stylix", "treefmt-nix": "treefmt-nix" } diff --git a/flake.nix b/flake.nix index cddae1c..486c9ef 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,14 @@ inputs.nixpkgs.follows = "nixpkgs"; }; determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*"; + nix-index-db = { + url = "github:Mic92/nix-index-database"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + quickshell = { + url = "git+https://git.outfoxxed.me/quickshell/quickshell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; comin = { url = "github:nlewo/comin"; inputs.nixpkgs.follows = "nixpkgs"; @@ -23,17 +31,10 @@ url = "github:nix-community/stylix"; inputs.nixpkgs.follows = "nixpkgs"; }; - musnix.url = "github:musnix/musnix"; - nix-mineral = { - url = "github:cynicsketch/nix-mineral"; - flake = false; + firefox-addons = { + url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; + inputs.nixpkgs.follows = "nixpkgs"; }; - mobile-nixos = { - url = "github:vlinkz/mobile-nixos/sdm845-6.14"; - flake = false; - }; - gnome-mobile.url = "github:chuangzhu/nixpkgs-gnome-mobile"; - nix-flatpak.url = "github:gmodena/nix-flatpak"; }; outputs = @@ -46,18 +47,14 @@ nixos-hardware, treefmt-nix, determinate, + nix-index-db, + quickshell, stylix, comin, - musnix, - nix-mineral, - mobile-nixos, - gnome-mobile, - nix-flatpak, }: let system = "x86_64-linux"; - pkgs = import nixpkgs { inherit system; }; - lib = pkgs.lib; + pkgs = nixpkgs.legacyPackages.${system}; # Configure treefmt treefmtEval = treefmt-nix.lib.evalModule pkgs { @@ -90,156 +87,59 @@ }; in { - packages.${system} = { - hello-kitty-cursors = pkgs.stdenv.mkDerivation { - pname = "hello-kitty-cursors"; - version = "1.0.0"; + packages.${system}.wallpaper = pkgs.stdenv.mkDerivation { + name = "wallpaper"; + src = ./assets/wp6553608.jpg; + dontUnpack = true; - src = pkgs.fetchzip { - url = "https://www.rw-designer.com/cursor-downloadset/hello-kitty.zip"; - sha256 = "sha256-p4US/gftDL0ne4l0dHUIKKZy2oibkOqdJ3fMisySnNM="; # Replace with the actual hash of the zip file - stripRoot = false; - }; - - installPhase = '' - mkdir -p $out/share/icons/HelloKitty - for file in ${self}/cursors/*; do - if [ -e "$file" ]; then - cp "$file" "$out/share/icons/HelloKitty/" - else - echo "Warning: File $file does not exist." - fi - done - - # Adjust the path to index.theme if necessary - if [ -e "${self}/index.theme" ]; then - cp "${self}/index.theme" "$out/share/icons/HelloKitty/" - else - echo "Warning: index.theme does not exist." - fi - ''; - - meta = with nixpkgs.lib; { - description = "Hello Kitty Cursor theme"; - homepage = "https://www.rw-designer.com/cursor-downloadset/hello-kitty.zip"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ your-maintainer-name ]; # Replace with your name - }; - }; - - wallpapers = pkgs.stdenv.mkDerivation { - name = "wallpapers"; - src = ./assets; - - buildInputs = with pkgs; [ ffmpeg ]; - - buildPhase = '' - # Create output directory - mkdir -p $out/share/wallpapers - - # Copy static wallpaper - cp "wp6553608.jpg" "$out/share/wallpapers/static-wallpaper.jpg" - - # Copy original animated wallpaper - cp "Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4" \ - "$out/share/wallpapers/anime-cat-girl-snow.mp4" - - # Create optimized version - ${pkgs.ffmpeg}/bin/ffmpeg -i "Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4" \ - -vf "scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080" \ - -r 30 -c:v libx264 -crf 28 -preset medium \ - -t 30 -an "$out/share/wallpapers/anime-cat-girl-snow-optimized.mp4" - ''; - - installPhase = '' - # Files are already in the right place from buildPhase - echo "Wallpapers installed to $out/share/wallpapers" - ''; - - meta = with lib; { - description = "Personal wallpaper collection"; - platforms = platforms.linux; - }; - }; + installPhase = '' + mkdir -p $out + cp $src $out/wallpaper.jpg + ''; }; + nixosConfigurations.p50 = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + system = "x86_64-linux"; + modules = [ + niri.nixosModules.niri + nixos-hardware.nixosModules.lenovo-thinkpad-p50 + ./configuration.nix + determinate.nixosModules.default + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.backupFileExtension = "backup"; + home-manager.users.lucy = + { + config, + pkgs, + lib, + inputs, + ... + }: + { + imports = [ + ./modules/home.nix + ]; - nixosConfigurations = { - cutie = nixpkgs.lib.nixosSystem { - system = "aarch64-linux"; - modules = [ - ./hosts/cutie/configuration.nix - gnome-mobile.nixosModules.gnome-mobile - nix-flatpak.nixosModules.nix-flatpak - (import "${mobile-nixos}/lib/configuration.nix" { - device = "oneplus-fajita"; - }) - ]; - }; - p50 = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs; }; - system = "x86_64-linux"; - modules = [ - "${nix-mineral}/nix-mineral.nix" - niri.nixosModules.niri - nixos-hardware.nixosModules.lenovo-thinkpad-p50 - ./hosts/p50/configuration.nix - determinate.nixosModules.default - musnix.nixosModules.musnix - - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.backupFileExtension = "backup"; - home-manager.extraSpecialArgs = { inherit inputs; }; - home-manager.users.lucy = - { - pkgs, - inputs, - ... - }: - { - imports = [ - ./modules/home.nix - ./modules/bottom.nix - ./modules/htop.nix - ]; - - home.packages = with pkgs; [ - inputs.self.packages.${pkgs.system}.wallpapers - ]; - - home.file = { - ".local/share/wallpapers/anime-cat-girl-snow.mp4".source = "${ - inputs.self.packages.${pkgs.system}.wallpapers - }/share/wallpapers/anime-cat-girl-snow.mp4"; - ".local/share/wallpapers/static-wallpaper.jpg".source = "${ - inputs.self.packages.${pkgs.system}.wallpapers - }/share/wallpapers/static-wallpaper.jpg"; - ".local/share/wallpapers/anime-cat-girl-snow-optimized.mp4".source = "${ - inputs.self.packages.${pkgs.system}.wallpapers - }/share/wallpapers/anime-cat-girl-snow-optimized.mp4"; - }; - }; - } - c3d2-user-module.nixosModule - ./modules/nix.nix - ./modules/fonts.nix - comin.nixosModules.comin - ./modules/comin.nix - stylix.nixosModules.stylix - ./modules/stylix.nix - ./modules/firefox-nixos.nix - ]; - }; + # Configure dconf settings here or inside home.nix + # Example: + # home.sessionVariables = { + # XDG_CURRENT_DESKTOP = "GNOME"; + # }; + }; + } + c3d2-user-module.nixosModule + ./modules/nix.nix + ./modules/fonts.nix + comin.nixosModules.comin + ./modules/comin.nix + stylix.nixosModules.stylix + ./modules/stylix.nix + ]; }; - fajita-fastboot-images = - inputs.self.nixosConfigurations.fajita.config.mobile.outputs.android.android-fastboot-images; - fajita-minimal-image = - inputs.self.nixosConfigurations.fajita_minimal.config.mobile.outputs.android.android-fastboot-images; - uefi-x86_64-image = inputs.self.nixosConfigurations.uefi-x86_64.config.mobile.outputs.default; - # Add treefmt formatter formatter.${system} = treefmtEval.config.build.wrapper; diff --git a/hardware-configuration.nix b/hardware-configuration.nix index 1dd25df..7733ebc 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -1,7 +1,7 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, modulesPath, ... }: +{ config, lib, pkgs, modulesPath, ... }: { imports = diff --git a/hosts/cutie/configuration.nix b/hosts/cutie/configuration.nix deleted file mode 100644 index 70e8167..0000000 --- a/hosts/cutie/configuration.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ lib, pkgs, ... }: -{ - services.flatpak.remotes = [ - { - name = "flathub"; - location = "https://flathub.org/repo/flathub.flatpakrepo"; - } - ]; - - mobile.beautification = { - silentBoot = false; - splash = false; - }; - - users.users.lucy = { - isNormalUser = true; - hashedPassword = "$y$j9T$D1EpjBC8amO7RbwfitIHW.$qZeydQSBI0dzCm7TVUmJ4ZDzBQMMNVG6NUiTpa45XVA"; - extraGroups = [ - "dialout" - "feedbackd" - "networkmanager" - "video" - "wheel" - ]; - }; - - environment.systemPackages = with pkgs; [ - fractal - mission-center - ]; - environment.sessionVariables.NIXPKGS_ALLOW_UNFREE = "1"; - - zramSwap.enable = true; - networking.firewall.enable = lib.mkForce false; - - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; - - system.stateVersion = "24.11"; -} diff --git a/hosts/p50/configuration.nix b/hosts/p50/configuration.nix deleted file mode 100644 index b279c19..0000000 --- a/hosts/p50/configuration.nix +++ /dev/null @@ -1,133 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page, on -# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). - -{ pkgs -, ... -}: - -{ - imports = [ - # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "twinkpad"; # Define your hostname. - # Pick only one of the below networking options. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. - - # Set your time zone. - time.timeZone = "Europe/Berlin"; - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Select internationalisation properties. - # i18n.defaultLocale = "en_US.UTF-8"; - # console = { - # font = "Lat2-Terminus16"; - # keyMap = "us"; - # useXkbConfig = true; # use xkb.options in tty. - # }; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the GNOME Desktop Environment. - services.xserver.displayManager.gdm.enable = true; - programs.niri.enable = true; - - # Configure keymap in X11 - # services.xserver.xkb.layout = "us"; - # services.xserver.xkb.options = "eurosign:e,caps:escape"; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound. - # services.pulseaudio.enable = true; - # OR - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - - }; - - # make pipewire realtime-capable - security.rtkit.enable = true; - - # Enable touchpad support (enabled default in most desktopManager). - # services.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.mutableUsers = false; - users.users.lucy = { - initialHashedPassword = "$6$QX95LTUGi55mFQOZ$j19/LuGvMeWOBCp/oEOLWDU5rcrEfD9/2AQ3sW1OVMROMJEFpg/hTrWKnOgIUfzWtF32wUxNlThXIJm8YWJwZ."; - isNormalUser = true; - extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. - packages = with pkgs; [ - tree - ]; - }; - - # List packages installed in system profile. - # You can use https://search.nixos.org/ to find more packages (and options). - environment.systemPackages = with pkgs; [ - vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - wget - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - programs.mtr.enable = true; - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - # services.openssh.enable = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # Copy the NixOS configuration file and link it from the resulting system - # (/run/current-system/configuration.nix). This is useful in case you - # accidentally delete configuration.nix. - # system.copySystemConfiguration = true; - - # This option defines the first version of NixOS you have installed on this particular machine, - # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. - # - # Most users should NEVER change this value after the initial install, for any reason, - # even if you've upgraded your system to a new NixOS release. - # - # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, - # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how - # to actually do that. - # - # This value being lower than the current NixOS release does NOT mean your system is - # out of date, out of support, or vulnerable. - # - # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, - # and migrated your data accordingly. - # - # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . - system.stateVersion = "25.05"; # Did you read the comment? - - nixpkgs.config.allowUnfree = true; - -} diff --git a/hosts/p50/hardware-configuration.nix b/hosts/p50/hardware-configuration.nix deleted file mode 100644 index 1dd25df..0000000 --- a/hosts/p50/hardware-configuration.nix +++ /dev/null @@ -1,65 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, modulesPath, ... }: - -{ - imports = - [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "uas" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { - device = "none"; - fsType = "tmpfs"; - options = [ "defaults" "size=8G" "mode=755" ]; - }; - - fileSystems."/boot" = - { - device = "/dev/disk/by-uuid/0777-71C3"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - fileSystems."/nix" = - { - device = "/dev/disk/by-uuid/3a8c6986-3105-4f1f-a75b-f72e4ec5ecdc"; - fsType = "ext4"; - }; - - boot.initrd.luks.devices."nix".device = "/dev/disk/by-uuid/439beee9-6797-41bc-bc4f-01bfe1a75166"; - - fileSystems."/etc/nixos" = - { - device = "/nix/persist/etc/nixos"; - fsType = "none"; - options = [ "bind" ]; - }; - - fileSystems."/var/log" = - { - device = "/nix/persist/var/log"; - fsType = "none"; - options = [ "bind" ]; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/modules/alacritty.nix b/modules/alacritty.nix index 6b127fe..5004083 100644 --- a/modules/alacritty.nix +++ b/modules/alacritty.nix @@ -2,34 +2,36 @@ { programs.alacritty.enable = true; programs.alacritty.settings = { - window.opacity = lib.mkForce 0.8; - colors.bright = lib.mkForce { - black = "#444b6a"; - blue = "#7da6ff"; - cyan = "#0db9d7"; - green = "#b9f27c"; - magenta = "#bb9af7"; - red = "#ff7a93"; - white = "#acb0d0"; - yellow = "#ff9e64"; - }; - colors.normal = lib.mkForce { - black = "#32344a"; - blue = "#7aa2f7"; - cyan = "#449dab"; - green = "#9ece6a"; - magenta = "#ad8ee6"; - red = "#f7768e"; - white = "#787c99"; - yellow = "#e0af68"; - }; - colors.primary = lib.mkForce { - background = "#1a1b26"; - foreground = "#a9b1d6"; - }; - font = lib.mkForce { + window.opacity = lib.mkDefault 0.8; + /* + colors.bright = { + black = "#444b6a"; + blue = "#7da6ff"; + cyan = "#0db9d7"; + green = "#b9f27c"; + magenta = "#bb9af7"; + red = "#ff7a93"; + white = "#acb0d0"; + yellow = "#ff9e64"; + }; + colors.normal = { + black = "#32344a"; + blue = "#7aa2f7"; + cyan = "#449dab"; + green = "#9ece6a"; + magenta = "#ad8ee6"; + red = "#f7768e"; + white = "#787c99"; + yellow = "#e0af68"; + }; + colors.primary = { + background = "#1a1b26"; + foreground = "#a9b1d6"; + }; + */ + font = { normal = { - family = "Iosevka"; + family = lib.mkForce "Iosevka"; style = "Regular"; }; bold = { diff --git a/modules/bottom.nix b/modules/bottom.nix deleted file mode 100644 index 6bc27e3..0000000 --- a/modules/bottom.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ ... }: -{ - programs.bottom.enable = true; -} diff --git a/modules/firefox-nixos.nix b/modules/firefox-nixos.nix deleted file mode 100644 index dca6a2f..0000000 --- a/modules/firefox-nixos.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ ... }: -{ - programs.firefox = { - policies.ExtensionSettings = { - "uBlock0@raymondhill.net" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; - installation_mode = "force_installed"; - }; - "{446900e4-71c2-419f-a6a7-df9c091e268b}" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi"; - installation_mode = "force_installed"; - }; - "jid1-MnnxcxisBPnSXQ@jetpack" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi"; - installation_mode = "force_installed"; - }; - "extension@tabliss.io" = { - install_url = "https://addons.mozilla.org/firefox/downloads/file/3940751/tabliss-2.6.0.xpi"; - installation_mode = "force_installed"; - }; - }; - }; -} diff --git a/modules/firefox.nix b/modules/firefox.nix deleted file mode 100644 index d53f931..0000000 --- a/modules/firefox.nix +++ /dev/null @@ -1,119 +0,0 @@ -{ ... }: - -{ - programs.firefox = { - enable = true; - - policies = { - AutofillAddressEnabled = false; - AutofillCreditCardEnabled = false; - BlockAboutAddons = true; - BlockAboutConfig = true; - BlockAboutProfiles = true; - Bookmarks = [ - { - Placement = "toolbar"; - Title = "NixOS Search"; - URL = "https://search.nixos.org"; - } - { - Placement = "toolbar"; - Title = "NixOS Wiki"; - URL = "https://wiki.nixos.org"; - } - { - Placement = "toolbar"; - Title = "c-base"; - URL = "https://c-base.org"; - } - { - Placement = "toolbar"; - Title = "c-base Wiki"; - URL = "https://wiki.c-base.org"; - } - ]; - Cookies = { - Behavior = "accept"; - BehaviorPrivateBrowsing = "reject"; - }; - DisableAccounts = true; - DisableAppUpdate = true; - DisableBuiltinPDFViewer = true; - DisableFeedbackCommands = true; - DisableFirefoxScreenshots = true; - DisableFirefoxStudies = true; - DisableForgetButton = true; - DisableFormHistory = true; - DisablePasswordReveal = true; - DisableProfileImport = true; - DisableProfileRefresh = true; - DisableSetDesktopBackground = true; - DisableTelemetry = true; - EnableTrackingProtection = { - BaselineExceptions = true; - Category = "standard"; - ConvenienceExceptions = true; - Cryptomining = true; - EmailTracking = true; - Fingerprinting = true; - SuspectedFingerprinting = true; - Value = true; - }; - ExtensionUpdate = false; - FirefoxSuggest = { - ImproveSuggest = false; - SponsoredSuggestions = false; - WebSuggestions = true; - }; - HardwareAcceleration = false; - NewTabPage = true; - PasswordManagerEnabled = false; - PictureInPicture = { - Enabled = true; - }; - Preferences = { - browser.fixup.dns_first_for_single_words = { - Status = "locked"; - Type = "boolean"; - Value = true; - }; - browser.search.update = { - Status = "locked"; - Type = "boolean"; - Value = true; - }; - extensions.getAddons.showPane = { - Status = "locked"; - Type = "boolean"; - Value = false; - }; - media.gmp-gmpopenh264.enabled = { - Status = "locked"; - Type = "boolean"; - Value = true; - }; - network.IDN_show_punycode = { - Status = "locked"; - Type = "boolean"; - Value = true; - }; - network.dns.disableIPv6 = { - Status = "locked"; - Type = "boolean"; - Value = false; - }; - }; - PrintingEnabled = true; - PrivateBrowsingModeAvailability = 0; - SanitizeOnShutdown = { - Cache = true; - Cookies = false; - FormData = false; - History = false; - Sessions = false; - SiteSettings = false; - }; - TranslateEnabled = false; - }; - }; -} diff --git a/modules/home.nix b/modules/home.nix index 8b3f772..abe342d 100644 --- a/modules/home.nix +++ b/modules/home.nix @@ -1,6 +1,7 @@ { config, pkgs, + inputs, ... }: { @@ -14,9 +15,6 @@ ./hypridle.nix ./fuzzel.nix ./hyfetch.nix - ./ssh.nix - ./firefox.nix - ./wallpaper.nix ]; # TODO please change the username & home directory to your own @@ -125,10 +123,6 @@ seatd jaq wl-clipboard - element-desktop - jetbrains.idea-community - jdk - gradle ]; # basic configuration of git, please change to your own programs.git = { diff --git a/modules/htop.nix b/modules/htop.nix deleted file mode 100644 index 6f267d8..0000000 --- a/modules/htop.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ ... }: -{ - programs.htop.enable = true; -} diff --git a/modules/hyfetch.nix b/modules/hyfetch.nix index 2ef09bd..28dc4e9 100644 --- a/modules/hyfetch.nix +++ b/modules/hyfetch.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { programs.hyfetch = { enable = true; diff --git a/modules/hypridle.nix b/modules/hypridle.nix index 9e1df6a..706aa59 100644 --- a/modules/hypridle.nix +++ b/modules/hypridle.nix @@ -1,7 +1,8 @@ -{ pkgs -, lib -, config -, ... +{ + pkgs, + lib, + config, + ... }: let lock = "${pkgs.systemd}/bin/loginctl lock-session"; diff --git a/modules/music.nix b/modules/music.nix deleted file mode 100644 index 35e389c..0000000 --- a/modules/music.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ ... }: -{ - musnix.enable = true; -} diff --git a/modules/niri/binds.nix b/modules/niri/binds.nix index 922a7d8..9eacae5 100644 --- a/modules/niri/binds.nix +++ b/modules/niri/binds.nix @@ -10,6 +10,7 @@ let close-window maximize-column screenshot-window + screenshot focus-column-left focus-column-right focus-workspace-up @@ -33,11 +34,10 @@ let # Generate workspace focus binds (Mod+1 to Mod+9) wsBinds = builtins.listToAttrs ( - builtins.genList - (i: { - name = "Mod+${toString (i + 1)}"; - value.action.focus-workspace = i + 1; - }) 9 + builtins.genList (i: { + name = "Mod+${toString (i + 1)}"; + value.action.focus-workspace = i + 1; + }) 9 ); in diff --git a/modules/niri/default.nix b/modules/niri/default.nix index d01b7d0..9687634 100644 --- a/modules/niri/default.nix +++ b/modules/niri/default.nix @@ -1,4 +1,4 @@ -{ ... }: +{ inputs, pkgs, ... }: { imports = [ ./settings.nix diff --git a/modules/niri/settings.nix b/modules/niri/settings.nix index 9feb7db..43b7521 100644 --- a/modules/niri/settings.nix +++ b/modules/niri/settings.nix @@ -1,7 +1,8 @@ -{ lib -, pkgs -, inputs -, ... +{ + config, + lib, + pkgs, + ... }: let makeCommand = command: { @@ -9,17 +10,9 @@ let }; qs = "${pkgs.quickshell}/bin/qs"; wl-paste = "${pkgs.wl-clipboard}/bin/wl-paste"; - wallpapers = inputs.self.packages.${pkgs.system}.wallpapers; - in { programs.niri.settings = { - cursor = { - theme = "Hello-Kitty"; # Set the cursor theme - size = 48; # Set the cursor size in logical pixels - hide-after-inactive-ms = 1000; # Hide cursor after 1 second of inactivity - hide-when-typing = true; # Hide cursor when typing - }; environment = { CLUTTER_BACKEND = "wayland"; DISPLAY = ":0"; @@ -30,17 +23,9 @@ in QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; SDL_VIDEODRIVER = "wayland"; }; - spawn-at-startup = [ (makeCommand "${lib.getExe pkgs.hyprlock}") - { - command = [ - "${lib.getExe pkgs.mpvpaper}" - "-vs" - "-o" - "'no-audio loop' ALL ${wallpapers}/share/wallpapers/*.mp4" - ]; - } + (makeCommand "${pkgs.swww}/bin/swww-daemon") { command = [ "${wl-paste}" @@ -66,6 +51,7 @@ in ]; } ]; + input = { touchpad = { click-method = "button-areas"; diff --git a/modules/nix.nix b/modules/nix.nix index 217c17a..05abfad 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -1,18 +1,8 @@ -{ ... }: -{ +{ ... }: { nix.settings = { - experimental-features = [ - "nix-command" - "flakes" - ]; + experimental-features = [ "nix-command" "flakes" ]; - substituters = [ - "https://nix-gaming.cachix.org" - "https://attic.mildlyfunctional.gay/nixbsd" - ]; - trusted-public-keys = [ - "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" - "nixbsd:gwcQlsUONBLrrGCOdEboIAeFq9eLaDqfhfXmHZs1mgc=" - ]; + substituters = [ "https://nix-gaming.cachix.org" ]; + trusted-public-keys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ]; }; } diff --git a/modules/nushell.nix b/modules/nushell.nix index e682a5b..9385c31 100644 --- a/modules/nushell.nix +++ b/modules/nushell.nix @@ -1,15 +1,10 @@ -{ lib, pkgs, ... }: -let - hx = lib.getExe pkgs.helix; - nix = lib.getExe pkgs.nix; -in -{ +{ lib, pkgs, ... }: { programs = { nushell = { enable = true; # The config.nu can be anywhere you want if you like to edit your Nushell with Nu #configFile.source = ./.../config.nu; - # for editing directly to config.nu + # for editing directly to config.nu extraConfig = '' # Common ls aliases and sort them by type and then name # Inspired by https://github.com/nushell/nushell/issues/7190 @@ -36,7 +31,9 @@ in # fish completions https://www.nushell.sh/cookbook/external_completers.html#fish-completer let fish_completer = {|spans| - ${lib.getExe pkgs.fish} --command $'complete "--do-complete=($spans | str join " ")"' + ${ + lib.getExe pkgs.fish + } --command $'complete "--do-complete=($spans | str join " ")"' | $"value(char tab)description(char newline)" + $in | from tsv --flexible --no-infer } @@ -95,23 +92,22 @@ in shellAliases = { fg = "job unfreeze"; - nano = hx; - vi = hx; - devenv-init = "${nix} flake init --template github:cachix/devenv"; - devenv-enter = "${nix} develop --impure"; - rust-init = "${nix} flake init --template templates#rust"; - c-init = "${nix} flake init --template templates#c-hello"; - go-hello = "${nix} flake init --template templates#go-hello"; - haskell-hello = "${nix} flake init --template templates#haskell-hello"; - g = "${lib.getExe pkgs.git}"; - copy = "${pkgs.wl-clipboard}/bin/wl-copy"; + nano = "hx"; + vi = "hx"; + nvim = "hx"; + vim = "hx"; + devenv-init = "nix flake init --template github:cachix/devenv"; + devenv-enter = "nix develop --impure"; + rust-init = "nix flake init --template templates#rust"; + c-init = "nix flake init --template templates#c-hello"; + go-hello = "nix flake init --template templates#go-hello"; + haskell-hello = "nix flake init --template templates#haskell-hello"; + neofetch = "hyfetch"; }; }; carapace.enable = true; carapace.enableNushellIntegration = true; - starship = { - enable = true; - }; + starship = { enable = true; }; }; } diff --git a/modules/quickshell.nix b/modules/quickshell.nix index c8b428f..46d9d4b 100644 --- a/modules/quickshell.nix +++ b/modules/quickshell.nix @@ -1,7 +1,8 @@ -{ pkgs -, inputs -, lib -, ... +{ + pkgs, + inputs, + lib, + ... }: let quickshell = inputs.quickshell.packages.${pkgs.system}.default; diff --git a/modules/ssh.nix b/modules/ssh.nix deleted file mode 100644 index 4b6b458..0000000 --- a/modules/ssh.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ ... -}: - -let - mkMatchBlock = - { hostname }: - { - inherit hostname; - user = "lucy"; # Use dynamically retrieved user - identityFile = [ - "/nix/persist/etc/ssh/id_ed25519" - ]; - port = 22; - }; -in - -{ - # Enable SSH client in Home Manager - programs.ssh = { - enable = true; - - # Define host-specific SSH configurations (match blocks) - matchBlocks = { - "shell.c-base.org" = mkMatchBlock { hostname = "shell.c-base.org"; }; - "code.c-base.org" = mkMatchBlock { hostname = "code.c-base.org"; }; - }; - - # Any extra SSH configuration options you want globally - extraConfig = '' - # Example of global settings - Compression yes - ServerAliveInterval 60 - ''; - }; -} diff --git a/modules/wallpaper.nix b/modules/wallpaper.nix deleted file mode 100644 index dbc0594..0000000 --- a/modules/wallpaper.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs -, inputs -, ... -}: - -{ - programs.mpvpaper = { - enable = true; - }; -} diff --git a/modules/waybar.nix b/modules/waybar.nix index ce9cf47..c66cd7c 100644 --- a/modules/waybar.nix +++ b/modules/waybar.nix @@ -1,443 +1,119 @@ { - config, - pkgs, - ... -}: -{ - home.packages = with pkgs; [ waybar ]; - programs.waybar = { enable = true; + settings = { mainBar = { layer = "top"; - "modules-left" = [ + position = "top"; + height = 28; + output = [ "eDP-1" ]; + margin = "10 20"; + + modules-left = [ "niri/workspaces" - "hyprland/window" + "custom/catgirl-status" ]; - "modules-center" = [ "clock" ]; - "modules-right" = [ - "tray" - "cpu" - "memory" - "idle_inhibitor" - "pulseaudio" - "bluetooth" + modules-center = [ "sway/window" ]; + modules-right = [ + "battery" + "network" + "clock" ]; - "hyprland/window" = { - format = "{title}"; - "max-length" = 333; - "seperate-outputs" = true; - }; - clock = { - format = "{:%I:%M %a %d}"; - "tooltip-format" = "{calendar}"; - calendar = { - mode = "month"; - "mode-mon-col" = 3; - "on-scroll" = 1; - "on-click-right" = "mode"; - format = { - months = "{}"; - days = "{}"; - weeks = "{%W}"; - weekdays = "{}"; - today = "{}"; - }; - }; - actions = { - "on-click-middle" = "mode"; - "on-click-right" = "shift_up"; - "on-click" = "shift_down"; - }; - }; - cpu = { - format = "󰯳 {usage}%"; - }; - memory = { - format = "󰍛 {}%"; - interval = 1; - }; - "custom/gpu-util" = { - exec = "./scripts/gpu-util"; - format = "󰯿 {}"; - interval = 1; - }; - "custom/gpu-temp" = { - exec = "./scripts/gpu-temp"; - format = " {}"; - interval = 1; - }; - temperature = { - "hwmon-path" = "/sys/class/hwmon/hwmon1/temp1_input"; - "critical-threshold" = 80; - format = " {temperatureC}°C"; - interval = 1; + + # Catgirl status placeholder + "custom/catgirl-status" = { + interval = 10; + exec = '' + echo "" + ''; + format = "{}"; + max-length = 40; + tooltip = false; }; + + # Workspaces with numbers instead of icons "niri/workspaces" = { - format = "{icon}"; - "active-only" = false; - "sort-by-number" = true; - "on-click" = "activate"; - "all-outputs" = false; - "format-icons" = { - "1" = "1"; - "2" = "2"; - "3" = "3"; - "4" = "4"; - "5" = "5"; - "6" = "6"; - "7" = "7"; - "8" = "8"; - "9" = "9"; - "10" = "10"; - }; - }; - network = { - format = "󰤭 Off"; - "format-wifi" = "{essid} ({signalStrength}%)"; - "format-ethernet" = "󰈀"; - "format-disconnected" = "󰤭 Disconnected"; - "tooltip-format" = "{ifname} via {gwaddr} "; - "tooltip-format-wifi" = "{essid}({signalStrength}%)  "; - "tooltip-format-ethernet" = "󰈀 {ifname}"; - "tooltip-format-disconnected" = "Disconnected"; - }; - pulseaudio = { - format = "{icon} {volume}% {format_source}"; - "format-bluetooth" = "{icon} {volume}% {format_source}"; - "format-bluetooth-muted" = "󰖁 {format_source}"; - "format-muted" = "󰖁 {format_source}"; - "format-source" = " {volume}%"; - "format-source-muted" = ""; - "format-icons" = { - headphone = ""; - phone = ""; - portable = ""; - default = [ - "" - "" - "" - ]; - }; - "on-click-left" = "pavucontrol"; - input = true; - }; - "custom/playerctl" = { - format = "{icon} {}"; - "return-type" = "json"; - "max-length" = 333; - exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} ~ {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F"; - "on-click-middle" = "playerctl play-pause"; - "on-click" = "playerctl previous"; - "on-click-right" = "playerctl next"; - "format-icons" = { - Playing = ""; - Paused = ""; - }; - }; - tray = { - format = "{icon}"; - "icon-size" = 14; - spacing = 5; - }; - idle_inhibitor = { - format = "{icon}"; - "format-icons" = { - activated = "󱠛"; - deactivated = "󱤱"; - }; - }; - "custom/subs" = { - format = "󰗃 {}"; - exec = "/usr/local/bin/subsfile.sh"; - "on-click" = "vivaldi-stable https://youtube.com/thelinuxcast"; - "restart-interval" = 1; - }; - "custom/spacer" = { - format = " "; - }; - "wlr/taskbar" = { + all-outputs = true; + disable-click = false; format = "{name}"; - "icon-size" = 14; - "icon-theme" = "Numix-Circle"; - "tooltip-format" = "{title}"; - "on-click" = "activate"; - "on-click-middle" = "close"; - "ignore-list" = [ "Alacritty" ]; - "app_ids-mapping" = { - firefoxdeveloperedition = "firefox-developer-edition"; - }; - rewrite = { - "Firefox Web Browser" = "Firefox"; - "Foot Server" = "Terminal"; - }; + disable-markup = false; + max-length = 6; }; - bluetooth = { - "on-click" = "./scripts/bluetooth-control"; - "on-click-right" = "./scripts/rofi-bluetooth"; - "on-click-middle" = "./scripts/rofi-bluetooth"; - format = "{icon}"; - interval = 15; - "format-icons" = { - on = ""; - off = "󰂲"; - disabled = "󰂲"; - connected = ""; - }; - "tooltip-format" = "{device_alias} {status}"; + + battery = { + format = "🔋 {capacity}%"; + low = 20; + critical = 10; + format-low = "⚠️ {capacity}%"; + format-critical = "🚨 {capacity}%"; + tooltip = true; + }; + + network = { + interface = "wlan0"; + format-connected = "📶 {essid}"; + format-disconnected = "📡 disconnected"; + tooltip = true; + }; + + clock = { + format = "{:%a %b %d, %H:%M}"; + tooltip = false; }; }; }; + style = '' - @define-color bg #${config.stylix.base16Scheme.base00}; - @define-color fg #${config.stylix.base16Scheme.base05}; - @define-color lbg #${config.stylix.base16Scheme.base01}; - @define-color yellow #${config.stylix.base16Scheme.base0A}; - @define-color lavender #${config.stylix.base16Scheme.base0E}; - @define-color peach #${config.stylix.base16Scheme.base0A}; - @define-color red #${config.stylix.base16Scheme.base08}; - @define-color green #${config.stylix.base16Scheme.base0B}; - @define-color blue #${config.stylix.base16Scheme.base0D}; - @define-color border #${config.stylix.base16Scheme.base02}; - * { - min-height: 0; - margin: 0px 0px 0px 0px; - padding: 0; - border-radius: 7px; - font-family: "JetBrains Mono Nerd Font"; - font-size: 14pt; - font-weight: 700; - padding-bottom: 0px; - } - - tooltip { - background: @bg; - border-radius: 7px; - border: 2px solid @border; - } - - #window { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 7px; - border-radius: 3px; - border-color: @lbg; - background-color: @yellow; - color: @bg; - } - - window#waybar.empty #window { - background-color: @bg; - border-bottom: none; - border-right: none; + font-family: "Comic Mono", "Fira Mono", monospace; + border-radius: 12px; + font-weight: 600; + padding: 5px 15px; } window#waybar { - background-color: @bg; - color: @lavender; - } - - /* Workspaces */ - @keyframes button_activate { - from { opacity: .3 } - to { opacity: 1.; } - } - - #workspaces { - margin: 0px 0px 0px 0px; - border-radius: 3px; - padding: 1px; - background-color: @bg; - color: @bg; + background-color: #3A3A58; + color: #FF69B4; + border: 2px solid #FF69B4; + box-shadow: 0 0 15px #FF69B4AA; } #workspaces button { - margin: 0px 0px 0px 0px; - border-radius: 3px; - padding-left: 3px; - padding-right: 9px; - background-color: @bg; - color: @fg; - } - - #workspaces button.active { - background-color:@blue; - color: @bg; - } - - #workspaces button.urgent { - color: #F38BA8; + background-color: #FF69B4; + color: #3A3A58; + margin: 0 3px; + border-radius: 8px; + padding: 3px 10px; + transition: background-color 0.2s ease; + font-family: "Fira Mono", monospace; } #workspaces button:hover { - border: solid transparent; + background-color: #FFB6C1; + color: #1A1A2E; } - #custom-gpu-util { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 10px; - border-radius: 7px; - background-color: @bg; - color: @fg; - } - - #tray { - margin: 0px 0px 0px 0px; - border-radius: 3px; - padding-left: 10px; - padding-right: 10px; - background-color: @bg; - color: @fg; - } - - #idle_inhibitor { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 12px; - border-radius: 3px; - background-color: @bg; - color: @fg; - } - - #network { - margin: 5px 5px 2px 5px; - padding-left: 10px; - padding-right: 12px; - border-radius: 7px; - background-color: @bg; - color: @lavender; - } - - #network.linked { - color: @peach; - } - #network.disconnected, - #network.disabled { - color: @red; - } - - #custom-subs { - color: @fg; - margin: 5px 5px 2px 5px; - padding-left: 10px; - padding-right: 12px; - border-radius: 3px; - border-bottom: 2px solid @bg; - border-right: 2px solid @bg; - border-color: @lbg; - background-color: @red; - } - - #custom-spacer { - background-color: @yellow; - } - - #custom-cliphist { - color: @peach; - margin: 5px 5px 2px 5px; - padding-left: 10px; - padding-right: 12px; - border-radius: 3px; - background-color: @bg; - } - - #custom-gpu-temp, - #cpu, - #memory, - #custom-clipboard, - #temperature { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 10px; - border-radius: 3px; - color: @fg; - background-color: @bg; - } - - #custom-playerctl { - margin: 5px 5px 2px 5px; - padding-left: 10px; - padding-right: 10px; - border-radius: 3px; - color: @fg; - background-color: @bg; - } - - #battery, - #backlight, - #bluetooth, - #pulseaudio { - margin-top: 5px; - margin-bottom: 2px; - color: @fg; - background-color: @bg; - border-top-right-radius: 0px; - border-bottom-right-radius: 0px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - } - - #battery, - #bluetooth { - margin-left: 0px; - margin-right: 5px; - padding-left: 7.5px; - padding-right: 10px; - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - } - - #backlight, - #pulseaudio { - margin-right: 0px; - margin-left: 5px; - padding-left: 10px; - padding-right: 7.5px; - border-top-right-radius: 0px; - border-bottom-right-radius: 0px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; + #workspaces button.active { + background-color: #FF69B4; + color: #FFF0F5; + font-weight: bold; } #clock { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 10px; - border-radius: 3px; - color: @bg; - background-color: @green; + font-style: italic; + color: #FFC0CB; } - #taskbar { - border-radius: 0px 0px 0px 0; - padding: 0 3px; - margin: 0 0px; - color: #ffffff; - background-color: rgba(120,118,117,0.3); - } - #taskbar button { - border-radius: 0px 0px 0px 0px; - padding: 0 0 0 3px; - margin: 3px 1; - color: #ffffff; - background-color: rgba(120,118,117,0.1); - } - #taskbar button.active { - background-color: rgba(120,118,117,0.8); + #battery, #network { + color: #FFB6C1; } - #mode { - margin: 0px 0px 0px 0px; - padding-left: 10px; - padding-right: 10px; - border-radius: 3px; - background-color: @bg; - color: @peach; + #custom-catgirl-status { + font-size: 1.1em; + color: #FF69B4; + font-weight: bold; + font-family: "Comic Mono", monospace; } ''; }; diff --git a/persist.nix b/persist.nix index 4ea4aff..b242fd4 100644 --- a/persist.nix +++ b/persist.nix @@ -1,16 +1,18 @@ -{ ... }: -{ +{ ... }: { # machine-id is used by systemd for the journal, if you don't # persist this file you won't be able to easily use journalctl to # look at journals for previous boots. environment.etc."machine-id".source = "/nix/persist/etc/machine-id"; + # if you want to run an openssh daemon, you may want to store the # host keys across reboots. # # For this to work you will need to create the directory yourself: # $ mkdir /nix/persist/etc/ssh - environment.etc."ssh/id_ed25519".source = "/nix/persist/etc/ssh/id_ed25519"; - environment.etc."ssh/id_ed25519.pub".source = "/nix/persist/etc/ssh/id_ed25519.pub"; + environment.etc."ssh/ssh_host_rsa_key".source = "/nix/persist/etc/ssh/ssh_host_rsa_key"; + environment.etc."ssh/ssh_host_rsa_key.pub".source = "/nix/persist/etc/ssh/ssh_host_rsa_key.pub"; + environment.etc."ssh/ssh_host_ed25519_key".source = "/nix/persist/etc/ssh/ssh_host_ed25519_key"; + environment.etc."ssh/ssh_host_ed25519_key.pub".source = "/nix/persist/etc/ssh/ssh_host_ed25519_key.pub"; }