Compare commits

..

15 Commits

100 changed files with 952 additions and 2646 deletions

2
.gitignore vendored
View File

@@ -3,5 +3,3 @@ nix/nixos.qcow2
nix_file.tar.gz nix_file.tar.gz
nvim nvim
tmux/plugins tmux/plugins
modules/quickshell/quickshell/.qmlls.ini
result

View File

@@ -4,7 +4,5 @@ creation_rules:
- encrypted_regex: '^(data|stringData)$' # Encrypt data and stringData by default (useful for Kubernetes secrets) - encrypted_regex: '^(data|stringData)$' # Encrypt data and stringData by default (useful for Kubernetes secrets)
path_regex: secrets/.*\.yaml$ # Applies to all files in the secrets/ directory path_regex: secrets/.*\.yaml$ # Applies to all files in the secrets/ directory
age: age:
- "age1ykcy2r4kk729e7adqxu8s24ujc60z5eux7ma0ca4ruzydwgm5p6qmdp838" # pc-user-doloro - "age1ykcy2r4kk729e7adqxu8s24ujc60z5eux7ma0ca4ruzydwgm5p6qmdp838" # pc
- "age1e6vws55p0g23qzthm4qa93hpt6lqmck6670gkygph0sc0j7my4uq5wqjfh" # pc-system - "age1exzngtk4d9vcsmcq6ap5xx3ca9qacqjkrv86ymged7msx9z6vfyqsf5sjq" # laptop
- "age1x3lahhkefkap67cdmdjcqaxan9hp62er78akr79v9m73nvgugpeqk0y32a" # laptop-user-doloro
- "age1exzngtk4d9vcsmcq6ap5xx3ca9qacqjkrv86ymged7msx9z6vfyqsf5sjq" # laptop-system

990
flake.lock generated

File diff suppressed because it is too large Load Diff

100
flake.nix
View File

@@ -3,39 +3,23 @@
inputs = { inputs = {
# Specify the source of Home Manager and Nixpkgs. # Specify the source of Home Manager and Nixpkgs.
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
rpi-nixpkgs.url = "github:nvmd/nixpkgs/modules-with-keys-25.11";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
nix-meow.url = "git+https://git.scug.io/nikkuss/nix-meow.git?ref=paws"; # config manager, meow'd nix-meow.url = "git+https://git.scug.io/nikkuss/nix-meow.git"; # config manager, meow'd
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
rsRPC.url = "github:Doloro1978/rsRPC"; rsRPC.url = "github:Doloro1978/rsRPC";
protonhax.url = "github:linusfri/protonhax-nix";
hytale-launcher.url = "github:JPyke3/hytale-launcher-nix";
quickshell = { quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
heliumFlake = {
url = "github:vikingnope/helium-browser-nix-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
nikkuss-pkgs = { nikkuss-pkgs = {
url = "git+https://git.scug.io/nikkuss/pkgs"; url = "git+https://git.scug.io/nikkuss/pkgs";
# inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
}; };
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
inputs = {
# IMPORTANT: we're using "libgbm" and is only available in unstable so ensure
# to have it up-to-date or simply don't specify the nixpkgs input
nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager";
};
};
sops-nix = { sops-nix = {
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -64,9 +48,6 @@
url = "github:Nixos/nixpkgs?rev=8fcb6f1c4948305af52d19f887b89011ee2c080d"; url = "github:Nixos/nixpkgs?rev=8fcb6f1c4948305af52d19f887b89011ee2c080d";
}; };
font-patcher.url = "github:Doloro1978/nix-nerd-fonts-patcher"; font-patcher.url = "github:Doloro1978/nix-nerd-fonts-patcher";
nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi/develop";
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
niri-flake.url = "github:sodiboo/niri-flake";
}; };
outputs = outputs =
inputs@{ inputs@{
@@ -98,50 +79,22 @@
}; };
}); });
}) })
# ( (
# final: prev: final: prev:
# let let
# system = prev.stdenv.hostPlatform.system; system = prev.stdenv.hostPlatform.system;
# pkgs_gamescope = import inputs.nixpkgs-gamescope { pkgs_gamescope = import inputs.nixpkgs-gamescope {
# inherit system; inherit system;
# config = { config = {
# allow_unfree = true; allow_unfree = true;
# }; };
# }; };
# packageNix = "${inputs.nixpkgs-gamescope}/pkgs/by-name/ga/gamescope/package.nix"; packageNix = "${inputs.nixpkgs-gamescope}/pkgs/by-name/ga/gamescope/package.nix";
# in in
# { {
# gamescope = pkgs_gamescope.callPackage packageNix { }; gamescope = pkgs_gamescope.callPackage packageNix { };
# } }
# ) )
# (self: super: {
# intel-npu-driver = super.intel-npu-driver.overrideAttrs (oldAttrs: rec {
# installPhase = ''
# mkdir -p $out/lib/firmware
# ${oldAttrs.installPhase}
# '';
# });
# })
(final: prev: {
vesktop = prev.vesktop.overrideAttrs (old: {
preBuild = ''
cp -r ${prev.electron.dist} electron-dist
chmod -R u+w electron-dist
'';
buildPhase = ''
runHook preBuild
pnpm build
pnpm exec electron-builder \
--dir \
-c.asarUnpack="**/*.node" \
-c.electronDist="electron-dist" \
-c.electronVersion=${prev.electron.version}
runHook postBuild
'';
});
})
]; ];
utils = nix-meow.lib.setup { utils = nix-meow.lib.setup {
inherit (inputs) home-manager nixpkgs; inherit (inputs) home-manager nixpkgs;
@@ -158,7 +111,6 @@
}; };
inherit (utils) mkHost; inherit (utils) mkHost;
configurations = [ configurations = [
# Desktops
(mkHost { (mkHost {
hardware = "doloro"; hardware = "doloro";
host = "doloro"; host = "doloro";
@@ -170,20 +122,18 @@
}; };
}) })
(mkHost { (mkHost {
hardware = "doloro-laptop"; hardware = "doloro-wsl";
host = "doloro-laptop"; host = "doloro-wsl";
system = "x86_64-linux"; system = "aarch64-linux";
stateVersion = "25.11"; stateVersion = "25.05";
nixpkgsConfig = { nixpkgsConfig = {
rocmSupport = false; rocmSupport = false;
}; };
}) })
# Servers
(mkHost { (mkHost {
hardware = "rpi-5"; hardware = "doloro-laptop";
host = "rpi-5"; host = "doloro-laptop";
system = "aarch64-linux"; system = "x86_64-linux";
# nixpkgs = inputs.rpi-nixpkgs;
stateVersion = "25.11"; stateVersion = "25.11";
nixpkgsConfig = { nixpkgsConfig = {
rocmSupport = false; rocmSupport = false;

View File

@@ -0,0 +1,2 @@
{...}: {
}

View File

@@ -1,7 +1,3 @@
{ ... }: { ... }:
let
in
{ {
} }

View File

@@ -1,49 +0,0 @@
{ inputs, lib, ... }:
{
imports = [ inputs.disko.nixosModules.disko ];
disko.devices = {
disk = {
main = {
device = "/dev/disk/by-label/NIXOS_SD";
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
name = "boot";
size = "1M";
type = "EF02";
};
ESP = {
name = "ESP";
priority = 1;
size = "4G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
plainSwap = {
size = "8G";
content = {
type = "swap";
discardPolicy = "both"; # Both "once" and page discard policies
};
};
root = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
};
};
};
};
};
};
};
}

View File

@@ -1 +0,0 @@
{...}: {}

View File

@@ -1,35 +0,0 @@
{
lib,
inputs,
modulesPath,
...
}:
{
imports = [
# ./disks.nix
# (modulesPath + "/installer/sd-card/sd-image-aarch64.nix")
];
# fileSystems = {
# "/" = {
# device = "/dev/disk/by-label/NIXOS_SD";
# fsType = "ext4";
# options = [ "noatime" ];
# };
# };
boot.supportedFilesystems = lib.mkForce [
"btrfs"
"reiserfs"
"vfat"
"ext4"
"f2fs"
"xfs"
"ntfs"
"cifs"
];
nixpkgs.overlays = [
# https://github.com/NixOS/nixpkgs/issues/126755#issuecomment-869149243
(final: super: {
makeModulesClosure = x: super.makeModulesClosure (x // { allowMissing = true; });
})
];
}

View File

@@ -1,29 +1,18 @@
{ {
inputs, inputs,
config, config,
system,
pkgs, pkgs,
fetchFromGitHub, fetchFromGitHub,
... ...
}: }:
{ {
imports = [
inputs.sops-nix.homeManagerModules.sops
];
sops = {
age.keyFile = "/home/doloro/.config/sops/age/key.txt"; # must have no password!
};
modules = { modules = {
Hyprland.enable = true; Hyprland.enable = true;
quickshell.enable = true; quickshell.enable = true;
# chromium.enable = true; # chromium.enable = true;
wivrn.enable = false; wivrn.enable = false;
helium.enable = true; helium.enable = true;
sops.enable = true;
wakatime.enable = false;
# remoteBuild.use-remote-builders = true;
nixvim.enable = true; nixvim.enable = true;
zen-browser.enable = false;
kitty.enable = true; kitty.enable = true;
helix.enable = false; helix.enable = false;
stylix.enable = true; stylix.enable = true;
@@ -86,8 +75,7 @@
hello hello
vim vim
telegram-desktop telegram-desktop
# vesktop vesktop
legcord
pavucontrol pavucontrol
lazygit lazygit
btop btop
@@ -95,8 +83,8 @@
alcom alcom
gcr gcr
qbittorrent qbittorrent
intel-gpu-tools
]; ];
# sops.age.keyFile = "/home/doloro/.config/sops/age/key.txt";
# Home Manager is pretty good at managing dotfiles. The primary way to manage # Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'. # plain files is through 'home.file'.

View File

@@ -1,149 +1,33 @@
{ pkgs, lib, ... }: { ... }:
let let
batt-gpu = pkgs.writeShellScript "batt-igpu" ''
${pkgs.intel-gpu-tools}/bin/intel_gpu_frequency -e
echo "800" > /sys/class/drm/card1/gt_boost_freq_mhz
'';
ac-gpu = pkgs.writeShellScript "ac-igpu" ''
${pkgs.intel-gpu-tools}/bin/intel_gpu_frequency -d
echo "2350" > /sys/class/drm/card1/gt_boost_freq_mhz
'';
in in
{ {
services.tlp = { services.tlp = {
enable = true; enable = true;
settings = { settings = {
# Wireless power saving CPU_SCALING_GOVERNOR_ON_BAT = "laptop-battery-powersave";
WIFI_PWR_ON_BAT = "1"; CPU_SCALING_GOVERNOR_ON_AC = "performance";
PCIE_ASPM_ON_AC = "performance";
# USB autosuspend PCIE_ASPM_ON_BAT = "laptop-battery-powersave";
USB_AUTOSUSPEND = "1";
# SATA drive power management
SATA_LINKPWR_ON_BAT = "min_power";
# PCI Express Active-State Power Management (ASPM)
PCIE_ASPM_ON_BAT = "powersupersave";
RUNTIME_PM_ON_AC = "on";
RUNTIME_PM_ON_BAT = "auto";
# Disable Bluetooth on battery
# DEVICES_TO_DISABLE_ON_BAT = "bluetooth";
# Restore brightness on battery
RESTORE_BRIGHTNESS_ON_BAT = "1";
PCIE_ASPM_ON_AC = "balanced";
DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE = "bluetooth";
INTEL_GPU_MAX_FREQ_ON_AC = 0;
INTEL_GPU_MAX_FREQ_ON_BAT = 800;
INTEL_GPU_BOOST_FREQ_ON_AC = 0;
INTEL_GPU_BOOST_FREQ_ON_BAT = 800;
CPU_MAX_PERF_ON_BAT = 50;
PLATFORM_PROFILE_ON_AC = "balanced";
PLATFORM_PROFILE_ON_BAT = "quiet";
START_CHARGE_THRESH_BAT0 = 40; # 40 and below it starts to charge START_CHARGE_THRESH_BAT0 = 40; # 40 and below it starts to charge
STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging
}; };
}; };
# services.tuned.enable = true;
services.thermald.enable = true; services.thermald.enable = true;
services.upower = { services.upower = {
enable = true; enable = true;
}; };
services.auto-cpufreq.enable = true;
systemd.targets = {
"ac" = {
description = "On AC power";
unitConfig = {
StopWhenUnneeded = "yes";
};
};
"battery" = {
description = "On battery power";
unitConfig = {
StopWhenUnneeded = "yes";
};
};
};
services.udev.extraRules = ''
SUBSYSTEM=="power_supply",ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/run/current-system/systemd/bin/systemctl start battery.target"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/run/current-system/systemd/bin/systemctl start ac.target"
'';
services.auto-cpufreq.settings = {
battery = {
governor = "powersave";
turbo = "never";
};
charger = {
governor = "performance";
turbo = "auto";
};
};
boot.kernelParams = [
# "mem_sleep_default=deep"
# "i915.fastboot=1"
"pcie_aspm=force"
"ahci.mobile_lpm_policy=1"
];
services.logind.settings.Login = { services.logind.settings.Login = {
HandleLidSwitch = "suspend"; HandleLidSwitch = "hibernate";
HandleLidSwitchExternalPower = "suspend"; HandleLidSwitchExternalPower = "lock";
HandleLidSwitchDocked = "ignore"; HandleLidSwitchDocked = "ignore";
}; };
systemd.sleep.extraConfig = ''
HibernateDelaySec=30min
SuspendEstimationSec=120
'';
systemd.services.gpu-limit-on-batt = {
enable = true;
description = "Using rfkill; disable all rf devices before sleeping.";
before = [ "battery.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${batt-gpu}";
RemainAfterExit = true;
};
wantedBy = [ "battery.target" ];
partOf = [ "battery.target" ];
};
systemd.services.gpu-limit-on-ac = {
enable = true;
description = "Using rfkill; disable all rf devices before sleeping.";
before = [ "ac.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${ac-gpu}";
RemainAfterExit = true;
};
wantedBy = [ "ac.target" ];
partOf = [ "ac.target" ];
};
systemd.services.rfkill-sleep-wake = {
enable = true;
description = "Using rfkill; disable all rf devices before sleeping.";
before = [ "sleep.target" ];
serviceConfig = {
Type = "oneshot";
ExecStop = "${pkgs.utillinux}/bin/rfkill unblock all";
ExecStart = "${pkgs.utillinux}/bin/rfkill block all";
RemainAfterExit = true;
};
wantedBy = [ "sleep.target" ];
partOf = [ "sleep.target" ];
};
# one of "ignore", "poweroff", "reboot", "halt", "kexec", "suspend", "hibernate", "hybrid-sleep", "suspend-then-hibernate", "lock" # one of "ignore", "poweroff", "reboot", "halt", "kexec", "suspend", "hibernate", "hybrid-sleep", "suspend-then-hibernate", "lock"
powerManagement = { powerManagement = {
enable = true; enable = true;
# powertop.enable = true; powertop.enable = true;
}; };
} }

View File

@@ -22,17 +22,16 @@ in
fish.enable = true; fish.enable = true;
greetd.enable = true; greetd.enable = true;
stylix.enable = true; stylix.enable = true;
steam.enable = true; steam.enable = false;
Hyprland.enable = true; Hyprland.enable = true;
# remoteBuild.use-remote-builders = true;
wivrn.enable = false; wivrn.enable = false;
fonts.enable = true; fonts.enable = true;
}; };
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
# boot.kernelPackages = pkgs.linuxPackages_6_12; # Hibernate works on 6.12 but not on latest boot.kernelPackages = pkgs.linuxPackages_6_12; # Hibernate works on 6.12 but not on latest
boot.kernelPackages = pkgs.linuxPackages_latest; # Unpinned the linux version for now.. as i am not using hibernate that often
networking.hostName = "doloro-nixos-laptop"; # Define your hostname. networking.hostName = "doloro-nixos-laptop"; # Define your hostname.
security.rtkit.enable = true; security.rtkit.enable = true;
@@ -61,26 +60,14 @@ in
"doloro" "doloro"
]; ];
}; };
hardware.graphics = {
services.gnome.gnome-keyring.enable = true;
hardware = {
firmware = [ pkgs.intel-npu-driver ];
cpu.intel = {
# npu.enable = true;
};
graphics = {
enable = true; enable = true;
# https://github.com/intel/libvpl?tab=readme-ov-file#dispatcher-behavior-when-targeting-intel-gpus
extraPackages = with pkgs; [ extraPackages = with pkgs; [
vpl-gpu-rt
intel-media-driver # VA-API (iHD) userspace intel-media-driver # VA-API (iHD) userspace
intel-vaapi-driver
# vpl-gpu-rt # oneVPL (QSV) runtime # vpl-gpu-rt # oneVPL (QSV) runtime
intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe
]; ];
}; };
};
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {
@@ -103,7 +90,6 @@ in
# Enable the X11 windowing system. # Enable the X11 windowing system.
services.xserver.enable = true; services.xserver.enable = true;
# sops.age.keyFile = "/etc/ssh/ssh_host_ed25519_key";
sops = { sops = {
defaultSopsFile = builtins.toPath "${nix-meow.flakeRoot}/secrets/users.yaml"; defaultSopsFile = builtins.toPath "${nix-meow.flakeRoot}/secrets/users.yaml";
secrets = { secrets = {
@@ -123,7 +109,6 @@ in
services.libinput.enable = true; services.libinput.enable = true;
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
users.users.doloro = { users.users.doloro = {
isNormalUser = true; isNormalUser = true;
@@ -139,7 +124,6 @@ in
# initialPassword = "sex"; # initialPassword = "sex";
}; };
users.mutableUsers = false; users.mutableUsers = false;
services.system76-scheduler.enable = true;
# programs.firefox.enable = true; # programs.firefox.enable = true;
@@ -149,10 +133,6 @@ in
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
git git
wget wget
# tlp-pd
brightnessctl
nvtopPackages.intel
seahorse
]; ];
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are

123
hosts/doloro-wsl/home.nix Normal file
View File

@@ -0,0 +1,123 @@
{
inputs,
config,
pkgs,
fetchFromGitHub,
...
}:
{
imports = [
# ./modules/hyprland/home.nix
# ./modules/quickshell/home.nix
# ./modules/chromium/home.nix
#./modules/neovim/home.nix
# ./modules/stylix/home.nix
#../../modules/nixvim/home.nix
#../../modules/tmux/home.nix
#../../modules/theme/home.nix
# ./modules/spicetify/home.nix
# ./modules/obs/home.nix
# ./modules/blender/home.nix
#../../modules/fish/home.nix
# ./modules/ytm/home.nix
#../../overlays.nix
];
modules = {
nixvim.enable = true;
tmux.enable = true;
fish.enable = true;
stylix.enable = true;
direnv.enable = true;
git.enable = true;
};
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "doloro";
home.homeDirectory = "/home/doloro";
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "25.05"; # Please read the comment before changing.
services.gpg-agent = {
enable = true;
pinentry = {
package = pkgs.pinentry-qt;
program = "pinentry-qt";
};
};
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
hello
# vim
# telegram-desktop
# vesktop
# spotify
# pavucontrol
lazygit
sops
];
# sops.age.keyFile = "/home/doloro/.config/sops/age/key.txt";
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. These will be explicitly sourced when using a
# shell provided by Home Manager. If you don't want to manage your shell
# through Home Manager then you have to manually source 'hm-session-vars.sh'
# located at either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/doloro/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
EDITOR = "nvim";
};
# {{{{{ TODO Put in different file
# }}}}}
# Let Home Manager install and manage itself.
programs = {
home-manager.enable = true;
ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks = {
"*" = {
addKeysToAgent = "yes";
identityFile = [
"~/.ssh/id_github"
"~/.ssh/id_gitea_scug_io"
"~/.ssh/id_ed25519"
];
};
};
};
};
}

View File

@@ -0,0 +1,59 @@
{
inputs,
pkgs,
lib,
user,
...
}:
{
modules = {
fish.enable = true;
stylix.enable = true;
};
imports = [
inputs.nixos-wsl.nixosModules.default
];
# rocmSupport = false;
programs = {
dconf.enable = true;
ssh = {
startAgent = true;
};
};
fonts = {
enableDefaultPackages = true;
packages = with pkgs; [
nerd-fonts.jetbrains-mono
material-design-icons
material-symbols
googlesans-code
# (inputs.font-patcher.lib.patchFont {
# font = pkgs.googlesans-code;
# name = "Google Sans Code Nerd Font";
# })
nerd-fonts.caskaydia-cove
nerd-fonts.noto
noto-fonts-cjk-sans
noto-fonts-cjk-serif
];
fontDir.enable = true;
};
networking.dhcpcd.enable = lib.mkOverride 0 false;
boot.loader.grub.enable = lib.mkOverride 0 false;
wsl = {
enable = true;
defaultUser = user;
docker-desktop.enable = false;
useWindowsDriver = true;
startMenuLaunchers = true;
usbip.enable = true;
};
nix.settings = {
experimental-features = "nix-command flakes";
};
nixpkgs.config.allowUnsupportedSystem = true;
systemd.services."user-runtime-dir@" = {
overrideStrategy = "asDropin";
unitConfig.ConditionPathExists = "!/run/user/%i";
};
}

View File

@@ -6,17 +6,30 @@
... ...
}: }:
{ {
# imports = [
# ../../modules/hyprland/home.nix
# ../../modules/quickshell/home.nix
# ../../modules/chromium/home.nix
# #./modules/neovim/home.nix
# ../../modules/stylix/home.nix
# ../../modules/nixvim/home.nix
# ../../modules/tmux/home.nix
# ../../modules/theme/home.nix
# # ./modules/spicetify/home.nix
# ../../modules/obs/home.nix
# ../../modules/blender/home.nix
# ../../modules/fish/home.nix
# ../../modules/ytm/home.nix
# ../../overlays.nix
# ];
modules = { modules = {
hyfetch.enable = true;
Hyprland = { Hyprland = {
enable = true; enable = true;
suspend-on-hibernate = true; suspend-on-hibernate = true;
}; };
niri.enable = false;
quickshell.enable = true; quickshell.enable = true;
# chromium.enable = true; # chromium.enable = true;
wivrn.enable = true; wivrn.enable = true;
sops.enable = true;
helium.enable = true; helium.enable = true;
nixvim.enable = true; nixvim.enable = true;
helix.enable = false; helix.enable = false;
@@ -29,7 +42,6 @@
autostart = true; autostart = true;
}; };
blender.enable = true; blender.enable = true;
zen-browser.enable = false;
bottles.enable = true; bottles.enable = true;
fish.enable = true; fish.enable = true;
youtube-music.enable = true; youtube-music.enable = true;
@@ -91,16 +103,16 @@
vim vim
telegram-desktop telegram-desktop
vesktop vesktop
(inputs.protonhax.packages.x86_64-linux.default) # (pkgs.discord.override { withVencord = true; })
# webcord-vencord
# spotify
pavucontrol pavucontrol
lazygit lazygit
btop btop
sops sops
protontricks
alcom alcom
gcr gcr
qbittorrent qbittorrent
(inputs.hytale-launcher.packages.x86_64-linux.default)
]; ];
home.sessionVariables = { home.sessionVariables = {
EDITOR = "nvim"; EDITOR = "nvim";

View File

@@ -23,16 +23,10 @@ in
stylix.enable = true; stylix.enable = true;
steam.enable = true; steam.enable = true;
Hyprland.enable = true; Hyprland.enable = true;
niri.enable = false;
wivrn.enable = true; wivrn.enable = true;
remoteBuild.become-remote-builder = true;
fonts.enable = true; fonts.enable = true;
}; };
services.resolved.enable = true;
services.gnome.gnome-keyring.enable = true;
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.device = "nodev"; boot.loader.grub.device = "nodev";
@@ -49,14 +43,10 @@ in
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://cache.nixos.org/" "https://cache.nixos.org/"
"https://attic.scug.io/pkgs" "https://attic.scug.io/pkgs"
"https://cache.nixos-cuda.org"
"https://niri.cachix.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"pkgs:+sRbfiZMMX5R3PuAPtIRz/emowDoGZNpozibrnrAvuc=" "pkgs:+sRbfiZMMX5R3PuAPtIRz/emowDoGZNpozibrnrAvuc="
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="
]; ];
experimental-features = [ experimental-features = [
"flakes" "flakes"
@@ -93,7 +83,6 @@ in
security.rtkit.enable = true; security.rtkit.enable = true;
sops = { sops = {
# age.keyFile = "/etc/ssh/ssh_host_ed25519_key";
defaultSopsFile = builtins.toPath "${nix-meow.flakeRoot}/secrets/users.yaml"; defaultSopsFile = builtins.toPath "${nix-meow.flakeRoot}/secrets/users.yaml";
secrets = { secrets = {
root-hashed_password = { root-hashed_password = {
@@ -236,8 +225,8 @@ in
programs = { programs = {
ssh = { ssh = {
# enable = true; # enable = true;
# startAgent = true; extraConfig = "AddKeysToAgent yes";
startAgent = true;
}; };
fish.enable = true; fish.enable = true;
}; };
@@ -255,7 +244,6 @@ in
extraGroups = [ extraGroups = [
"wheel" "wheel"
"dialout" "dialout"
"networkmanager"
]; # Enable sudo for the user. ]; # Enable sudo for the user.
packages = with pkgs; [ packages = with pkgs; [
tree tree
@@ -274,7 +262,6 @@ in
wget wget
killall killall
sops sops
seahorse
]; ];
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are

View File

@@ -1,54 +0,0 @@
{
inputs,
config,
pkgs,
fetchFromGitHub,
...
}:
{
modules = {
hyfetch.enable = true;
sops.enable = true;
nixvim.enable = true;
tmux.enable = true;
# theme.enable = true;
fish.enable = true;
direnv.enable = true;
git.enable = true;
};
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "doloro";
home.homeDirectory = "/home/doloro";
# services = {
# };
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "25.11"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
hello
vim
lazygit
btop
sops
];
home.sessionVariables = {
EDITOR = "nvim";
};
xdg.configFile."mimeapps.list".force = true;
programs = {
home-manager.enable = true;
};
}

View File

@@ -1,99 +0,0 @@
{
lib,
pkgs,
inputs,
config,
...
}:
let
rpi-pi = inputs.raspberry-pi-nix;
in
{
# To build an sd-card image
# $ nix build .#nixosConfigurations.rpi-5-rpi-5-aarch64-linux.config.system.build.sdImage --json &| nom
# $ sudo dd if=./result/sd-image/nixos-sd-image-26.05.20260120.80e4adb-aarch64-linux.img of=/dev/sdc conv=fsync status=progress
imports = [
rpi-pi.nixosModules.raspberry-pi
rpi-pi.nixosModules.sd-image
./containers.nix
];
nix.settings = {
substituters = [ "https://nix-community.cachix.org" ];
trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ];
};
services.traefik = {
enable = true;
staticConfigOptions = {
entryPoints = {
web = {
address = ":80";
http.redirections.entrypoint = {
to = "websecure";
scheme = "https";
};
asDefault = true;
};
websecure = {
address = ":443";
asDefault = true;
http.tls.certResolver = "letsencrypt";
};
traefik = {
address = ":8081";
};
};
certificatesResolvers.letsencrypt.acme = {
email = "doloroo@proton.me";
storage = "${config.services.traefik.dataDir}/acme.json";
httpChallenge.entryPoint = "web";
};
api.dashboard = true;
api.insecure = true;
};
};
# TEMP
networking.firewall.enable = false;
users = {
mutableUsers = false;
users.doloro = {
isNormalUser = true;
extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE/4h+WCBBW82puv8SMdUbkWymF4amEMuZitgFztB6oZ" # laptop pub key
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBaa6Z5qtBSLEz+A4fQGYPfkOISsRQlmKkVbcx2zxML7" # pc pub key
];
initialPassword = "meowmeowmeow";
};
users.root = {
initialPassword = "rootmeow";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE/4h+WCBBW82puv8SMdUbkWymF4amEMuZitgFztB6oZ" # laptop pub key
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBaa6Z5qtBSLEz+A4fQGYPfkOISsRQlmKkVbcx2zxML7" # pc pub key
];
};
};
networking.hostName = "nixos-001-rp5";
services.openssh.enable = true;
environment.systemPackages = with pkgs; [
libraspberrypi
];
sdImage.compressImage = false;
raspberry-pi-nix.board = "bcm2712"; # Rpi 5 - 64bit
# We need to rebuild kernel for 6.12
# raspberry-pi-nix.kernel-version = "v6_12_17";
raspberry-pi-nix.uboot.enable = false;
hardware.enableRedistributableFirmware = true;
system.stateVersion = "25.11";
nixpkgs.hostPlatform = "aarch64-linux";
}

1
meow.txt Normal file
View File

@@ -0,0 +1 @@
age1e6vws55p0g23qzthm4qa93hpt6lqmck6670gkygph0sc0j7my4uq5wqjfh

View File

@@ -1,4 +0,0 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,34 +0,0 @@
{
inputs,
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.alecaframe;
in
{
# You gotta install it into prefix yourself. this just makes a desktop file
options.modules.alecaframe = {
enable = lib.mkEnableOption "";
};
config = lib.mkIf cfg.enable {
xdg.desktopEntries = {
alecaframe = {
name = "Alecaframe";
comment = "launches alecaframe";
exec = ''
protonhax run 230410 "
/home/branden/.local/share/Steam/steamapps/compatdata/230410/pfx/drive_c/users/steamuser/AppData/Roaming/Microsoft/Windows/Start
Menu/Programs/Overwolf/AlecaFrame.lnk
"
'';
# icon = "system-reboot";
terminal = false;
type = "Application";
categories = [ "System" ];
};
};
};
}

View File

@@ -1,4 +0,0 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,62 +0,0 @@
{
config,
lib,
inputs,
pkgs,
home,
system,
...
}:
# system: "base16"
# name: "Gruvbox dark, hard"
# author: "Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)"
# variant: "dark"
let
hexToInt = hex: fromTOML "value = 0x${hex}";
hexToRgb =
hex:
let
red = hexToInt (builtins.substring 1 2 hex);
green = hexToInt (builtins.substring 3 2 hex);
blue = hexToInt (builtins.substring 5 2 hex);
in
{
r = red.value;
g = green.value;
b = blue.value;
};
theme =
let
importYaml =
file:
builtins.fromJSON (
builtins.readFile (
pkgs.runCommandNoCC "converted-yaml.json" { } ''
${pkgs.yj}/bin/yj < ${file} > $out
''
)
);
# EDIT THEME HERE
themeFile = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
in
importYaml themeFile;
in
{
options.modules.base16 = {
hex = lib.mkOption {
type = lib.types.attrs;
description = ''
Hexadecimal color configuration for Gruvbox dark, hard Base16 theme.
'';
};
rgb = lib.mkOption {
type = lib.types.attrs;
description = ''
Hexadecimal color configuration for Gruvbox dark, hard Base16 theme.
'';
};
};
config.modules.base16.hex = theme.palette;
config.modules.base16.rgb = builtins.mapAttrs (_name: hex: hexToRgb hex) theme.palette;
}

View File

@@ -30,7 +30,7 @@ in
# whole blender config including addons is too fat to include here # whole blender config including addons is too fat to include here
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.packages = [ home.packages = [
blenderPkgs.blender_4_5 blender_4_5
]; ];
}; };
# nix'ing a blender config is most likely not possible # nix'ing a blender config is most likely not possible

View File

@@ -1,4 +0,0 @@
_: {
home = ./home.nix;
nixos = ./nixos.nix;
}

View File

@@ -1,39 +0,0 @@
{
config,
lib,
pkgs,
fetchFromGitHub,
...
}:
let
cfg = config.modules.remoteBuild;
in
{
options.modules.remoteBuild = {
use-remote-builders = lib.mkEnableOption "remoteBuild";
};
config = lib.mkIf cfg.use-remote-builders {
nix.package = pkgs.nix;
nix.distributedBuilds = true;
nix.settings.builders-use-substitutes = true;
# Define every build machine here..
nix.buildMachines = [
{
# Main desktop pc
# ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqsFEgtcTDw89GaZJg8P/FE1xngIXmiUZl8j0b+V7n+ root@doloroo-main
hostName = "doloroo-main";
sshUser = "remotebuild";
sshKey = "/root/.ssh/remotebuild";
# protocol = "ssh-ng";
maxJobs = 8;
speedFactor = 2;
supportedFeatures = [
"nixos-test"
"big-parallel"
"kvm"
];
}
];
};
}

View File

@@ -1,62 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.remoteBuild;
remoteBuilder = lib.mkIf cfg.become-remote-builder {
users.users.remotebuild = {
isSystemUser = true;
shell = pkgs.bashInteractive;
group = "remotebuild";
# useDefaultShell = true;
# ssh-keygen -f /root/.ssh/remotebuild
openssh.authorizedKeys.keyFiles = [ ./remotebuild.pub ];
openssh.authorizedKeys.keys = [
# Laptop-system
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE/4h+WCBBW82puv8SMdUbkWymF4amEMuZitgFztB6oZ doloroo@proton.me"
# Laptop-user-doloro
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOuNlm8vq6MvWsVU/RW4oq7npQngjIxNFpjEWbAS/8H2 root@doloro-nixos-laptop"
];
initialPassword = "remotebuilder";
};
users.groups.remotebuild = { };
nix.settings.trusted-users = [ "remotebuild" ];
};
useBulders = lib.mkIf cfg.use-remote-builders {
nix.distributedBuilds = true;
nix.settings.builders-use-substitutes = true;
# Define every build machine here..
# also define in home manager (TODO make a single file with all builders)
nix.buildMachines = [
{
# Main desktop pc
# ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqsFEgtcTDw89GaZJg8P/FE1xngIXmiUZl8j0b+V7n+ root@doloroo-main
hostName = "doloroo-main";
sshUser = "remotebuild";
sshKey = "/root/.ssh/remotebuild";
system = "x86_64-linux";
maxJobs = 8;
speedFactor = 2;
supportedFeatures = [
"nixos-test"
"big-parallel"
"kvm"
];
}
];
};
in
{
options.modules.remoteBuild = {
use-remote-builders = lib.mkEnableOption "remoteBuild";
become-remote-builder = lib.mkEnableOption "remoteBuild";
};
config = lib.attrsets.recursiveUpdate useBulders remoteBuilder;
}

View File

@@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqsFEgtcTDw89GaZJg8P/FE1xngIXmiUZl8j0b+V7n+ root@doloroo-main

View File

@@ -2,10 +2,7 @@
config, config,
lib, lib,
pkgs, pkgs,
hostname,
nix-meow,
fetchFromGitHub, fetchFromGitHub,
system,
... ...
}: }:
let let
@@ -17,7 +14,6 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.shell.enableFishIntegration = true; home.shell.enableFishIntegration = true;
home.packages = [ pkgs.nix-output-monitor ];
programs = { programs = {
fish = { fish = {
enable = true; enable = true;
@@ -27,8 +23,6 @@ in
set -g theme_display_user yes set -g theme_display_user yes
set -g fish_color_autosuggestion 6F6578 set -g fish_color_autosuggestion 6F6578
alias nik 'nix' alias nik 'nix'
alias nos 'sudo echo; sudo nixos-rebuild switch --flake .#${hostname}-${system} --log-format internal-json -v &| nom --json'
alias hms 'home-manager switch --flake .#${hostname}-${system} --log-format internal-json -v &| nom --json'
''; '';
plugins = [ plugins = [
{ {

View File

@@ -9,6 +9,7 @@
let let
cfg = config.modules.helium; cfg = config.modules.helium;
# packageNix = "${inputs.nixpkgs-gamescope}/pkgs/by-name/he/helium-browser/package.nix"; # packageNix = "${inputs.nixpkgs-gamescope}/pkgs/by-name/he/helium-browser/package.nix";
# helium = inputs.nikkuss-pkgs.callPackage packageNix { };
in in
{ {
options.modules.helium = { options.modules.helium = {
@@ -16,11 +17,14 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.packages = [ home.packages = [
inputs.heliumFlake.packages.x86_64-linux.helium inputs.nikkuss-pkgs.packages.x86_64-linux.helium-browser
]; ];
# Gives me widevine support. yay # xdg.mimeApps.defaultApplications = {
xdg.configFile."net.imput.helium/WidevineCdm/latest-component-updated-widevine-cdm" = { # "text/html" = "chromium.desktop";
text = ''{"Path":"${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm"}''; # "x-scheme-handler/http" = "chromium.desktop";
}; # "x-scheme-handler/https" = "chromium.desktop";
# "x-scheme-handler/about" = "chromium.desktop";
# "x-scheme-handler/unknown" = "chromium.desktop";
# };
}; };
} }

View File

@@ -1,4 +0,0 @@
_: {
home = ./home.nix;
# nixos = ./nixos.nix;
}

View File

@@ -1,40 +0,0 @@
{
config,
lib,
pkgs,
fetchFromGitHub,
...
}:
let
cfg = config.modules.hyfetch;
in
{
options.modules.hyfetch = {
enable = lib.mkEnableOption "hyfetch";
};
config = lib.mkIf cfg.enable {
home.packages = [ pkgs.fastfetch ];
programs.hyfetch = {
enable = true;
settings = {
"preset" = "bisexual";
"mode" = "rgb";
"auto_detect_light_dark" = true;
"light_dark" = "dark";
"lightness" = 0.5;
"color_align" = {
"mode" = "custom";
"custom_colors" = {
"1" = 1;
"2" = 0;
};
};
"backend" = "fastfetch";
"args" = null;
"distro" = null;
"pride_month_disable" = false;
"custom_ascii_path" = null;
};
};
};
}

View File

@@ -1,20 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.fish;
in
{
options.modules.fish = {
enable = lib.mkEnableOption "Fish";
};
config = lib.mkIf cfg.enable {
users.defaultUserShell = pkgs.fish;
programs.fish = {
enable = true;
};
};
}

View File

@@ -42,50 +42,8 @@ in
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
}; };
programs = { programs = {
hyprlock = {
enable = true;
};
wlogout = { wlogout = {
enable = true; enable = true;
layout = [
{
"label" = "lock";
"action" = "hyprlock";
"text" = "Lock";
"keybind" = "l";
}
{
"label" = "hibernate";
"action" = "systemctl hibernate";
"text" = "Hibernate";
"keybind" = "h";
}
{
"label" = "logout";
"action" = "uwsm stop";
"text" = "Logout";
"keybind" = "e";
}
{
# TODO add hypr shutdown
"label" = "shutdown";
"action" = "systemctl poweroff";
"text" = "Shutdown";
"keybind" = "s";
}
{
"label" = "suspend";
"action" = "systemctl suspend";
"text" = "Suspend";
"keybind" = "u";
}
{
"label" = "reboot";
"action" = "systemctl reboot";
"text" = "Reboot";
"keybind" = "r";
}
];
}; };
}; };
systemd.user.services."hyprland_suspend" = lib.mkIf cfg.suspend-on-hibernate { systemd.user.services."hyprland_suspend" = lib.mkIf cfg.suspend-on-hibernate {

View File

@@ -7,7 +7,6 @@
}: }:
let let
cfg = config.modules.Hyprland; cfg = config.modules.Hyprland;
pkgs-unstable = inputs.hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in in
{ {
options.modules.Hyprland = { options.modules.Hyprland = {
@@ -17,7 +16,6 @@ in
programs.xwayland.enable = true; programs.xwayland.enable = true;
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
withUWSM = true;
# set the flake package # set the flake package
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
# make sure to also set the portal package, so that they are in sync # make sure to also set the portal package, so that they are in sync
@@ -33,12 +31,5 @@ in
substituters = [ "https://hyprland.cachix.org" ]; substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
}; };
hardware.graphics = {
package = pkgs-unstable.mesa;
# if you also want 32-bit support (e.g for Steam)
# enable32Bit = true;
# package32 = pkgs-unstable.pkgsi686Linux.mesa;
};
}; };
} }

View File

@@ -1,41 +1,21 @@
{ inputs, pkgs, ... }: { inputs, pkgs, ... }:
let
config = pkgs.writeTextFile {
name = "config";
text = ''
width = 100%
height = 100%
border-width = 0
outline-width = 0
padding-left = 35%
padding-top = 35%
result-spacing = 25
num-results = 5
font = monospace
background-color = #000A
'';
};
script = pkgs.writeShellScript "mreow" ''
exec $(tofi-drun -c ${config})
'';
in
{ {
home.packages = [ home.packages = [
pkgs.tofi pkgs.hyprlauncher
]; ];
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
bind = [ bind = [
"$mainMod, R, exec, ${script}" "$mainMod, R, exec, hyprlauncher"
]; ];
}; };
# systemd.user.services.hyprlauncher-deamon = { systemd.user.services.hyprlauncher-deamon = {
# Install = { Install = {
# WantedBy = [ "hyprland-session.target" ]; WantedBy = [ "hyprland-session.target" ];
# }; };
# Service = { Service = {
# ExecStart = "${pkgs.writeShellScript "watch-store" '' ExecStart = "${pkgs.writeShellScript "watch-store" ''
# hyprlauncher -d hyprlauncher -d
# ''}"; ''}";
# }; };
# }; };
} }

View File

@@ -1,12 +1,4 @@
{ { inputs, pkgs, ... }:
inputs,
pkgs,
config,
...
}:
let
base16 = config.modules.base16;
in
{ {
home.packages = [ home.packages = [
pkgs.hyprcursor pkgs.hyprcursor
@@ -31,16 +23,14 @@ in
gaps_in = 1; gaps_in = 1;
gaps_out = 1; gaps_out = 1;
border_size = 1; border_size = 1;
"col.active_border" = # col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
"rgb(${toString base16.rgb."base06".r},${toString base16.rgb."base06".g},${toString base16.rgb."base06".b})"; # col.inactive_border = rgba(595959aa)
"col.inactive_border" =
"rgb(${toString base16.rgb."base03".r},${toString base16.rgb."base03".g},${toString base16.rgb."base03".b})";
resize_on_border = false; resize_on_border = false;
allow_tearing = true; allow_tearing = true;
layout = "dwindle"; layout = "dwindle";
}; };
decoration = { decoration = {
rounding = 4; rounding = 0;
rounding_power = 1; rounding_power = 1;
active_opacity = 1.0; active_opacity = 1.0;
inactive_opacity = 1.0; inactive_opacity = 1.0;
@@ -69,20 +59,19 @@ in
"global, 1, 10, default" "global, 1, 10, default"
"border, 1, 5.39, easeOutQuint" "border, 1, 5.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint" "windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 1, easeOutQuint, popin 87%" "windowsIn, 1, 1.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1, linear, popin 87%" "windowsOut, 1, 1.49, linear, popin 87%"
"windowsMove, 1, 1, easeInOutCubic" "fadeIn, 1, 1.73, almostLinear"
"fadeIn, 1, 0.5, almostLinear" "fadeOut, 1, 1.46, almostLinear"
"fadeOut, 1, 0.5, almostLinear" "fade, 1, 2.03, quick"
"fade, 1, 1, quick"
"layers, 1, 3.81, easeOutQuint" "layers, 1, 3.81, easeOutQuint"
"layersIn, 1, 4, easeOutQuint, fade" "layersIn, 1, 4, easeOutQuint, fade"
"layersOut, 1, 1.5, linear, fade" "layersOut, 1, 1.5, linear, fade"
"fadeLayersIn, 1, 1.79, almostLinear" "fadeLayersIn, 1, 1.79, almostLinear"
"fadeLayersOut, 1, 1.39, almostLinear" "fadeLayersOut, 1, 1.39, almostLinear"
"workspaces, 1, 1, almostLinear, slide" "workspaces, 1, 1.94, almostLinear, fade"
"workspacesIn, 1, 1, easeInOutCubic, slide" "workspacesIn, 1, 1.21, almostLinear, fade"
"workspacesOut, 1, 1, easeInOutCubic, slide" "workspacesOut, 1, 1.94, almostLinear, fade"
"zoomFactor, 1, 7, quick" "zoomFactor, 1, 7, quick"
]; ];
}; };
@@ -101,8 +90,9 @@ in
}; };
"$mainMod" = "SUPER"; "$mainMod" = "SUPER";
bind = [ bind = [
"$mainMod, Q, exec, foot"
"$mainMod, C, killactive" "$mainMod, C, killactive"
"$mainMod, M, exec, uwsm stop" "$mainMod, M, exit"
"$mainMod, E, exec, $fileManager" "$mainMod, E, exec, $fileManager"
"$mainMod, V, togglefloating," "$mainMod, V, togglefloating,"
"$mainMod, P, pseudo, # dwindle" "$mainMod, P, pseudo, # dwindle"
@@ -143,9 +133,9 @@ in
]; ];
windowrule = [ windowrule = [
"match:class .*, suppress_event maximize" "match:class .*, suppress_event maximize"
"match:class gamescope, workspace 5" "match:class ^(gamescope)$, workspace 5"
"match:class gamescope, fullscreen true" "match:class ^(gamescope)$, fullscreen true"
"match:class gamescope, immediate true" "match:class ^(gamescope)$, immediate true"
"match:class ^(steam)$, workspace 6 silent" "match:class ^(steam)$, workspace 6 silent"
"match:class ^(vesktop)$, workspace 8 silent" "match:class ^(vesktop)$, workspace 8 silent"
"match:class ^(org.telegram.desktop)$, workspace 8 silent" "match:class ^(org.telegram.desktop)$, workspace 8 silent"
@@ -155,7 +145,6 @@ in
]; ];
layerrule = [ layerrule = [
"match:namespace ^(notifications)$, no_screen_share true" "match:namespace ^(notifications)$, no_screen_share true"
# "match:namespace ^(quickshell)$, blur true"
]; ];
# exec-once = [ # exec-once = [
# ]; # ];

View File

@@ -1,4 +0,0 @@
_: {
nixos = ./nixos.nix;
home = ./home.nix;
}

View File

@@ -1,158 +0,0 @@
{
config,
lib,
inputs,
pkgs,
home,
system,
...
}:
let
cfg = config.modules.niri;
in
{
imports = [ inputs.niri-flake.homeModules.niri ];
options.modules.niri = {
enable = lib.mkEnableOption "niri configuration module";
};
config = lib.mkIf cfg.enable {
# nixpkgs.overlays = [ inputs.niri-flake.overlays.niri ];
gtk.enable = lib.mkForce false;
home.packages = with pkgs; [ kickoff ];
programs = {
niri = {
enable = true;
# package = pkgs.niri-unstable;
settings = {
input = {
keyboard = {
xkb = {
layout = "gb";
};
numlock = true;
};
};
outputs = {
DP-3 = {
# Philips Consumer Electronics Company PHL 272E1GZ UK02101011104
mode = {
width = 1920;
height = 1080;
refresh = 165.0;
};
focus-at-startup = true;
variable-refresh-rate = true;
};
HDMI-A-1 = {
position = {
x = -1920;
y = 0;
};
scale = 1;
};
};
binds = {
# Navigation
"Mod+Shift+WheelScrollDown" = {
hotkey-overlay.title = "Workspace Down";
cooldown-ms = 150;
action.focus-workspace-down = [ ];
};
"Mod+Shift+WheelScrollUp" = {
hotkey-overlay.title = "Workspace Up";
cooldown-ms = 150;
action.focus-workspace-up = [ ];
};
"Mod+WheelScrollUp" = {
hotkey-overlay.title = "Workspace Left";
action.focus-column-right = [ ];
};
"Mod+WheelScrollDown" = {
hotkey-overlay.title = "Workspace Right";
action.focus-column-left = [ ];
};
"Super+Tab" = {
hotkey-overlay.title = "Overview";
action.toggle-overview = [ ];
};
# --
# Utility
"Super+S" = {
action.screenshot = [ ];
};
"Super+C" = {
action.close-window = [ ];
};
"Super+L" = {
action.spawn = "wlogout";
};
# Program Spawning
"Mod+T".action.spawn = "helium";
"Mod+R".action.spawn = "kickoff";
"Mod+Q".action.spawn = "kitty";
# --
};
window-rules = [
{
matches = [ ];
geometry-corner-radius = {
bottom-left = 3.0;
bottom-right = 3.0;
top-left = 3.0;
top-right = 3.0;
};
clip-to-geometry = true;
draw-border-with-background = false;
focus-ring.width = 2;
}
];
xwayland-satellite = {
enable = true;
};
};
};
wlogout = {
enable = true;
layout = [
{
"label" = "lock";
"action" = "hyprlock";
"text" = "Lock";
"keybind" = "l";
}
{
"label" = "hibernate";
"action" = "systemctl hibernate";
"text" = "Hibernate";
"keybind" = "h";
}
{
"label" = "logout";
"action" = "loginctl terminate-user $USER";
"text" = "Logout";
"keybind" = "e";
}
{
# TODO add hypr shutdown
"label" = "shutdown";
"action" = "systemctl poweroff";
"text" = "Shutdown";
"keybind" = "s";
}
{
"label" = "suspend";
"action" = "systemctl suspend";
"text" = "Suspend";
"keybind" = "u";
}
{
"label" = "reboot";
"action" = "systemctl reboot";
"text" = "Reboot";
"keybind" = "r";
}
];
};
};
};
}

View File

@@ -1,20 +0,0 @@
{
config,
lib,
inputs,
pkgs,
home,
system,
...
}:
let
cfg = config.modules.niri;
in
{
imports = [ inputs.niri-flake.nixosModules.niri ];
options.modules.niri = {
enable = lib.mkEnableOption "niri configuration module";
};
config = lib.mkIf cfg.enable {
};
}

View File

@@ -28,7 +28,7 @@ in
config.programs.nixvim = lib.mkIf cfg.enable { config.programs.nixvim = lib.mkIf cfg.enable {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
colorschemes.gruvbox-material.enable = true; colorschemes.tokyonight.enable = true;
performance.byteCompileLua = { performance.byteCompileLua = {
enable = true; enable = true;
plugins = true; plugins = true;
@@ -37,7 +37,6 @@ in
configs = true; configs = true;
}; };
plugins = { plugins = {
todo-comments.enable = true;
lsp-status.enable = true; lsp-status.enable = true;
transparent.enable = true; transparent.enable = true;
lsp = { lsp = {
@@ -45,9 +44,6 @@ in
servers = { servers = {
qmlls = { qmlls = {
enable = true; enable = true;
config = {
cmd = "-E";
};
}; };
rust_analyzer = { rust_analyzer = {
enable = true; enable = true;
@@ -60,22 +56,9 @@ in
astro = { astro = {
enable = true; enable = true;
}; };
ts_ls = {
enable = true;
};
svelte.enable = true;
};
};
lsp-format = {
enable = true;
# lspServersToEnable = [ "qmlls" ];
};
notify = {
enable = true;
settings = {
background_color = "#00000000";
}; };
}; };
notify.enable = true;
mini-cursorword.enable = true; mini-cursorword.enable = true;
# mini-statusline.enable = true; # mini-statusline.enable = true;
lualine = { lualine = {

View File

@@ -17,7 +17,7 @@ in
}; };
config.xdg.configFile."quickshell" = lib.mkIf cfg.enable { config.xdg.configFile."quickshell" = lib.mkIf cfg.enable {
recursive = true; recursive = true;
source = config.lib.file.mkOutOfStoreSymlink /home/doloro/dotfiles/modules/quickshell/quickshell; source = config.lib.file.mkOutOfStoreSymlink "${nix-meow.flakeRoot}/modules/quickshell/quickshell";
}; };
config.systemd.user.services.quickshell = lib.mkIf cfg.enable { config.systemd.user.services.quickshell = lib.mkIf cfg.enable {
Unit = { Unit = {
@@ -28,7 +28,7 @@ in
WantedBy = [ "default.target" ]; WantedBy = [ "default.target" ];
}; };
Service = { Service = {
ExecStart = "${pkgs.quickshell}/bin/quickshell"; ExecStart = "${pkg}/bin/quickshell";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "5s"; RestartSec = "5s";
}; };

View File

@@ -1 +1 @@
/run/user/1000/quickshell/vfs/f9af1311120af20dfed5f1bc1698a66a/.qmlls.ini /run/user/1000/quickshell/vfs/cd26284dcbf5c20ad2cc36cbb6547fb4/.qmlls.ini

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#FFFFFF"><path d="M479.93-379q-56.47 0-95.94-40.01-39.47-40.02-39.47-96.47v-232.04q0-56.45 39.53-95.97Q423.59-883 480.07-883q56.47 0 95.94 39.51 39.47 39.52 39.47 95.97v232.04q0 56.45-39.53 96.47Q536.41-379 479.93-379ZM434.02-93.52v-124.76q-111.11-14.13-183.26-99.16-72.15-85.03-72.15-198.04h92.52q0 87.09 61.13 147.98 61.13 60.89 147.85 60.89 86.73 0 147.75-61.09 61.01-61.1 61.01-147.78h92.52q0 113.24-72.15 198.16-72.15 84.91-183.26 99.04v124.76h-91.96Z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M480-420q-41.92 0-70.96-29.04Q380-478.08 380-520v-240q0-41.92 29.04-70.96Q438.08-860 480-860q41.92 0 70.96 29.04Q580-801.92 580-760v240q0 41.92-29.04 70.96Q521.92-420 480-420Zm-30 290v-131.85q-99-11.31-164.5-84.92Q220-420.39 220-520h60q0 83 58.5 141.5T480-320q83 0 141.5-58.5T680-520h60q0 99.61-65.5 173.23Q609-273.16 510-261.85V-130h-60Z"/></svg>

Before

Width:  |  Height:  |  Size: 563 B

After

Width:  |  Height:  |  Size: 463 B

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#FFFFFF"><path d="m735.55-357.02-68.57-68.7q11.17-19.04 16.48-41.43 5.3-22.39 5.3-48.33h91.96q0 42.93-11.12 83.44-11.12 40.52-34.05 75.02ZM610.07-482.37 348.93-744v-31.22q7.35-44.11 43.99-75.94Q429.57-883 479.33-883q56.54 0 96.29 39.47 39.75 39.46 39.75 96.01v232.04q0 8.87-1.43 17.87-1.44 9-3.87 15.24ZM433.35-93.52v-124.7q-111.11-14.13-183.26-99.02-72.16-84.9-72.16-198.24h92.53q0 87.09 61.01 147.98 61.01 60.89 147.86 60.89 39.08 0 74.11-13.59 35.02-13.59 62.28-37.58l67 67q-31.89 29.15-71.76 47.9-39.87 18.74-85.66 24.83v124.53h-91.95Zm351.82 20.5-723.5-723.5 57.66-57.65 723 723-57.16 58.15Z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#EA3323"><path d="m710-362-58-58q14-23 21-48t7-52h80q0 44-13 83.5T710-362ZM592-482 360-714v-46q0-50 35-85t85-35q50 0 85 35t35 85v240q0 11-2.5 20t-5.5 18ZM440-120v-124q-104-14-172-92.5T200-520h80q0 83 58.5 141.5T480-320q34 0 64.5-10.5T600-360l57 57q-29 23-63.5 38.5T520-244v124h-80Zm352 64L56-792l56-56 736 736-56 56Z"/></svg>

Before

Width:  |  Height:  |  Size: 703 B

After

Width:  |  Height:  |  Size: 424 B

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#FFFFFF"><path d="M790.15-48.91 666.02-174.17q-20.24 12.24-43.19 21.57-22.96 9.34-48.2 14.71v-86.61q7.98-2.8 15.49-5.61 7.51-2.8 15.12-6.54L499.63-343.39v215.17L281.06-346.78h-166.3v-266.44h120.13l-187.61-191 58.65-58.65 743.44 754.74-59.22 59.22Zm-.3-238.87-60.72-61.85q17-29.44 25.75-62.4 8.75-32.97 8.75-68.47 0-88.43-52.56-158.65-52.57-70.22-136.44-97.35v-86.61q119.89 28.57 196.47 123.89 76.58 95.33 76.58 218.72 0 53.76-15.1 102.14t-42.73 90.58ZM669.41-409.91l-94.78-95.92v-137.95q48.76 22.13 79.9 65.79 31.15 43.66 31.15 97.99 0 19.2-4.07 36.61t-12.2 33.48ZM499.63-582.52 376.41-708.57l123.22-123.21v249.26Z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#EA3323"><path d="M792-56 671-177q-25 16-53 27.5T560-131v-82q14-5 27.5-10t25.5-12L480-368v208L280-360H120v-240h128L56-792l56-56 736 736-56 56Zm-8-232-58-58q17-31 25.5-65t8.5-70q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 53-14.5 102T784-288ZM650-422l-90-90v-130q47 22 73.5 66t26.5 96q0 15-2.5 29.5T650-422ZM480-592 376-696l104-104v208Z"/></svg>

Before

Width:  |  Height:  |  Size: 721 B

After

Width:  |  Height:  |  Size: 450 B

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#FFFFFF"><path d="M565.7-158.89v-79.61q80.43-24.13 130.71-90.85 50.29-66.72 50.29-150.15t-50.79-149.15q-50.78-65.72-130.21-92.85v-79.61q111.89 25.57 184.18 115.64 72.3 90.08 72.3 204.97t-71.8 205.47q-71.79 90.57-184.68 116.14ZM137.82-371.78v-218.44h150.31L498.7-800.78v639.56L288.13-371.78H137.82Zm427.88 44.56v-306.56q46.76 20.69 76.62 61.07 29.86 40.38 29.86 91.71 0 51.83-29.86 92.24t-76.62 61.54Z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M561.54-155.62v-62q86.54-27.53 139.42-100 52.89-72.46 52.89-163.38t-52.89-163.38q-52.88-72.47-139.42-100v-62q111.69 29.92 182 119.92 70.3 90 70.3 205.46 0 115.46-70.3 205.46-70.31 90-182 119.92ZM146.16-380v-200h148.46l171.53-171.53v543.06L294.62-380H146.16Zm415.38 46.15v-294.3q40.46 22 62.54 61.96 22.07 39.96 22.07 86.19 0 45.61-22.27 84.88-22.27 39.27-62.34 61.27Z"/></svg>

Before

Width:  |  Height:  |  Size: 507 B

After

Width:  |  Height:  |  Size: 492 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#FFFFFF"><path d="M479.93-379q-56.47 0-95.94-40.01-39.47-40.02-39.47-96.47v-232.04q0-56.45 39.53-95.97Q423.59-883 480.07-883q56.47 0 95.94 39.51 39.47 39.52 39.47 95.97v232.04q0 56.45-39.53 96.47Q536.41-379 479.93-379ZM434.02-93.52v-124.76q-111.11-14.13-183.26-99.16-72.15-85.03-72.15-198.04h92.52q0 87.09 61.13 147.98 61.13 60.89 147.85 60.89 86.73 0 147.75-61.09 61.01-61.1 61.01-147.78h92.52q0 113.24-72.15 198.16-72.15 84.91-183.26 99.04v124.76h-91.96Z"/></svg>

Before

Width:  |  Height:  |  Size: 563 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#FFFFFF"><path d="m735.55-357.02-68.57-68.7q11.17-19.04 16.48-41.43 5.3-22.39 5.3-48.33h91.96q0 42.93-11.12 83.44-11.12 40.52-34.05 75.02ZM610.07-482.37 348.93-744v-31.22q7.35-44.11 43.99-75.94Q429.57-883 479.33-883q56.54 0 96.29 39.47 39.75 39.46 39.75 96.01v232.04q0 8.87-1.43 17.87-1.44 9-3.87 15.24ZM433.35-93.52v-124.7q-111.11-14.13-183.26-99.02-72.16-84.9-72.16-198.24h92.53q0 87.09 61.01 147.98 61.01 60.89 147.86 60.89 39.08 0 74.11-13.59 35.02-13.59 62.28-37.58l67 67q-31.89 29.15-71.76 47.9-39.87 18.74-85.66 24.83v124.53h-91.95Zm351.82 20.5-723.5-723.5 57.66-57.65 723 723-57.16 58.15Z"/></svg>

Before

Width:  |  Height:  |  Size: 703 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#FFFFFF"><path d="M565.7-158.89v-79.61q80.43-24.13 130.71-90.85 50.29-66.72 50.29-150.15t-50.79-149.15q-50.78-65.72-130.21-92.85v-79.61q111.89 25.57 184.18 115.64 72.3 90.08 72.3 204.97t-71.8 205.47q-71.79 90.57-184.68 116.14ZM137.82-371.78v-218.44h150.31L498.7-800.78v639.56L288.13-371.78H137.82Zm427.88 44.56v-306.56q46.76 20.69 76.62 61.07 29.86 40.38 29.86 91.71 0 51.83-29.86 92.24t-76.62 61.54Z"/></svg>

Before

Width:  |  Height:  |  Size: 507 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#FFFFFF"><path d="M790.15-48.91 666.02-174.17q-20.24 12.24-43.19 21.57-22.96 9.34-48.2 14.71v-86.61q7.98-2.8 15.49-5.61 7.51-2.8 15.12-6.54L499.63-343.39v215.17L281.06-346.78h-166.3v-266.44h120.13l-187.61-191 58.65-58.65 743.44 754.74-59.22 59.22Zm-.3-238.87-60.72-61.85q17-29.44 25.75-62.4 8.75-32.97 8.75-68.47 0-88.43-52.56-158.65-52.57-70.22-136.44-97.35v-86.61q119.89 28.57 196.47 123.89 76.58 95.33 76.58 218.72 0 53.76-15.1 102.14t-42.73 90.58ZM669.41-409.91l-94.78-95.92v-137.95q48.76 22.13 79.9 65.79 31.15 43.66 31.15 97.99 0 19.2-4.07 36.61t-12.2 33.48ZM499.63-582.52 376.41-708.57l123.22-123.21v249.26Z"/></svg>

Before

Width:  |  Height:  |  Size: 721 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#000000"><path d="M159.28-231.87q-53.58 0-91.21-37.63-37.64-37.63-37.64-91.22v-238.8q0-53.59 37.64-91.1 37.63-37.51 91.21-37.51h530.68q53.58 0 91.09 37.51 37.52 37.51 37.52 91.1v238.8q0 53.59-37.52 91.22-37.51 37.63-91.09 37.63H159.28Zm.24-91h530.2q16.04 0 26.94-11.02 10.9-11.02 10.9-27.07v-238.32q0-16.05-10.9-26.95-10.9-10.9-26.94-10.9h-530.2q-16.04 0-27.06 10.9-11.03 10.9-11.03 26.95v238.32q0 16.05 11.03 27.07 11.02 11.02 27.06 11.02Zm699.05-53.06v-208.14h25.5q19.15 0 32.32 13.18 13.18 13.17 13.18 32.32v117.14q0 19.15-13.18 32.32-13.17 13.18-32.32 13.18h-25.5Zm-697.14 13.06v-234.26h86.22v234.26h-86.22Z"/></svg>

Before

Width:  |  Height:  |  Size: 718 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#000000"><path d="M159.28-231.87q-53.58 0-91.21-37.63-37.64-37.63-37.64-91.22v-238.8q0-53.59 37.64-91.1 37.63-37.51 91.21-37.51h530.68q53.58 0 91.09 37.51 37.52 37.51 37.52 91.1v238.8q0 53.59-37.52 91.22-37.51 37.63-91.09 37.63H159.28Zm.24-91h530.2q16.04 0 26.94-11.02 10.9-11.02 10.9-27.07v-238.32q0-16.05-10.9-26.95-10.9-10.9-26.94-10.9h-530.2q-16.04 0-27.06 10.9-11.03 10.9-11.03 26.95v238.32q0 16.05 11.03 27.07 11.02 11.02 27.06 11.02Zm699.05-53.06v-208.14h25.5q19.15 0 32.32 13.18 13.18 13.17 13.18 32.32v117.14q0 19.15-13.18 32.32-13.17 13.18-32.32 13.18h-25.5Zm-697.14 13.06v-234.26h163.83v234.26H161.43Z"/></svg>

Before

Width:  |  Height:  |  Size: 719 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#000000"><path d="M159.28-231.87q-53.58 0-91.21-37.63-37.64-37.63-37.64-91.22v-238.8q0-53.59 37.64-91.1 37.63-37.51 91.21-37.51h530.68q53.58 0 91.09 37.51 37.52 37.51 37.52 91.1v238.8q0 53.59-37.52 91.22-37.51 37.63-91.09 37.63H159.28Zm.24-91h530.2q16.04 0 26.94-11.02 10.9-11.02 10.9-27.07v-238.32q0-16.05-11.02-26.95-11.02-10.9-27.06-10.9h-530.2q-16.04 0-26.94 11.02-10.91 11.02-10.91 27.07v238.32q0 16.05 11.03 26.95 11.02 10.9 27.06 10.9Zm699.05-53.06v-208.14h25.5q19.15 0 32.32 13.18 13.18 13.17 13.18 32.32v117.14q0 19.15-13.18 32.32-13.17 13.18-32.32 13.18h-25.5Zm-697.14 13.06v-234.26h241.44v234.26H161.43Z"/></svg>

Before

Width:  |  Height:  |  Size: 721 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#000000"><path d="M159.28-231.87q-53.58 0-91.21-37.63-37.64-37.63-37.64-91.22v-238.8q0-53.59 37.64-91.1 37.63-37.51 91.21-37.51h530.68q53.58 0 91.09 37.51 37.52 37.51 37.52 91.1v238.8q0 53.59-37.52 91.22-37.51 37.63-91.09 37.63H159.28Zm.24-91h530.2q16.04 0 26.94-11.02 10.9-11.02 10.9-27.07v-238.32q0-16.05-10.9-26.95-10.9-10.9-26.94-10.9h-530.2q-16.04 0-27.06 10.9-11.03 10.9-11.03 26.95v238.32q0 16.05 11.03 27.07 11.02 11.02 27.06 11.02Zm699.05-53.06v-208.14h25.5q19.15 0 32.32 13.18 13.18 13.17 13.18 32.32v117.14q0 19.15-13.18 32.32-13.17 13.18-32.32 13.18h-25.5Zm-697.14 13.06v-234.26h321.44v234.26H161.43Z"/></svg>

Before

Width:  |  Height:  |  Size: 719 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#000000"><path d="M159.28-231.87q-53.58 0-91.21-37.63-37.64-37.63-37.64-91.22v-238.8q0-53.59 37.64-91.1 37.63-37.51 91.21-37.51h530.68q53.58 0 91.09 37.51 37.52 37.51 37.52 91.1v238.8q0 53.59-37.52 91.22-37.51 37.63-91.09 37.63H159.28Zm.24-91h530.2q16.04 0 26.94-11.02 10.9-11.02 10.9-27.07v-238.32q0-16.05-10.9-26.95-10.9-10.9-26.94-10.9h-530.2q-16.04 0-27.06 10.9-11.03 10.9-11.03 26.95v238.32q0 16.05 11.03 27.07 11.02 11.02 27.06 11.02Zm699.05-53.06v-208.14h25.5q19.15 0 32.32 13.18 13.18 13.17 13.18 32.32v117.14q0 19.15-13.18 32.32-13.17 13.18-32.32 13.18h-25.5Zm-697.14 13.06v-234.26h401.44v234.26H161.43Z"/></svg>

Before

Width:  |  Height:  |  Size: 719 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#000000"><path d="M159.28-231.87q-53.58 0-91.21-37.63-37.64-37.63-37.64-91.22v-238.8q0-53.59 37.64-91.1 37.63-37.51 91.21-37.51h530.68q53.58 0 91.09 37.51 37.52 37.51 37.52 91.1v238.8q0 53.59-37.52 91.22-37.51 37.63-91.09 37.63H159.28Zm.24-91h530.2q16.04 0 26.94-11.02 10.9-11.02 10.9-27.07v-238.32q0-16.05-10.9-26.95-10.9-10.9-26.94-10.9h-530.2q-16.04 0-27.06 10.9-11.03 10.9-11.03 26.95v238.32q0 16.05 11.03 27.07 11.02 11.02 27.06 11.02Zm699.05-53.06v-208.14h25.5q19.15 0 32.32 13.18 13.18 13.17 13.18 32.32v117.14q0 19.15-13.18 32.32-13.17 13.18-32.32 13.18h-25.5Zm-697.14 13.06v-234.26h470.68v234.26H161.43Z"/></svg>

Before

Width:  |  Height:  |  Size: 719 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#000000"><path d="M159.28-231.87q-53.58 0-91.21-37.63-37.64-37.63-37.64-91.22v-238.8q0-53.59 37.64-91.1 37.63-37.51 91.21-37.51h530.68q53.58 0 91.09 37.51 37.52 37.51 37.52 91.1v238.8q0 53.59-37.52 91.22-37.51 37.63-91.09 37.63H159.28Zm.24-91h530.2q16.04 0 26.94-11.02 10.9-11.02 10.9-27.07v-238.32q0-16.05-10.9-26.95-10.9-10.9-26.94-10.9h-530.2q-16.04 0-27.06 10.9-11.03 10.9-11.03 26.95v238.32q0 16.05 11.03 27.07 11.02 11.02 27.06 11.02Zm699.05-53.06v-208.14h25.5q19.15 0 32.32 13.18 13.18 13.17 13.18 32.32v117.14q0 19.15-13.18 32.32-13.17 13.18-32.32 13.18h-25.5Zm-697.14 13.06v-234.26h526.13v234.26H161.43Z"/></svg>

Before

Width:  |  Height:  |  Size: 719 B

View File

@@ -12,51 +12,65 @@ import "widgets/common" as Common
import "widgets/clock" as Clock import "widgets/clock" as Clock
import "widgets/workspace" as Workspace import "widgets/workspace" as Workspace
PanelWindow { // Tako kindly threatened you to sort the naming schema and to put all the svg's in an asset folder, so please do that
property var modelData
screen: modelData.values[0]
color: Qt.rgba(0, 0, 0, 0) // Fully transparent via zero alpha PanelWindow {
property var modelData
screen: modelData.values[0];
color: '#20ffffff'
anchors { anchors {
top: true top: true
left: true left: true
right: true right: true
} }
implicitHeight: 31 implicitHeight: 32
RowLayout { RowLayout {
visible: true height: 28
height: 30
anchors { anchors {
top: parent.top top: parent.top
left: parent.left left: parent.left
right: parent.right right: parent.right
// bottomMargin: 2 // bottomMargin: 2
leftMargin: 5 leftMargin: 10
rightMargin: 5 rightMargin: 10
} }
RowLayout { RowLayout { // Left
// Left
Layout.alignment: Qt.AlignLeft Layout.alignment: Qt.AlignLeft
Widgets.Workspaces {} Clock.Date {}
Clock.Clock {}
Workspace.WorkspaceWidget {}
} }
RowLayout { RowLayout { // Center
// Center // TODO: add icons of the active window per workspace in the workspace tab
Layout.alignment: Qt.AlignCenter anchors.centerIn: parent
} }
RowLayout { RowLayout { // Right
// Right
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
Widgets.Demo {} Loader {
sourceComponent: Widgets.Audio {}
}
RowLayout {
Text {
text: HyprlandWindowTracker.HyprlandWindowTracker.aaaa
}
visible: Player.activePlayer.isPlaying()
Player.PlayerWidgetV2 {
}
}
Widgets.SystemTray {
id: systemTray
}
}
}
Rectangle {
anchors {
bottom: parent.bottom
left: parent.left
right: parent.right
}
height: 1
color: "#8d8d8d"
} }
} }
// Rectangle {
// anchors {
// bottom: parent.bottom
// left: parent.left
// right: parent.right
// }
// height: 1
// color: "#8d8d8d"
// }
}

View File

@@ -4,55 +4,56 @@ import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import Quickshell.Widgets import Quickshell.Widgets
import Quickshell.Services.Pipewire import Quickshell.Services.Pipewire
import QtQuick.VectorImage
import QtQuick.Effects
import QtQuick.Shapes 1.10
import QtQuick.Effects
import "common" as Common import "common" as Common
Rectangle {
Item {
id: root id: root
property PwNode speakerNode: Pipewire.defaultAudioSink property PwNode speakerNode: Pipewire.defaultAudioSink
property PwNode microphoneNode: Pipewire.defaultAudioSource property PwNode microphoneNode: Pipewire.defaultAudioSource
PwObjectTracker { PwObjectTracker { objects: [ root.microphoneNode, root.speakerNode ] }
objects: [root.microphoneNode, root.speakerNode]
} width: row.width
implicitWidth: itemContent.width + 8 height: row.height
implicitHeight: 24
radius: 5.5 // console.log("a");
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
color: Common.Colors.colors.secondary // Define item color
// color: "#2a2a2a"
RowLayout { RowLayout {
id: itemContent id: row
anchors.centerIn: parent
// spacing: 100
Repeater {
model: [
{
on: Common.Icons.audioIcons["speaker"],
off: Common.Icons.audioIcons["speakerMuted"],
node: root.speakerNode
},
{
on: Common.Icons.audioIcons["microphone"],
off: Common.Icons.audioIcons["microphoneMuted"],
node: root.microphoneNode
},
]
Item { Item {
id: meow implicitWidth: 28
implicitWidth: 24 implicitHeight: 28
Layout.alignment: Qt.AlignHCenter Rectangle {
implicitHeight: 24 width: parent.width
Text { height: parent.height
id: textElement radius: 7
anchors.centerIn: parent // Ensure the text fills the parent item color: "black"
text: modelData.node.audio.muted ? modelData.off : modelData.on
font.pointSize: 18.25
font.weight: Font.DemiBold
color: modelData.node.audio.muted ? Common.Colors.colors.critial2 : Common.Colors.colors.primary
} }
Text {
anchors.centerIn: parent
// implicitSize: 25
font.pixelSize: 28
color: root.speakerNode.audio.muted ? "#FF474C" : "white"
font.family: "CaskaydiaCove Nerd Font Mono"
text: root.speakerNode.audio.muted ? Common.Icons.audioIcons.speakerMuted : Common.Icons.audioIcons.speaker
}
}
Item {
implicitWidth: 28
implicitHeight: 28
Rectangle {
width: parent.width
height: parent.height
radius: 7
color: "black"
}
Text {
anchors.centerIn: parent
// implicitSize: 25
font.pixelSize: 34
color: root.microphoneNode.audio.muted ? "#FF474C" : "white"
font.family: "CaskaydiaCove Nerd Font Mono"
text: root.microphoneNode.audio.muted ? Common.Icons.audioIcons.microphoneMuted : Common.Icons.audioIcons.microphone
} }
} }
} }

View File

@@ -1,86 +0,0 @@
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
import Quickshell.Widgets
import Quickshell.Services.Pipewire
import QtQuick.VectorImage
import QtQuick.Effects
import Quickshell.Services.UPower
import "common" as Common
Rectangle {
// TODO eventually fix the alignment (it isnt centered horizentally)
id: root
property int battPercent: 58
implicitWidth: itemContent.width + 8
implicitHeight: 24
visible: {
if (UPower.displayDevice.ready) {
true;
} else {
false;
}
}
radius: 5.5
Layout.alignment: Qt.AlignVCenter
color: "#2a2a2a" // Define item color
RowLayout {
id: itemContent
implicitWidth: 24
implicitHeight: 24
anchors.centerIn: parent
Text {
// anchors.centerIn: parent
text: Math.round(UPower.displayDevice.percentage * 100) + "%"
color: Common.Colors.colors.primary
font.weight: Font.DemiBold
font.pointSize: 12
}
Item {
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
implicitWidth: icon.width
implicitHeight: icon.height
Text {
id: icon
anchors.centerIn: parent
text: root.getBatteryState(UPower.displayDevice.percentage * 100, ((UPower.displayDevice.timeToFull > 0)))
color: root.getBatteryColor(UPower.displayDevice.percentage * 100)
font.weight: Font.DemiBold
font.pointSize: 24 / 1.4
}
}
}
function getBatteryState(level, isCharging) {
if (level === null || level === 0) {
// Return the battery empty icon
return isCharging ? Common.Icons.battery.charging["1"] : Common.Icons.battery["0"];
}
if (level === 100) {
// Return the battery full icon
return isCharging ? Common.Icons.battery.charging["10"] : Common.Icons.battery["10"];
}
// Calculate step as a value between 1 and 10 (divide level into 10 ranges)
let step = Math.ceil(level / 10); // Range mapping
if (step > 10)
step = 10; // Clamp to 10 if it exceeds bounds
// Return the correct icon based on state
return isCharging ? Common.Icons.battery.charging[String(step)] : Common.Icons.battery[String(step)];
}
function getBatteryColor(level) {
if (level === null || level === 0) {
// Use critical color for empty battery
return Common.Colors.colors.critial2;
}
if (level > 0 && level <= 20) {
// Use critical color for low battery
return Common.Colors.colors.critial2;
}
// Default color if no specific condition is met
return Common.Colors.colors.primary;
}
}

View File

@@ -1,41 +0,0 @@
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
import Quickshell.Widgets
import Quickshell.Services.Pipewire
import "common" as Common
import "clock" as Clock
Rectangle {
id: backgroundRect
implicitWidth: rowLayout.implicitWidth + 6 // Account for padding (2px left + 2px right)
implicitHeight: rowLayout.implicitHeight + 4 // Account for padding (2px top + 2px bottom)
color: Common.Colors.colors.background
radius: 6.5 // Background rectangle with rounded corners
// border.color: "gray"
// border.width: 1
// Inner Rectangle for padding and layout
Rectangle {
id: content
anchors.fill: parent
anchors.margins: 2 // Create 2px padding on all sides
anchors.leftMargin: 3
anchors.rightMargin: 3
color: "transparent"
RowLayout {
id: rowLayout
anchors.fill: parent
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter // Center content
spacing: 10 // Space between items
Audio {}
Battery {}
Common.VerticalSeprator {}
Clock.Date {}
Clock.Clock {}
}
}
}

View File

@@ -1,59 +0,0 @@
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
import Quickshell.Widgets
import Quickshell.Services.Pipewire
import "common" as Common
Item {
id: root
property PwNode speakerNode: Pipewire.defaultAudioSink
property PwNode microphoneNode: Pipewire.defaultAudioSource
PwObjectTracker {
objects: [root.microphoneNode, root.speakerNode]
}
width: row.width
height: row.height
// console.log("a");
RowLayout {
id: row
Item {
implicitWidth: 28
implicitHeight: 28
Rectangle {
width: parent.width
height: parent.height
radius: 7
color: "black"
}
Text {
anchors.centerIn: parent
font.pixelSize: 28
color: root.speakerNode.audio.muted ? "#B1B2B5" : "white"
font.family: "CaskaydiaCove Nerd Font Mono"
text: root.speakerNode.audio.muted ? Common.Icons.audioIcons.speakerMuted : Common.Icons.audioIcons.speaker
}
}
Item {
implicitWidth: 28
implicitHeight: 28
Rectangle {
width: parent.width
height: parent.height
radius: 7
color: "black"
}
Text {
anchors.centerIn: parent
font.pixelSize: 34
color: root.microphoneNode.audio.muted ? "#B1B2B5" : "white"
font.family: "CaskaydiaCove Nerd Font Mono"
text: root.microphoneNode.audio.muted ? Common.Icons.audioIcons.microphoneMuted : Common.Icons.audioIcons.microphone
}
}
}
}

View File

@@ -1,58 +0,0 @@
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
import Quickshell.Widgets
import Quickshell.Services.Pipewire
import QtQuick.VectorImage
import QtQuick.Effects
import "common" as Common
Rectangle {
id: root
implicitWidth: itemContent.width + 4
implicitHeight: 24
radius: 5.5
Layout.alignment: Qt.AlignVCenter
color: "#2a2a2a" // Define item color
RowLayout {
id: itemContent
Repeater {
model: [
{
on: "../../assets/bar/V2/speaker.svg",
off: "../../assets/bar/V2/speakerOff.svg",
node: root.speakerNode
},
{
on: "../../assets/bar/V2/mic.svg",
off: "../../assets/bar/V2/micOff.svg",
node: root.microphoneNode
},
]
Item {
implicitWidth: 24
implicitHeight: 24
// anchors.centerIn: parent
VectorImage {
id: svgImage
width: parent.width
height: parent.height
source: modelData.node.audio.muted ? modelData.off : modelData.on
visible: false
fillMode: Image.PreserveAspectFit // Adjusts the SVG while keeping the aspect ratio
}
MultiEffect {
source: svgImage
width: parent.width
height: parent.height
// anchors.centerIn: parent
Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
colorization: 1
brightness: 1
colorizationColor: modelData.node.audio.muted ? "#e53b3c" : "#b1b2b5"
}
}
}
}
}

View File

@@ -36,7 +36,7 @@ RowLayout {
Hyprland.dispatch('workspace ' + index_workspace.id); Hyprland.dispatch('workspace ' + index_workspace.id);
} }
for (x in index_workspace.toplevels.values) { for (x in index_workspace.toplevels.values) {
console.log(index_workspace.toplevels.values[x].title); console.log(index_workspace.toplevels.values[x].title)
} }
} }
} }

View File

@@ -1,28 +1,19 @@
import Quickshell import Quickshell
import Quickshell.Io import Quickshell.Io
import QtQuick import QtQuick
import QtQuick.Layouts
import Quickshell.Widgets
import Quickshell.Services.Pipewire
import QtQuick.VectorImage
import QtQuick.Effects
import "common" as Common
Rectangle { import "../common" as Common
Item {
id: root id: root
implicitWidth: clock.width + 4 width: text.width + 15
implicitHeight: clock.height height: text.height
radius: 5.5 Common.Container {}
color: "#2a2a2a" // Define item color
Text { Text {
id: clock
// width: parent.width - 4
height: 24
anchors.centerIn: parent anchors.centerIn: parent
verticalAlignment: Qt.AlignVCenter id: text
text: ClockData.time text: ClockData.time
font.pixelSize: 16 font.pointSize: 10.25
lineHeight: 1 color: "white"
color: "#cacaca"
} }
} }

View File

@@ -4,21 +4,16 @@ import QtQuick
import "../common" as Common import "../common" as Common
Rectangle { Item {
id: root id: root
implicitWidth: clock.width + 4 width: text.width + 15
implicitHeight: clock.height height: text.height
radius: 5.5 Common.Container {}
color: "#2a2a2a" // Define item color
Text { Text {
id: clock
// width: parent.width - 4
height: 24
anchors.centerIn: parent anchors.centerIn: parent
verticalAlignment: Qt.AlignVCenter id: text
text: ClockData.date text: ClockData.date
font.pixelSize: 16 font.pointSize: 10.25
lineHeight: 1 color: "white"
color: "#cacaca"
} }
} }

View File

@@ -1,14 +0,0 @@
import Quickshell
import QtQuick
Rectangle {
z: 1
color: "#2a2a2a"
opacity: 20
anchors {
verticalCenter: parent.verticalCenter
}
height: 24
width: parent.width
radius: 5.5
}

View File

@@ -6,22 +6,7 @@ import Quickshell.Io
Singleton { Singleton {
id: root id: root
// XX (alpha) XXXXXX (color)
// For oled screen that risk burn in, set up these colors as semi-transparent and have a rotating wallpaper (!!)
readonly property var colors: ({ readonly property var colors: ({
primary: "#59b1b2b5" // Icons & Text colors "primary": "",
,
secondary: "#BF2a2a2a" // Pill container colors
,
background: "#BF000000" // Background of containers
,
mainBackground: "#20ffffff" // Color of the main bar
,
warning: "#E9D502" // (i.e battery nearing low)
,
critial: "#e53b3c" // (i.e battery is low)
,
critial2: "#e53b3c" // (Speaker and Mic being off)
}) })
} }

View File

@@ -6,44 +6,11 @@ import Quickshell.Io
Singleton { Singleton {
id: root id: root
// readonly property var svgs: ({
// micOff: "../../../assets/bar/V2/micOff.svg",
// mic: "../../../assets/bar/V2/mic.svg",
// speaker: "../../../assets/bar/V2/speaker.svg",
// speakerOff: "../../../assets/bar/V2/speakerOff.svg"
// })
// TODO replace all these icons with svg's
readonly property var battery: ({
"0": "󰂎",
"1": "󰁺",
"2": "󰁻",
"3": "󰁼",
"4": "󰁾",
"5": "󰁾",
"6": "󰁿",
"7": "󰂀",
"8": "󰂁",
"9": "󰂂",
"10": "󰁹",
charging: ({
"1": "󰢜",
"2": "󰂆",
"3": "󰂇",
"4": "󰂈",
"5": "󰢝",
"6": "󰂉",
"7": "󰢞",
"8": "󰂊",
"9": "󰂋",
"10": "󰂅"
})
})
readonly property var audioIcons: ({ readonly property var audioIcons: ({
microphone: "󰍬", microphone: "",
microphoneMuted: "󰍭", microphoneMuted: "",
speaker: "󰕾", speaker: "󰕾",
speakerMuted: "󰖁" speakerMuted: "󰖁",
}) })
// {class}: {icon} // {class}: {icon}

View File

@@ -1,30 +0,0 @@
// ColorOverlayShader.qml
import QtQuick 2.15
Rectangle {
id: mainContent
anchors.fill: parent
color: "blue"
// Clip the rectangle to a shape
clip: true
Shape {
anchors.fill: parent
// Custom Path defined as a vector
Path {
PathSvg {
path: "M10,80 C40,10 65,10 95,80 S150,150 180,80" // Vector path
}
}
ShapePath {
strokeColor: "transparent" // No stroke, act only as the mask
fillColor: "blue"
fillGradient: Gradient {
GradientStop { position: 0.0; color: "yellow" }
GradientStop { position: 1.0; color: "orange" }
}
}
}
}

View File

@@ -1,17 +0,0 @@
import Quickshell
import QtQuick
import QtQuick.Layouts
Item {
RowLayout {
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
}
Rectangle {
z: -1
color: "black"
// anchors: parent.anchors
height: 28
width: parent.width
radius: 6.5
}
}

View File

@@ -2,16 +2,12 @@ import Quickshell
import QtQml import QtQml
import QtQuick import QtQuick
Item { Rectangle {
id: root id: a
anchors { anchors {
top: parent.top top: parent.top
bottom: parent.bottom bottom: parent.bottom
} }
Rectangle { width: 2
anchors.centerIn: root
implicitHeight: root.height - 4
width: 1
color: "#8d8d8d" color: "#8d8d8d"
} }
}

View File

@@ -1,4 +1,4 @@
// @ pragma UseQApplication //@ pragma UseQApplication
import Quickshell import Quickshell
import QtQuick import QtQuick
import "bar" as Bar import "bar" as Bar

View File

@@ -1,4 +0,0 @@
_: {
nixos = ./nixos.nix;
home = ./home.nix;
}

View File

@@ -1,30 +0,0 @@
{
config,
lib,
inputs,
pkgs,
home,
system,
nix-meow,
...
}:
let
cfg = config.modules.sops;
in
{
imports = [
inputs.sops-nix.homeManagerModules.sops
];
options.modules.sops = {
enable = lib.mkEnableOption "sops configuration module";
};
config = lib.mkIf cfg.enable {
sops = {
age.keyFile = "/home/doloro/.config/sops/age/key.txt"; # must have no password!
defaultSopsFile = "${nix-meow.flakeRoot}/secrets/users.yaml";
secrets."wakatime-scug-io-api-key" = {
};
};
};
}

View File

@@ -1,19 +0,0 @@
{
config,
lib,
inputs,
pkgs,
home,
system,
...
}:
let
cfg = config.modules.sops;
in
{
options.modules.sops = {
enable = lib.mkEnableOption "sops configuration module";
};
config = lib.mkIf cfg.enable {
};
}

View File

@@ -1,4 +0,0 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,16 +0,0 @@
{
inputs,
config,
lib,
pkgs,
fetchFromGitHub,
...
}:
let
cfg = config.modules.wakatime;
in
{
options.modules.wakatime = {
enable = lib.mkEnableOption "wakatime";
};
}

View File

@@ -17,7 +17,7 @@ in
# whole blender config including addons is too fat to include here # whole blender config including addons is too fat to include here
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.packages = with pkgs; [ home.packages = with pkgs; [
wayvr wlx-overlay-s
]; ];
}; };
# nix'ing a blender config is most likely not possible # nix'ing a blender config is most likely not possible

View File

@@ -54,7 +54,6 @@ in
publish.userServices = true; publish.userServices = true;
}; };
}; };
environment.systemPackages = [ pkgs.android-tools ]; programs.adb.enable = true;
# programs.adb.enable = true;
}; };
} }

View File

@@ -12,6 +12,6 @@ in
enable = lib.mkEnableOption "youtube music"; enable = lib.mkEnableOption "youtube music";
}; };
config.home.packages = with pkgs; [ config.home.packages = with pkgs; [
pear-desktop youtube-music
]; ];
} }

View File

@@ -1,4 +0,0 @@
_: {
home = ./home.nix;
# nixos = ./nixos.nix;
}

View File

@@ -1,81 +0,0 @@
{
config,
inputs,
lib,
system,
pkgs,
fetchFromGitHub,
...
}:
let
cfg = config.modules.zen-browser;
in
{
imports = [
# inputs.zen-browser.homeModules.beta
# inputs.zen-browser.homeModules.twilight
inputs.zen-browser.homeModules.twilight-official
];
options.modules.zen-browser = {
enable = lib.mkEnableOption "zen";
};
config = lib.mkIf cfg.enable {
programs.zen-browser = {
enable = true;
policies = {
AutofillAddressEnabled = true;
AutofillCreditCardEnabled = false;
DisableAppUpdate = true;
DisableFeedbackCommands = true;
DisableFirefoxStudies = true;
DisablePocket = true;
DisableTelemetry = true;
DontCheckDefaultBrowser = true;
NoDefaultBookmarks = true;
OfferToSaveLogins = false;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
};
};
xdg.mimeApps =
let
value =
let
zen-browser = inputs.zen-browser.packages.${system}.twilight-official; # or twilight
in
zen-browser.meta.desktopFileName;
associations = builtins.listToAttrs (
map
(name: {
inherit name value;
})
[
"application/x-extension-shtml"
"application/x-extension-xhtml"
"application/x-extension-html"
"application/x-extension-xht"
"application/x-extension-htm"
"x-scheme-handler/unknown"
"x-scheme-handler/mailto"
"x-scheme-handler/chrome"
"x-scheme-handler/about"
"x-scheme-handler/https"
"x-scheme-handler/http"
"application/xhtml+xml"
"application/json"
"text/plain"
"text/html"
]
);
in
{
associations.added = associations;
defaultApplications = associations;
};
};
}

View File

@@ -1,17 +0,0 @@
# Disabled in default
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.zen-browser;
in
{
options.modules.zen-browser = {
enable = lib.mkEnableOption "zen";
};
config = lib.mkIf cfg.enable {
};
}

BIN
nixos.qcow2 Normal file

Binary file not shown.

View File

@@ -6,6 +6,36 @@
... ...
}: }:
let let
youtube-music = (
final: prev: {
youtube-music = prev.youtube-music.overrideAttrs (old: rec {
pname = "youtube-music";
version = "3a7d3ff73";
src = prev.fetchFromGitHub {
owner = "pear-devs";
repo = "pear-desktop";
rev = "3a7d3ff73de49fcf7e7051dd1bdf450db4b222bf";
sha256 = "sha256-Q/E37HzQR2Ghxs8vV7WNCXn+DqIhpjhY3SoW3OMITTs=";
};
postPatch =
let
patch = prev.fetchurl {
url = "https://github.com/pear-devs/pear-desktop/commit/25fccc9a62044ca7006f271a6a2520724e5720e1.patch";
hash = "sha256-WAiaqsWlOXyv7FRlvM0LUY17dwCI8BQsQdO1M4zYg7k=";
};
in
''
${prev.git}/bin/git apply -R -p1 < ${patch}
'';
pnpmDeps = prev.pnpm.fetchDeps {
inherit pname version src;
fetcherVersion = 2;
hash = "sha256-9arC2c92U2tILFCBIRcGo9iNaPbNefDDfR9lGaSS88E=";
};
});
}
);
pkgs_gamescope = import inputs.nixpkgs-gamescope { pkgs_gamescope = import inputs.nixpkgs-gamescope {
inherit system; inherit system;
config = { config = {

View File

@@ -1 +0,0 @@
paws

25
result/bin/helium Executable file
View File

@@ -0,0 +1,25 @@
#! /nix/store/cl2gkgnh26mmpka81pc2g5bzjfrili92-bash-5.3p3/bin/bash -e
if [ -x "/run/wrappers/bin/__chromium-suid-sandbox" ]
then
export CHROME_DEVEL_SANDBOX="/run/wrappers/bin/__chromium-suid-sandbox"
else
export CHROME_DEVEL_SANDBOX="/nix/store/wb5fr6ximbq19vbfgr5dw7miqnkqj6h4-helium-browser-0.5.7-141.0.7390.107-sandbox/bin/__chromium-suid-sandbox"
fi
# Make generated desktop shortcuts have a valid executable name.
export CHROME_WRAPPER='helium'
# To avoid loading .so files from cwd, LD_LIBRARY_PATH here must not
# contain an empty section before or after a colon.
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH${LD_LIBRARY_PATH:+:}/nix/store/lm4anvzaxv13aw24cb9cxpwkyrq9d97v-libva-2.22.0/lib:/nix/store/plx9hmh9gbd8s7nbiaijz49501br2vvf-pipewire-1.4.8/lib:/nix/store/7gr1mq9q40xcxirsawn34kzxj8kmgcl6-wayland-1.24.0/lib:/nix/store/m9disdwacfbmfpl9x6v7h7011rbahz7f-gtk+3-3.24.49/lib:/nix/store/2329310vfm5ivldbrnwp317ijcmzbfzi-gtk4-4.18.6/lib:/nix/store/xn5g4ncd73szqypzzmd98dk8xlzncwk4-krb5-1.22.1-lib/lib"
# libredirect causes chromium to deadlock on startup
export LD_PRELOAD="$(echo -n "$LD_PRELOAD" | /nix/store/00bc157nm93q5fjz551fwk60ihlbilvj-coreutils-9.7/bin/tr ':' '\n' | /nix/store/6q57mnfak3q8ss656qgp245qzqvnniyr-gnugrep-3.12/bin/grep -v /lib/libredirect\\.so$ | /nix/store/00bc157nm93q5fjz551fwk60ihlbilvj-coreutils-9.7/bin/tr '\n' ':')"
export XDG_DATA_DIRS=/nix/store/fgyxm1lpvpd13asgmviypbi4sl6a73w2-cups-2.4.14/share:/nix/store/m9disdwacfbmfpl9x6v7h7011rbahz7f-gtk+3-3.24.49/share:/nix/store/2329310vfm5ivldbrnwp317ijcmzbfzi-gtk4-4.18.6/share:/nix/store/f0ih1z5iajsax2rmryck7a6j2ys1k37k-adwaita-icon-theme-48.0/share:/nix/store/gffh39nwyysqncknijxn7hpyasrqszax-hicolor-icon-theme-0.18/share:/nix/store/d177qdbszw6wlmd1yahgk1mbafxbyqmm-gsettings-desktop-schemas-48.0/share/gsettings-schemas/gsettings-desktop-schemas-48.0:/nix/store/m9disdwacfbmfpl9x6v7h7011rbahz7f-gtk+3-3.24.49/share/gsettings-schemas/gtk+3-3.24.49:/nix/store/2329310vfm5ivldbrnwp317ijcmzbfzi-gtk4-4.18.6/share/gsettings-schemas/gtk4-4.18.6${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
# Mainly for xdg-open but also other xdg-* tools (this is only a fallback; $PATH is suffixed so that other implementations can be used):
export PATH="$PATH${PATH:+:}/nix/store/4y6rpi6hsmnm120xbp3f5xmwa0vgqcqp-xdg-utils-1.2.1/bin"
exec "/nix/store/swqp1gsx4nyvxxalgkpgzh6z7yryd0np-helium-browser-unwrapped-0.5.7-141.0.7390.107/libexec/helium/helium" ${NIXOS_OZONE_WL:+${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}} "$@"

25
result/bin/helium-browser Executable file
View File

@@ -0,0 +1,25 @@
#! /nix/store/cl2gkgnh26mmpka81pc2g5bzjfrili92-bash-5.3p3/bin/bash -e
if [ -x "/run/wrappers/bin/__chromium-suid-sandbox" ]
then
export CHROME_DEVEL_SANDBOX="/run/wrappers/bin/__chromium-suid-sandbox"
else
export CHROME_DEVEL_SANDBOX="/nix/store/wb5fr6ximbq19vbfgr5dw7miqnkqj6h4-helium-browser-0.5.7-141.0.7390.107-sandbox/bin/__chromium-suid-sandbox"
fi
# Make generated desktop shortcuts have a valid executable name.
export CHROME_WRAPPER='helium'
# To avoid loading .so files from cwd, LD_LIBRARY_PATH here must not
# contain an empty section before or after a colon.
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH${LD_LIBRARY_PATH:+:}/nix/store/lm4anvzaxv13aw24cb9cxpwkyrq9d97v-libva-2.22.0/lib:/nix/store/plx9hmh9gbd8s7nbiaijz49501br2vvf-pipewire-1.4.8/lib:/nix/store/7gr1mq9q40xcxirsawn34kzxj8kmgcl6-wayland-1.24.0/lib:/nix/store/m9disdwacfbmfpl9x6v7h7011rbahz7f-gtk+3-3.24.49/lib:/nix/store/2329310vfm5ivldbrnwp317ijcmzbfzi-gtk4-4.18.6/lib:/nix/store/xn5g4ncd73szqypzzmd98dk8xlzncwk4-krb5-1.22.1-lib/lib"
# libredirect causes chromium to deadlock on startup
export LD_PRELOAD="$(echo -n "$LD_PRELOAD" | /nix/store/00bc157nm93q5fjz551fwk60ihlbilvj-coreutils-9.7/bin/tr ':' '\n' | /nix/store/6q57mnfak3q8ss656qgp245qzqvnniyr-gnugrep-3.12/bin/grep -v /lib/libredirect\\.so$ | /nix/store/00bc157nm93q5fjz551fwk60ihlbilvj-coreutils-9.7/bin/tr '\n' ':')"
export XDG_DATA_DIRS=/nix/store/fgyxm1lpvpd13asgmviypbi4sl6a73w2-cups-2.4.14/share:/nix/store/m9disdwacfbmfpl9x6v7h7011rbahz7f-gtk+3-3.24.49/share:/nix/store/2329310vfm5ivldbrnwp317ijcmzbfzi-gtk4-4.18.6/share:/nix/store/f0ih1z5iajsax2rmryck7a6j2ys1k37k-adwaita-icon-theme-48.0/share:/nix/store/gffh39nwyysqncknijxn7hpyasrqszax-hicolor-icon-theme-0.18/share:/nix/store/d177qdbszw6wlmd1yahgk1mbafxbyqmm-gsettings-desktop-schemas-48.0/share/gsettings-schemas/gsettings-desktop-schemas-48.0:/nix/store/m9disdwacfbmfpl9x6v7h7011rbahz7f-gtk+3-3.24.49/share/gsettings-schemas/gtk+3-3.24.49:/nix/store/2329310vfm5ivldbrnwp317ijcmzbfzi-gtk4-4.18.6/share/gsettings-schemas/gtk4-4.18.6${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
# Mainly for xdg-open but also other xdg-* tools (this is only a fallback; $PATH is suffixed so that other implementations can be used):
export PATH="$PATH${PATH:+:}/nix/store/4y6rpi6hsmnm120xbp3f5xmwa0vgqcqp-xdg-utils-1.2.1/bin"
exec "/nix/store/swqp1gsx4nyvxxalgkpgzh6z7yryd0np-helium-browser-unwrapped-0.5.7-141.0.7390.107/libexec/helium/helium" ${NIXOS_OZONE_WL:+${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}} "$@"

View File

@@ -0,0 +1,222 @@
[Desktop Entry]
StartupWMClass=helium-browser
Version=1.0
Name=Helium
# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
GenericName=Web Browser
GenericName[ar]=متصفح الشبكة
GenericName[bg]=Уеб браузър
GenericName[ca]=Navegador web
GenericName[cs]=WWW prohlížeč
GenericName[da]=Browser
GenericName[de]=Web-Browser
GenericName[el]=Περιηγητής ιστού
GenericName[en_GB]=Web Browser
GenericName[es]=Navegador web
GenericName[et]=Veebibrauser
GenericName[fi]=WWW-selain
GenericName[fr]=Navigateur Web
GenericName[gu]=વેબ બ્રાઉઝર
GenericName[he]=דפדפן אינטרנט
GenericName[hi]=वेब ब्राउज़र
GenericName[hu]=Webböngésző
GenericName[it]=Browser Web
GenericName[ja]=ウェブブラウザ
GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
GenericName[ko]=웹 브라우저
GenericName[lt]=Žiniatinklio naršyklė
GenericName[lv]=Tīmekļa pārlūks
GenericName[ml]=വെബ് ബ്രൌസര്‍
GenericName[mr]=वेब ब्राऊजर
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador da Internet
GenericName[ro]=Navigator de Internet
GenericName[ru]=Веб-браузер
GenericName[sl]=Spletni brskalnik
GenericName[sv]=Webbläsare
GenericName[ta]=இணைய உலாவி
GenericName[th]=เว็บเบราว์เซอร์
GenericName[tr]=Web Tarayıcı
GenericName[uk]=Навігатор Тенет
GenericName[zh_CN]=网页浏览器
GenericName[zh_HK]=網頁瀏覽器
GenericName[zh_TW]=網頁瀏覽器
# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1.
GenericName[bn]=ওয়েব ব্রাউজার
GenericName[fil]=Web Browser
GenericName[hr]=Web preglednik
GenericName[id]=Browser Web
GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
GenericName[sk]=WWW prehliadač
GenericName[sr]=Интернет прегледник
GenericName[te]=మహాతల అన్వేషి
GenericName[vi]=Bộ duyệt Web
# Gnome and KDE 3 uses Comment.
Comment=Access the Internet
Comment[ar]=الدخول إلى الإنترنت
Comment[bg]=Достъп до интернет
Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
Comment[ca]=Accedeix a Internet
Comment[cs]=Přístup k internetu
Comment[da]=Få adgang til internettet
Comment[de]=Internetzugriff
Comment[el]=Πρόσβαση στο Διαδίκτυο
Comment[en_GB]=Access the Internet
Comment[es]=Accede a Internet.
Comment[et]=Pääs Internetti
Comment[fi]=Käytä internetiä
Comment[fil]=I-access ang Internet
Comment[fr]=Accéder à Internet
Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
Comment[he]=גישה אל האינטרנט
Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
Comment[hr]=Pristup Internetu
Comment[hu]=Internetelérés
Comment[id]=Akses Internet
Comment[it]=Accesso a Internet
Comment[ja]=インターネットにアクセス
Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
Comment[ko]=인터넷 연결
Comment[lt]=Interneto prieiga
Comment[lv]=Piekļūt internetam
Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക
Comment[mr]=इंटरनेटमध्ये प्रवेश करा
Comment[nb]=Gå til Internett
Comment[nl]=Verbinding maken met internet
Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
Comment[pl]=Skorzystaj z internetu
Comment[pt]=Aceder à Internet
Comment[pt_BR]=Acessar a internet
Comment[ro]=Accesaţi Internetul
Comment[ru]=Доступ в Интернет
Comment[sk]=Prístup do siete Internet
Comment[sl]=Dostop do interneta
Comment[sr]=Приступите Интернету
Comment[sv]=Gå ut på Internet
Comment[ta]=இணையத்தை அணுகுதல்
Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి
Comment[th]=เข้าถึงอินเทอร์เน็ต
Comment[tr]=İnternet'e erişin
Comment[uk]=Доступ до Інтернету
Comment[vi]=Truy cập Internet
Comment[zh_CN]=访问互联网
Comment[zh_HK]=連線到網際網路
Comment[zh_TW]=連線到網際網路
Exec=helium %U
StartupNotify=true
Terminal=false
Icon=helium
Type=Application
Categories=Network;WebBrowser;
MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/webcal;x-scheme-handler/mailto;x-scheme-handler/about;x-scheme-handler/unknown
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=New Window
Name[am]=አዲስ መስኮት
Name[ar]=نافذة جديدة
Name[bg]=Нов прозорец
Name[bn]=নতুন উইন্ডো
Name[ca]=Finestra nova
Name[cs]=Nové okno
Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[el]=Νέο Παράθυρο
Name[en_GB]=New Window
Name[es]=Nueva ventana
Name[et]=Uus aken
Name[fa]=پنجره جدید
Name[fi]=Uusi ikkuna
Name[fil]=New Window
Name[fr]=Nouvelle fenêtre
Name[gu]=નવી વિંડો
Name[hi]=नई विंडो
Name[hr]=Novi prozor
Name[hu]=Új ablak
Name[id]=Jendela Baru
Name[it]=Nuova finestra
Name[iw]=חלון חדש
Name[ja]=新規ウインドウ
Name[kn]=ಹೊಸ ವಿಂಡೊ
Name[ko]=새 창
Name[lt]=Naujas langas
Name[lv]=Jauns logs
Name[ml]=പുതിയ വിന്‍ഡോ
Name[mr]=नवीन विंडो
Name[nl]=Nieuw venster
Name[no]=Nytt vindu
Name[pl]=Nowe okno
Name[pt]=Nova janela
Name[pt_BR]=Nova janela
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sk]=Nové okno
Name[sl]=Novo okno
Name[sr]=Нови прозор
Name[sv]=Nytt fönster
Name[sw]=Dirisha Jipya
Name[ta]=புதிய சாளரம்
Name[te]=క్రొత్త విండో
Name[th]=หน้าต่างใหม่
Name[tr]=Yeni Pencere
Name[uk]=Нове вікно
Name[vi]=Cửa sổ Mới
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗
Exec=helium
[Desktop Action new-private-window]
Name=New Incognito Window
Name[ar]=نافذة جديدة للتصفح المتخفي
Name[bg]=Нов прозорец „инкогнито“
Name[bn]=নতুন ছদ্মবেশী উইন্ডো
Name[ca]=Finestra d'incògnit nova
Name[cs]=Nové anonymní okno
Name[da]=Nyt inkognitovindue
Name[de]=Neues Inkognito-Fenster
Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση
Name[en_GB]=New Incognito window
Name[es]=Nueva ventana de incógnito
Name[et]=Uus inkognito aken
Name[fa]=پنجره جدید حالت ناشناس
Name[fi]=Uusi incognito-ikkuna
Name[fil]=Bagong Incognito window
Name[fr]=Nouvelle fenêtre de navigation privée
Name[gu]=નવી છુપી વિંડો
Name[hi]=नई गुप्त विंडो
Name[hr]=Novi anoniman prozor
Name[hu]=Új Inkognitóablak
Name[id]=Jendela Penyamaran baru
Name[it]=Nuova finestra di navigazione in incognito
Name[iw]=חלון חדש לגלישה בסתר
Name[ja]=新しいシークレット ウィンドウ
Name[kn]=ಹೊಸ ಅಜ್ಞಾತ ವಿಂಡೋ
Name[ko]=새 시크릿 창
Name[lt]=Naujas inkognito langas
Name[lv]=Jauns inkognito režīma logs
Name[ml]=പുതിയ വേഷ പ്രച്ഛന്ന വിന്‍ഡോ
Name[mr]=नवीन गुप्त विंडो
Name[nl]=Nieuw incognitovenster
Name[no]=Nytt inkognitovindu
Name[pl]=Nowe okno incognito
Name[pt]=Nova janela de navegação anónima
Name[pt_BR]=Nova janela anônima
Name[ro]=Fereastră nouă incognito
Name[ru]=Новое окно в режиме инкогнито
Name[sk]=Nové okno inkognito
Name[sl]=Novo okno brez beleženja zgodovine
Name[sr]=Нови прозор за прегледање без архивирања
Name[sv]=Nytt inkognitofönster
Name[ta]=புதிய மறைநிலைச் சாளரம்
Name[te]=క్రొత్త అజ్ఞాత విండో
Name[th]=หน้าต่างใหม่ที่ไม่ระบุตัวตน
Name[tr]=Yeni Gizli pencere
Name[uk]=Нове вікно в режимі анонімного перегляду
Name[vi]=Cửa sổ ẩn danh mới
Name[zh_CN]=新建隐身窗口
Name[zh_TW]=新增無痕式視窗
Exec=helium --incognito

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

View File

@@ -1,46 +1,27 @@
doloro-hashed_password: ENC[AES256_GCM,data:RYB/bSNTz1TeGucdFHrxxhOqvqQYvQS3lm44I1Lf3LIEVMXL5s41zxIw0S+JVdlq8I3oHDY4C3o5V4lu+8qAWMyIZYp/6Xp4cw==,iv:yOuKk95skNZ5z805vtoJwvyOdsh08BuyBSgXN+M4Ybo=,tag:QAFhUYuqHT6Spw/l4feY4g==,type:str] doloro-hashed_password: ENC[AES256_GCM,data:RYB/bSNTz1TeGucdFHrxxhOqvqQYvQS3lm44I1Lf3LIEVMXL5s41zxIw0S+JVdlq8I3oHDY4C3o5V4lu+8qAWMyIZYp/6Xp4cw==,iv:yOuKk95skNZ5z805vtoJwvyOdsh08BuyBSgXN+M4Ybo=,tag:QAFhUYuqHT6Spw/l4feY4g==,type:str]
root-hashed_password: ENC[AES256_GCM,data:vzVtz1Ht4XD+omdKjU/Zvoaftq8jKE4kxOjAGZTvoYI07hjItR2TSsYrLw0lwsxyJosfoyF3bVsZSFCuuN7njdchGMSSujZJhg==,iv:0av3n4fcGOHYQB4zidt/qn+blBSiDQ29LN15sVufLLs=,tag:nKKVDbCGxB7wDrMPAyJOaw==,type:str] root-hashed_password: ENC[AES256_GCM,data:vzVtz1Ht4XD+omdKjU/Zvoaftq8jKE4kxOjAGZTvoYI07hjItR2TSsYrLw0lwsxyJosfoyF3bVsZSFCuuN7njdchGMSSujZJhg==,iv:0av3n4fcGOHYQB4zidt/qn+blBSiDQ29LN15sVufLLs=,tag:nKKVDbCGxB7wDrMPAyJOaw==,type:str]
wakatime-scug-io-api-key: ENC[AES256_GCM,data:XQUccNW4210U8ZpHSGVcsdbAirzyTvmcy4y6emk7n4N6MO/W,iv:9/f9ceLshA7l8hJB+IDIPvEwYwSkFlPOLmpvtYXLTpU=,tag:x7hESZCouzYVNef2C+iCSA==,type:str]
meow: ENC[AES256_GCM,data:JVzenw==,iv:oCOo9//r5s2K4pSeH5UNEj0LL+9h2yq0G0DPOfwjmyQ=,tag:0gu9FNOrjQ8fpB+B+RbGSg==,type:str] meow: ENC[AES256_GCM,data:JVzenw==,iv:oCOo9//r5s2K4pSeH5UNEj0LL+9h2yq0G0DPOfwjmyQ=,tag:0gu9FNOrjQ8fpB+B+RbGSg==,type:str]
sops: sops:
age: age:
- recipient: age1ykcy2r4kk729e7adqxu8s24ujc60z5eux7ma0ca4ruzydwgm5p6qmdp838 - recipient: age1ykcy2r4kk729e7adqxu8s24ujc60z5eux7ma0ca4ruzydwgm5p6qmdp838
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIYVcvRFNGOUwyTllMSWtX YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBWlVIU0pRSGZuRGlOeTdU
WGdEeWVBa0U5MXROTXEwSzVJZms5MWZmM1RzCk9ra1FmT2tlbkp4ZW5tYW90SEhK dnd1T1RrUTFOYUNVMWUwc25mdU1CZzc4d0hrCkFObERLdlR4QWovV1p3dDR5RHVt
Y25TNmFrMEg4TzJIT0wwaGRQMlYrZXMKLS0tIEpKaEMvdHB6aVBodmN1OERXZ2da RW5YRnJZakhLY05BUjUrOG53TTZKT2sKLS0tIFZlWmVSVzJtS1JRa0hncUV4elRq
SUh3TjIreHJBL0VEUXJkOGpseVphYlkKnhM3XxcBXG4Y+OedQzcngNACsFoASPTp Z1k5VHE1ZlVxVDN1YlJDMG50elNNdzAK+SfOCYdEEqLJFuXCxkbQ2QGmwAGgAMMD
Ik5COr5AVsinTS+uOpNDKIY+y0mwkZq50NSIBMy0drhDjd3i+h5dmA== xA8dLWq2Ur0/CzUaW4Y8uN83uh/o04sJuR+0N+kYzPZabDCxiy3ibQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age1e6vws55p0g23qzthm4qa93hpt6lqmck6670gkygph0sc0j7my4uq5wqjfh
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwWmZGZWUwZUk5UEk2Ujgz
S0RHd0VSUWNEbWtoTlRkOWphS0IzeE8vT0FFCjlxaFVESGdpeVFCUlRCaGo0U0pZ
Y1NFQXRNVm52SXgxMGtkc2NVTTRzMGcKLS0tIER5bHZLV0lsczh6dXdJQWpjakpX
Zms5MnphZ09UZWVNdFcrREx5U1Y0UGMKE9KkY+8lbZ7to2aGhsJ4iSmboyfekOJi
giQ1GWdOs/MJAPN/xgcHzfNj7hzEUJxgj5z0kd0q2GzZCOvGfO16NA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1x3lahhkefkap67cdmdjcqaxan9hp62er78akr79v9m73nvgugpeqk0y32a
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3cnhuNDh3SEFxZUpXTHdv
RWRHNVFTcm1xbjdiN3FRRjFVR2JPRkdCcXd3Cm51VHptYXVlYnQzY0pJSGt1anZn
QTZ3YTgwSFJUUUxsMEYrdk9RRUFyN0UKLS0tIFJKNDNKY0lnQVdlM1gycm1sRkJ2
cHJTV1FZbDZ0M3NpS2w1YW01ZGhIWDAKef6765U4ew5QPmbHhDuufAjq0bS/qhJh
9N7g+a4vqTvv5TaOYQ98JBgfVclOZYIx9WO6xPJnb495gPyhWxEjuQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
- recipient: age1exzngtk4d9vcsmcq6ap5xx3ca9qacqjkrv86ymged7msx9z6vfyqsf5sjq - recipient: age1exzngtk4d9vcsmcq6ap5xx3ca9qacqjkrv86ymged7msx9z6vfyqsf5sjq
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBheUI4VzZUN3NSTGc3U1kv YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1MlF2Y3VSKzJIa3pCQUM5
YzJqRk1mNjBUVTdFNzRNTTZQSmcvUW5zcnowCjI4WlRoL2pPeDZWRy9TaEZUQ1po bWhsN2dON0RHaU9DcnYycFBWQlZXMEJOdVRRCjA2MDhMWS9tS0hoV0s5L1BEaEtH
YUl1emFGL29qYW9iZXExUVBZai9GN2sKLS0tIEZ1ZEM2N05zYzU4OFdUVUtDaHRu Wis0SXBHWWFnTDM1b1V3ZHdhVTVvSFUKLS0tIFc0OVZtOWxscW5wdGlya3Z2WGU0
a3Y2V1I5TjFnVUNiWEZlZkVMekFZelEKXZc7W3mZcj/rypQ+Wm2Iqvd/4Ry/n507 bVJ1ZWNTSkIvcGM0V1hrY3YrbDdLNkUKmKoEuTGE9OtkpHIR8xBl7JxIgnhu4LE1
FcYa+F2LT32D43AoaPZxEHIyJCYUeGpD7Z9rcI822u4pOpCvuoKiRg== FQvk9axOtaE/WrwR8oKOtg+1c1a8uidXEK9IerNby7NGVQUE/KsFJA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-12-28T17:02:38Z" lastmodified: "2025-12-23T21:31:15Z"
mac: ENC[AES256_GCM,data:uWBbdr10CpCUsn6TcaqewwqnXlICizTGW+arCLZz5S0b+Nc8iznq98Ev/G4M9mg4f79JRSwXnL6KgtVyf0Hd5LJuEhmViv2wTNfOTBffN3AV/Bvz2qCuwhD14GzPGUH3oYijfx+EB1LaGLniE2rx85h+q1hasRUlUY8UE/ndzus=,iv:rIM5T3PkzTsJYRjvWWbJyEcKu3evRcYJhVNeGCtOlms=,tag:pCYvDaI0qLIvJJzwT08nwQ==,type:str] mac: ENC[AES256_GCM,data:iNr37OmqniV2cmyDZSrP+N6Ni7lxFeFkwOM1CknVZ9Bl8nW7UE8dmKOzzK/Lt9YZi6KPzld1RnOqZIKWXY8dpr+XAStUQsxQOOQbeuZqTchJgCYIdRAViDJeFtIY3m4Vubtk7PllFwVk6b6Fb6hZT1Clj15gW1EZLDols9nIdX0=,iv:GEFc+7PR3cEe5OPAq5TF//cZp7IJ0E9lOuiAYA02QnQ=,tag:ORo1UxBzm5s87r0mM8qJ4g==,type:str]
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.11.0 version: 3.11.0