Przystosowywanie pod siebie.
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
# 📜 License
|
# 📜 License
|
||||||
|
|
||||||
### ZaneyOS is licensed under the MIT License.
|
### GarandOS is licensed under the MIT License.
|
||||||
|
|
||||||
## MIT License
|
## MIT License
|
||||||
|
|
||||||
**Copyright (c) 2025 Tyler Kelley**
|
**Copyright (c) 2025 Garand_PLG**
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the <strong> "Software" </strong>), to deal
|
of this software and associated documentation files (the <strong> "Software" </strong>), to deal
|
||||||
|
|||||||
219
README.md
Normal file
219
README.md
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
# **GarandOS**
|
||||||
|
Disclaimer: This configuration is a fork of [ZaneyOS](https://gitlab.com/Zaney/zaneyos), a wonderful configuration I had the pleasure of ~~stealing~~ forking almost a year ago for my laptop (version 2.2). Now that I've installed NIxOS on my main computer, I've installed the latest version (2.4), connected my repository, and am customizing it to suit my needs. My configuration won't be synchronized with the main project, as it serves as the foundation upon which I'm building my custom system. The original has been stripped of many unnecessary features, so I highly recommend checking out the original project and, like me, adapting it to your needs. If you like my configuration, fork it too and manage it yourself, as the project won't accept external pull requests.
|
||||||
|
|
||||||
|
# NixOS Installation with LUKS
|
||||||
|
|
||||||
|
## Partition Preparation
|
||||||
|
|
||||||
|
### 1. Disk identification and cleaning:
|
||||||
|
```bash
|
||||||
|
# Check available disks
|
||||||
|
lsblk
|
||||||
|
|
||||||
|
# Clean disk (replace nvme0n1 with your disk)
|
||||||
|
sudo sgdisk --zap-all /dev/nvme0n1
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Creating partitions:
|
||||||
|
```bash
|
||||||
|
# Create EFI partition (512MB)
|
||||||
|
sudo sgdisk -n 1:0:+512M -t 1:ef00 -c 1:"EFI System" /dev/nvme0n1
|
||||||
|
|
||||||
|
# Create partition for LUKS (rest of disk)
|
||||||
|
sudo sgdisk -n 2:0:0 -t 2:8e00 -c 2:"Linux LVM" /dev/nvme0n1
|
||||||
|
|
||||||
|
# Check result
|
||||||
|
sudo sgdisk -p /dev/nvme0n1
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Formatting EFI partition:
|
||||||
|
```bash
|
||||||
|
sudo mkfs.fat -F32 /dev/nvme0n1p1
|
||||||
|
```
|
||||||
|
|
||||||
|
## Encryption and LVM
|
||||||
|
|
||||||
|
### 4. LUKS configuration:
|
||||||
|
```bash
|
||||||
|
# Encrypt main partition
|
||||||
|
sudo cryptsetup luksFormat /dev/nvme0n1p2
|
||||||
|
# Enter password (REMEMBER IT!)
|
||||||
|
|
||||||
|
# Open encrypted partition
|
||||||
|
sudo cryptsetup open /dev/nvme0n1p2 cryptroot
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. LVM configuration:
|
||||||
|
```bash
|
||||||
|
# Create Physical Volume
|
||||||
|
sudo pvcreate /dev/mapper/cryptroot
|
||||||
|
|
||||||
|
# Create Volume Group
|
||||||
|
sudo vgcreate vg0 /dev/mapper/cryptroot
|
||||||
|
|
||||||
|
# Create Logical Volumes
|
||||||
|
# (Up to max 16GB)
|
||||||
|
sudo lvcreate -L 12G -n swap vg0 # 12GB SWAP
|
||||||
|
# (For ROOT partition it's best to give at least 1/4 of the disk, but from experience I recommend roughly 100-200GB. System takes about 70GB, but it's worth leaving some extra space)
|
||||||
|
sudo lvcreate -L 175G -n root vg0 # 175GB ROOT
|
||||||
|
sudo lvcreate -l 100%FREE -n home vg0 # rest HOME
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6. Formatting logical partitions:
|
||||||
|
```bash
|
||||||
|
sudo mkswap /dev/vg0/swap
|
||||||
|
sudo mkfs.ext4 /dev/vg0/root
|
||||||
|
sudo mkfs.ext4 /dev/vg0/home
|
||||||
|
```
|
||||||
|
|
||||||
|
## Mounting and installation
|
||||||
|
|
||||||
|
### 7. Mounting file systems:
|
||||||
|
```bash
|
||||||
|
sudo mount /dev/vg0/root /mnt
|
||||||
|
sudo mkdir -p /mnt/home /mnt/boot
|
||||||
|
sudo mount /dev/vg0/home /mnt/home
|
||||||
|
sudo mount /dev/nvme0n1p1 /mnt/boot
|
||||||
|
sudo swapon /dev/vg0/swap
|
||||||
|
```
|
||||||
|
|
||||||
|
### 8. Configuration generation:
|
||||||
|
```bash
|
||||||
|
sudo nixos-generate-config --root /mnt
|
||||||
|
```
|
||||||
|
|
||||||
|
### 9. **CRUCIAL STEP** - Adding LUKS configuration:
|
||||||
|
```bash
|
||||||
|
# Check UUID of encrypted partition
|
||||||
|
lsblk -f
|
||||||
|
|
||||||
|
# Edit hardware-configuration.nix
|
||||||
|
sudo nano /mnt/etc/nixos/hardware-configuration.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
**Add BEFORE `fileSystems` section (replace UUID with yours):**
|
||||||
|
```nix
|
||||||
|
boot.initrd.luks.devices = {
|
||||||
|
cryptroot = {
|
||||||
|
device = "/dev/disk/by-uuid/YOUR-LUKS-UUID";
|
||||||
|
preLVM = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
**Also make sure SWAP is mounted**
|
||||||
|
```nix
|
||||||
|
swapDevices = lib.mkForce [
|
||||||
|
{
|
||||||
|
device = "/dev/disk/by-uuid/YOUR-SWAP-UUID";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### 10. User configuration:
|
||||||
|
```bash
|
||||||
|
sudo nano /mnt/etc/nixos/configuration.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
**Add/uncomment:**
|
||||||
|
```nix
|
||||||
|
users.users."yourusername" = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Your Name";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable sudo for wheel
|
||||||
|
security.sudo.wheelNeedsPassword = true;
|
||||||
|
```
|
||||||
|
|
||||||
|
### 11. System installation:
|
||||||
|
```bash
|
||||||
|
sudo nixos-install
|
||||||
|
```
|
||||||
|
|
||||||
|
## Finalization
|
||||||
|
|
||||||
|
### 12. Setting passwords:
|
||||||
|
```bash
|
||||||
|
# After installation, enter the system
|
||||||
|
sudo nixos-enter
|
||||||
|
|
||||||
|
# Set user password
|
||||||
|
passwd yourusername
|
||||||
|
|
||||||
|
# Optionally root password
|
||||||
|
passwd root
|
||||||
|
|
||||||
|
exit
|
||||||
|
```
|
||||||
|
|
||||||
|
### 13. Restart:
|
||||||
|
```bash
|
||||||
|
sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
|
# GarandOS installation
|
||||||
|
|
||||||
|
### 1. Install git
|
||||||
|
```nix
|
||||||
|
nix-shell -p git
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Download nix configuration
|
||||||
|
```bash
|
||||||
|
git clone https://gitea.garandplg.com/GarandPLG/garandos -b main --depth=1 ~/garandos
|
||||||
|
cd garandos
|
||||||
|
```
|
||||||
|
|
||||||
|
Stay in this folder during installation
|
||||||
|
|
||||||
|
### 3. Create your host folder from default folder
|
||||||
|
```bash
|
||||||
|
cp -r hosts/default hosts/<your-system-hostname>
|
||||||
|
git add .
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Modify `variables.nix` in your host folder. Set:
|
||||||
|
|
||||||
|
- `system` - 99% this will be the default value.
|
||||||
|
- `host` - same as your host folder name.
|
||||||
|
- `username` - your username.
|
||||||
|
- `profile` - graphics card profile, choose the one most suitable for your hardware.
|
||||||
|
- `gitUsername` and `gitEmail` - required for proper git usage.
|
||||||
|
- `extraMonitorSettings` - specify your monitor (cable, resolution, refresh rate. You can leave the other two options).
|
||||||
|
- `clock24h` - whether you want 24 or 12 hour clock.
|
||||||
|
- `browser` - browser package name opened with shortcut **SUPER + W**.
|
||||||
|
- `terminal` - terminal package name opened with shortcut **SUPER + Enter**
|
||||||
|
- `keyboardLayout` and `consoleKeyMap` - keyboard layout (special characters ą,ę, etc.).
|
||||||
|
- `stylixImage` - default system wallpaper, based on which the graphical theme (stylix) will be generated. You can browse them in the `wallpapers` folder.
|
||||||
|
- `waybarChoice` - system top bar style.
|
||||||
|
- `animChoice` - system animation style.
|
||||||
|
|
||||||
|
### 5. Copy the ready `hardware-configuration.nix` to host folder:
|
||||||
|
```bash
|
||||||
|
sudo cp /etc/nixos/hardware-configuration.nix hosts/<your-system-hostname>/hardware.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6. Enable `Flake` functionality in your system.
|
||||||
|
```bash
|
||||||
|
NIX_CONFIG="experimental-features = nix-command flakes"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 7. Build system (provide your hostname)
|
||||||
|
```bash
|
||||||
|
sudo nixos-rebuild switch --flake .#your-system-hostname
|
||||||
|
```
|
||||||
|
|
||||||
|
### 8. After system rebuild you can use the following aliases instead of repeating the previous command
|
||||||
|
|
||||||
|
- `pullos` - pull latest commits from my repository.
|
||||||
|
- `upd` - rebuild system.
|
||||||
|
- `upg` - update `flake` and rebuild system.
|
||||||
|
- `upd-bt` - rebuild system, but don't switch to it. Will be added to bootloader.
|
||||||
|
- `upd-ts` - rebuild system and switch to it, but won't be added to bootloader.
|
||||||
|
- `upd-bd` - only builds new configuration.
|
||||||
|
|
||||||
|
## TODO:
|
||||||
|
- Add instruction for needed PWA
|
||||||
18
flake.lock
generated
18
flake.lock
generated
@@ -75,11 +75,11 @@
|
|||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "pkgs/firefox-addons",
|
"dir": "pkgs/firefox-addons",
|
||||||
"lastModified": 1757995413,
|
"lastModified": 1758295658,
|
||||||
"narHash": "sha256-vaU/7/PXoym6vnspGxhR29V9klGe9iy9zmp6x7w38f8=",
|
"narHash": "sha256-PsQSN226ZZ4KnweNspxKTzF8ztdPOAT6+gpGkxnygpg=",
|
||||||
"owner": "rycee",
|
"owner": "rycee",
|
||||||
"repo": "nur-expressions",
|
"repo": "nur-expressions",
|
||||||
"rev": "4ae8996b3e139926c784acd22824cde46cd28833",
|
"rev": "7c0e1d343108cbaaf448353fadb62190246251a8",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -166,11 +166,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757997814,
|
"lastModified": 1758375677,
|
||||||
"narHash": "sha256-F+1aoG+3NH4jDDEmhnDUReISyq6kQBBuktTUqCUWSiw=",
|
"narHash": "sha256-BLtD+6qWz7fQjPk2wpwyXQLGI0E30Ikgf2ppn2nVadI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "5820376beb804de9acf07debaaff1ac84728b708",
|
"rev": "edc7468e12be92e926847cb02418e649b02b59dd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -214,11 +214,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757745802,
|
"lastModified": 1758277210,
|
||||||
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
|
"narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
|
"rev": "8eaee110344796db060382e15d3af0a9fc396e0e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -4,17 +4,17 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot = {
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [
|
||||||
"nvme"
|
"nvme"
|
||||||
"xhci_pci"
|
"xhci_pci"
|
||||||
"ahci"
|
"ahci"
|
||||||
@@ -22,27 +22,28 @@
|
|||||||
"usb_storage"
|
"usb_storage"
|
||||||
"sd_mod"
|
"sd_mod"
|
||||||
];
|
];
|
||||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
kernelModules = [ "dm-snapshot" ];
|
||||||
boot.initrd.luks.devices = {
|
luks.devices = {
|
||||||
cryptroot = {
|
cryptroot = {
|
||||||
device = "/dev/disk/by-uuid/7c018698-d35c-4ee6-92a8-5e4edf914065";
|
device = "/dev/disk/by-uuid/7c018698-d35c-4ee6-92a8-5e4edf914065";
|
||||||
preLVM = true;
|
preLVM = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
};
|
||||||
boot.extraModulePackages = [ ];
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
device = "/dev/disk/by-uuid/e3ac1df3-ce8f-44cd-901f-a8cd3f6955b7";
|
device = "/dev/disk/by-uuid/e3ac1df3-ce8f-44cd-901f-a8cd3f6955b7";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
"/home" = {
|
||||||
fileSystems."/home" = {
|
|
||||||
device = "/dev/disk/by-uuid/0713b82c-bf8c-424f-96e1-5d883e50b451";
|
device = "/dev/disk/by-uuid/0713b82c-bf8c-424f-96e1-5d883e50b451";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
"/boot" = {
|
||||||
fileSystems."/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/783D-A507";
|
device = "/dev/disk/by-uuid/783D-A507";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [
|
options = [
|
||||||
@@ -50,6 +51,7 @@
|
|||||||
"dmask=0022"
|
"dmask=0022"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices = lib.mkForce [
|
swapDevices = lib.mkForce [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
audacity
|
# audacity
|
||||||
discord
|
|
||||||
nodejs
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
host,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
vars = import ../../hosts/${host}/variables.nix;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./boot.nix
|
./boot.nix
|
||||||
|
|||||||
@@ -2,8 +2,24 @@
|
|||||||
{
|
{
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
|
wlr.enable = true;
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-hyprland
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
configPackages = [ pkgs.hyprland ];
|
configPackages = [ pkgs.hyprland ];
|
||||||
|
config.common = {
|
||||||
|
default = [
|
||||||
|
"hyprland"
|
||||||
|
"gtk"
|
||||||
|
];
|
||||||
|
"org.freedesktop.impl.portal.Settings" = [
|
||||||
|
"hyprland"
|
||||||
|
];
|
||||||
|
"org.freedesktop.impl.portal.FileChooser" = [
|
||||||
|
"gtk"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
flatpak = {
|
flatpak = {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
|
||||||
host,
|
host,
|
||||||
options,
|
options,
|
||||||
...
|
...
|
||||||
@@ -37,6 +36,4 @@ in
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ networkmanagerapplet ];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
|
||||||
username,
|
username,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
@@ -12,9 +11,4 @@
|
|||||||
};
|
};
|
||||||
flake = "/home/${username}/garandos";
|
flake = "/home/${username}/garandos";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
nix-output-monitor
|
|
||||||
nvd
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,10 +26,20 @@
|
|||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Hyprland systeminfo QT (Optional)
|
nixd
|
||||||
#inputs.hyprsysteminfo.packages.${pkgs.system}.default
|
nil
|
||||||
|
|
||||||
discord
|
discord
|
||||||
|
trash-cli
|
||||||
|
eddie
|
||||||
|
dex
|
||||||
|
galculator
|
||||||
|
networkmanagerapplet
|
||||||
|
nix-output-monitor
|
||||||
|
nvd
|
||||||
|
ffmpegthumbnailer # Need For Video / Image Preview
|
||||||
|
virt-viewer # View Virtual Machines
|
||||||
|
lazydocker
|
||||||
|
docker-client
|
||||||
amfora # Fancy Terminal Browser For Gemini Protocol
|
amfora # Fancy Terminal Browser For Gemini Protocol
|
||||||
appimage-run # Needed For AppImage Support
|
appimage-run # Needed For AppImage Support
|
||||||
brightnessctl # For Screen Brightness Control
|
brightnessctl # For Screen Brightness Control
|
||||||
@@ -43,8 +53,7 @@
|
|||||||
ffmpeg # Terminal Video / Audio Editing
|
ffmpeg # Terminal Video / Audio Editing
|
||||||
file-roller # Archive Manager
|
file-roller # Archive Manager
|
||||||
gedit # Simple Graphical Text Editor
|
gedit # Simple Graphical Text Editor
|
||||||
#gemini-cli # CLI AI client ONLY (optional)
|
gimp3 # Great Photo Editor
|
||||||
gimp # Great Photo Editor
|
|
||||||
glxinfo # needed for inxi diag util
|
glxinfo # needed for inxi diag util
|
||||||
tuigreet # The Login Manager (Sometimes Referred To As Display Manager)
|
tuigreet # The Login Manager (Sometimes Referred To As Display Manager)
|
||||||
htop # Simple Terminal Based System Monitor
|
htop # Simple Terminal Based System Monitor
|
||||||
@@ -92,7 +101,6 @@
|
|||||||
wineWowPackages.waylandFull # wine64
|
wineWowPackages.waylandFull # wine64
|
||||||
lutris
|
lutris
|
||||||
space-cadet-pinball
|
space-cadet-pinball
|
||||||
dex
|
|
||||||
exercism
|
exercism
|
||||||
tty-solitaire
|
tty-solitaire
|
||||||
cmatrix
|
cmatrix
|
||||||
@@ -102,5 +110,7 @@
|
|||||||
ookla-speedtest
|
ookla-speedtest
|
||||||
kronometer
|
kronometer
|
||||||
inputs.prismlauncher-cracked.packages.${system}.default
|
inputs.prismlauncher-cracked.packages.${system}.default
|
||||||
|
zed-editor
|
||||||
|
distrobox
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
{ pkgs, inputs, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
inputs.quickshell.packages.${pkgs.system}.default
|
|
||||||
|
|
||||||
# Qt6 related kits(for slove Qt5Compat problem)
|
|
||||||
qt6.qt5compat
|
|
||||||
qt6.qtbase
|
|
||||||
qt6.qtquick3d
|
|
||||||
qt6.qtwayland
|
|
||||||
qt6.qtdeclarative
|
|
||||||
qt6.qtsvg
|
|
||||||
|
|
||||||
# alternate options
|
|
||||||
# libsForQt5.qt5compat
|
|
||||||
kdePackages.qt5compat
|
|
||||||
libsForQt5.qt5.qtgraphicaleffects
|
|
||||||
];
|
|
||||||
|
|
||||||
# necessary environment variables
|
|
||||||
environment.variables = {
|
|
||||||
QML_IMPORT_PATH = "${pkgs.qt6.qt5compat}/lib/qt-6/qml:${pkgs.qt6.qtbase}/lib/qt-6/qml";
|
|
||||||
QML2_IMPORT_PATH = "${pkgs.qt6.qt5compat}/lib/qt-6/qml:${pkgs.qt6.qtbase}/lib/qt-6/qml";
|
|
||||||
};
|
|
||||||
|
|
||||||
# make sure the Qt application is working properly
|
|
||||||
environment.sessionVariables = {
|
|
||||||
QT_QPA_PLATFORM = "wayland;xcb";
|
|
||||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -18,5 +18,11 @@ _: {
|
|||||||
pam.services.swaylock = {
|
pam.services.swaylock = {
|
||||||
text = ''auth include login '';
|
text = ''auth include login '';
|
||||||
};
|
};
|
||||||
|
sudo = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
Defaults pwfeedback
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
host,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
@@ -13,7 +12,4 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
ffmpegthumbnailer # Need For Video / Image Preview
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,10 @@
|
|||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
# Only enable either docker or podman -- Not both
|
# Only enable either docker or podman -- Not both
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
docker = {
|
docker.enable = true;
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
podman.enable = false;
|
podman.enable = false;
|
||||||
|
libvirtd.enable = true;
|
||||||
libvirtd = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualbox.host = {
|
virtualbox.host = {
|
||||||
enable = false;
|
enable = false;
|
||||||
@@ -18,13 +12,5 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs.virt-manager.enable = false;
|
||||||
virt-manager.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
virt-viewer # View Virtual Machines
|
|
||||||
lazydocker
|
|
||||||
docker-client
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = false;
|
enable = true;
|
||||||
xkb = {
|
xkb = {
|
||||||
layout = "${keyboardLayout}";
|
layout = "${keyboardLayout}";
|
||||||
variant = "";
|
variant = "";
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
{ host, ... }:
|
{ host, username, ... }:
|
||||||
{
|
{
|
||||||
programs.bash = {
|
programs.bash = {
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
# NixOS aliases
|
# NixOS aliases
|
||||||
|
pullos = "git -C /home/${username}/garandos pull";
|
||||||
upd = "nh os switch --hostname ${host}";
|
upd = "nh os switch --hostname ${host}";
|
||||||
upg = "nh os switch --hostname ${host} --update";
|
upg = "nh os switch --hostname ${host} --update";
|
||||||
upd-bt = "nh os boot --hostname ${host}";
|
upd-bt = "nh os boot --hostname ${host}";
|
||||||
@@ -17,7 +18,7 @@
|
|||||||
bbr = "bun --bun run";
|
bbr = "bun --bun run";
|
||||||
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
|
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
|
||||||
snano = "sudo nano";
|
snano = "sudo nano";
|
||||||
zed = "MANGOHUD=0 /home/garand_plg/.local/bin/zed";
|
zed = "MANGOHUD=0 /home/${username}/.local/bin/zed";
|
||||||
|
|
||||||
# System aliases
|
# System aliases
|
||||||
flush-codium = "sudo killall codium && sudo rm -rf ~/.config/VSCodium/Cache && sudo rm -rf ~/.config/VSCodium/CachedData";
|
flush-codium = "sudo killall codium && sudo rm -rf ~/.config/VSCodium/Cache && sudo rm -rf ~/.config/VSCodium/CachedData";
|
||||||
|
|||||||
@@ -4,7 +4,12 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./fastfetch
|
||||||
|
./hyprland
|
||||||
|
./rofi
|
||||||
|
./scripts
|
||||||
waybarChoice
|
waybarChoice
|
||||||
|
./wlogout
|
||||||
./amfora.nix
|
./amfora.nix
|
||||||
./bash.nix
|
./bash.nix
|
||||||
./bash-aliases.nix
|
./bash-aliases.nix
|
||||||
@@ -15,30 +20,23 @@ in
|
|||||||
./cava.nix
|
./cava.nix
|
||||||
./emoji.nix
|
./emoji.nix
|
||||||
./eza.nix
|
./eza.nix
|
||||||
./fastfetch
|
|
||||||
./fzf.nix
|
./fzf.nix
|
||||||
./gh.nix
|
./gh.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./gtk.nix
|
./gtk.nix
|
||||||
./htop.nix
|
./htop.nix
|
||||||
./hyprland
|
|
||||||
./kitty.nix
|
./kitty.nix
|
||||||
./lazygit.nix
|
./lazygit.nix
|
||||||
./librewolf.nix
|
./librewolf.nix
|
||||||
./obs-studio.nix
|
./obs-studio.nix
|
||||||
./obs-studio.nix
|
|
||||||
./rofi
|
|
||||||
./qt.nix
|
./qt.nix
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
./scripts
|
|
||||||
./scripts/gemini-cli.nix
|
|
||||||
./starship.nix
|
./starship.nix
|
||||||
./stylix.nix
|
./stylix.nix
|
||||||
./swappy.nix
|
./swappy.nix
|
||||||
./swaync.nix
|
./swaync.nix
|
||||||
./tealdeer.nix
|
./tealdeer.nix
|
||||||
./virtmanager.nix
|
./virtmanager.nix
|
||||||
./wlogout
|
|
||||||
./xdg.nix
|
./xdg.nix
|
||||||
./zoxide.nix
|
./zoxide.nix
|
||||||
./vscode.nix
|
./vscode.nix
|
||||||
|
|||||||
@@ -1,99 +1,150 @@
|
|||||||
{ host, ... }:
|
{ host, username, ... }:
|
||||||
let
|
let
|
||||||
inherit (import ../../../hosts/${host}/variables.nix)
|
inherit (import ../../../hosts/${host}/variables.nix) browser terminal;
|
||||||
browser
|
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
|
||||||
terminal
|
|
||||||
;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
bind = [
|
bind = [
|
||||||
"$modifier,Return,exec,${terminal}"
|
# =============================================================================
|
||||||
"$modifier,K,exec,list-keybinds"
|
# APLIKACJE - GŁÓWNE
|
||||||
"$modifier SHIFT,Return,exec,rofi-launcher"
|
# =============================================================================
|
||||||
"$modifier ,R,exec,rofi-launcher"
|
"$modifier, A, exec, anki"
|
||||||
"$modifier SHIFT,W,exec,web-search"
|
"$modifier, B, exec, btop"
|
||||||
"$modifier ALT,W,exec,wallsetter"
|
"$modifier, C, exec, chromium"
|
||||||
"$modifier SHIFT,N,exec,swaync-client -rs"
|
"$modifier, D, exec, discord"
|
||||||
"$modifier,W,exec,${browser}"
|
"$modifier, G, exec, gimp"
|
||||||
"$modifier,E,exec,emopicker9000"
|
"$modifier, M, exec, plexamp"
|
||||||
"$modifier,S,exec,screenshootin"
|
"$modifier, N, exec, dex ${desktopEntriesPath}/garandcloud.desktop"
|
||||||
"$modifier,D,exec,discord"
|
"$modifier, O, exec, obs"
|
||||||
"$modifier,O,exec,obs"
|
"$modifier, Return, exec, ${terminal}"
|
||||||
"$modifier,C,exec,hyprpicker -a"
|
"$modifier, S, exec, steam"
|
||||||
"$modifier,G,exec,gimp"
|
"$modifier, T, exec, thunar"
|
||||||
"$modifier shift,T,exec,pypr toggle term"
|
"$modifier, V, exec, codium"
|
||||||
"$modifier,T,exec, thunar"
|
"$modifier, W, exec, ${browser}"
|
||||||
"$modifier,M,exec,pavucontrol"
|
"$modifier, Z, exec, zed-editor"
|
||||||
"$modifier,Q,killactive,"
|
|
||||||
"$modifier,P,pseudo,"
|
# =============================================================================
|
||||||
"$modifier,V,exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy"
|
# APLIKACJE - Z SHIFT
|
||||||
"$modifier SHIFT,I,togglesplit,"
|
# =============================================================================
|
||||||
"$modifier,F,fullscreen,"
|
"$modifier SHIFT, B, exec, blueman-manager"
|
||||||
"$modifier SHIFT,F,togglefloating,"
|
"$modifier SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop"
|
||||||
"$modifier ALT,F,workspaceopt, allfloat"
|
"$modifier SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop"
|
||||||
"$modifier SHIFT,C,exit,"
|
"$modifier SHIFT, M, exec, dex ${desktopEntriesPath}/messenger.desktop"
|
||||||
"$modifier SHIFT,left,movewindow,l"
|
"$modifier SHIFT, N, exec, nextcloud"
|
||||||
"$modifier SHIFT,right,movewindow,r"
|
"$modifier SHIFT, O, exec, onlyoffice-desktopeditors"
|
||||||
"$modifier SHIFT,up,movewindow,u"
|
"$modifier SHIFT, Return, exec, rofi-launcher"
|
||||||
"$modifier SHIFT,down,movewindow,d"
|
"$modifier SHIFT, T, exec, tutanota-desktop"
|
||||||
"$modifier SHIFT,h,movewindow,l"
|
"$modifier SHIFT, W, exec, web-search"
|
||||||
"$modifier SHIFT,l,movewindow,r"
|
|
||||||
"$modifier SHIFT,k,movewindow,u"
|
# =============================================================================
|
||||||
"$modifier SHIFT,j,movewindow,d"
|
# APLIKACJE - Z ALT I CONTROL
|
||||||
"$modifier ALT, left, swapwindow,l"
|
# =============================================================================
|
||||||
"$modifier ALT, right, swapwindow,r"
|
"$modifier ALT, M, exec, dex ${desktopEntriesPath}/mastodon.desktop"
|
||||||
"$modifier ALT, up, swapwindow,u"
|
"$modifier ALT, S, exec, slack"
|
||||||
"$modifier ALT, down, swapwindow,d"
|
"$modifier CONTROL, M, exec, mattermost-desktop"
|
||||||
"$modifier ALT, 43, swapwindow,l"
|
|
||||||
"$modifier ALT, 46, swapwindow,r"
|
# =============================================================================
|
||||||
"$modifier ALT, 45, swapwindow,u"
|
# NARZĘDZIA SYSTEMOWE
|
||||||
"$modifier ALT, 44, swapwindow,d"
|
# =============================================================================
|
||||||
"$modifier,left,movefocus,l"
|
"$modifier, E, exec, emopicker9000"
|
||||||
"$modifier,right,movefocus,r"
|
"$modifier, K, exec, galculator"
|
||||||
"$modifier,up,movefocus,u"
|
"$modifier, P, exec, hyprpicker -a"
|
||||||
"$modifier,down,movefocus,d"
|
"$modifier ALT, W, exec, wallsetter"
|
||||||
"$modifier,h,movefocus,l"
|
"$modifier SHIFT, K, exec, list-keybinds"
|
||||||
"$modifier,l,movefocus,r"
|
"$modifier SHIFT, P, exec, pavucontrol"
|
||||||
"$modifier,k,movefocus,u"
|
"$modifier SHIFT, S, exec, screenshootin"
|
||||||
"$modifier,j,movefocus,d"
|
|
||||||
"$modifier,1,workspace,1"
|
# =============================================================================
|
||||||
"$modifier,2,workspace,2"
|
# ZARZĄDZANIE OKNAMI
|
||||||
"$modifier,3,workspace,3"
|
# =============================================================================
|
||||||
"$modifier,4,workspace,4"
|
"$modifier, Escape, exec, hyprlock"
|
||||||
"$modifier,5,workspace,5"
|
"$modifier, F, fullscreen,"
|
||||||
"$modifier,6,workspace,6"
|
"$modifier, Q, killactive,"
|
||||||
"$modifier,7,workspace,7"
|
"$modifier SHIFT, Escape, exit,"
|
||||||
"$modifier,8,workspace,8"
|
"$modifier SHIFT, I, togglesplit,"
|
||||||
"$modifier,9,workspace,9"
|
|
||||||
"$modifier,0,workspace,10"
|
# =============================================================================
|
||||||
"$modifier SHIFT,SPACE,movetoworkspace,special"
|
# FOKUS OKIEN
|
||||||
"$modifier,SPACE,togglespecialworkspace"
|
# =============================================================================
|
||||||
"$modifier SHIFT,1,movetoworkspace,1"
|
"$modifier, down, movefocus, d"
|
||||||
"$modifier SHIFT,2,movetoworkspace,2"
|
"$modifier, left, movefocus, l"
|
||||||
"$modifier SHIFT,3,movetoworkspace,3"
|
"$modifier, right, movefocus, r"
|
||||||
"$modifier SHIFT,4,movetoworkspace,4"
|
"$modifier, up, movefocus, u"
|
||||||
"$modifier SHIFT,5,movetoworkspace,5"
|
|
||||||
"$modifier SHIFT,6,movetoworkspace,6"
|
# =============================================================================
|
||||||
"$modifier SHIFT,7,movetoworkspace,7"
|
# PRZEMIESZCZANIE OKIEN
|
||||||
"$modifier SHIFT,8,movetoworkspace,8"
|
# =============================================================================
|
||||||
"$modifier SHIFT,9,movetoworkspace,9"
|
"$modifier SHIFT, down, movewindow, d"
|
||||||
"$modifier SHIFT,0,movetoworkspace,10"
|
"$modifier SHIFT, left, movewindow, l"
|
||||||
"$modifier CONTROL,right,workspace,e+1"
|
"$modifier SHIFT, right, movewindow, r"
|
||||||
"$modifier CONTROL,left,workspace,e-1"
|
"$modifier SHIFT, up, movewindow, u"
|
||||||
"$modifier,mouse_down,workspace, e+1"
|
|
||||||
"$modifier,mouse_up,workspace, e-1"
|
# =============================================================================
|
||||||
"ALT,Tab,cyclenext"
|
# ZAMIANA OKIEN
|
||||||
"ALT,Tab,bringactivetotop"
|
# =============================================================================
|
||||||
",XF86AudioRaiseVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
"$modifier ALT, down, swapwindow, d"
|
||||||
",XF86AudioLowerVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
"$modifier ALT, left, swapwindow, l"
|
||||||
" ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
"$modifier ALT, right, swapwindow, r"
|
||||||
",XF86AudioPlay, exec, playerctl play-pause"
|
"$modifier ALT, up, swapwindow, u"
|
||||||
",XF86AudioPause, exec, playerctl play-pause"
|
|
||||||
|
# =============================================================================
|
||||||
|
# WORKSPACES - PRZEŁĄCZANIE
|
||||||
|
# =============================================================================
|
||||||
|
"$modifier, 0, workspace, 10"
|
||||||
|
"$modifier, 1, workspace, 1"
|
||||||
|
"$modifier, 2, workspace, 2"
|
||||||
|
"$modifier, 3, workspace, 3"
|
||||||
|
"$modifier, 4, workspace, 4"
|
||||||
|
"$modifier, 5, workspace, 5"
|
||||||
|
"$modifier, 6, workspace, 6"
|
||||||
|
"$modifier, 7, workspace, 7"
|
||||||
|
"$modifier, 8, workspace, 8"
|
||||||
|
"$modifier, 9, workspace, 9"
|
||||||
|
"$modifier CONTROL, left, workspace, e-1"
|
||||||
|
"$modifier CONTROL, right, workspace, e+1"
|
||||||
|
"$modifier, mouse_down, workspace, e+1"
|
||||||
|
"$modifier, mouse_up, workspace, e-1"
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# WORKSPACES - PRZENOSZENIE OKIEN
|
||||||
|
# =============================================================================
|
||||||
|
"$modifier SHIFT, 0, movetoworkspace, 10"
|
||||||
|
"$modifier SHIFT, 1, movetoworkspace, 1"
|
||||||
|
"$modifier SHIFT, 2, movetoworkspace, 2"
|
||||||
|
"$modifier SHIFT, 3, movetoworkspace, 3"
|
||||||
|
"$modifier SHIFT, 4, movetoworkspace, 4"
|
||||||
|
"$modifier SHIFT, 5, movetoworkspace, 5"
|
||||||
|
"$modifier SHIFT, 6, movetoworkspace, 6"
|
||||||
|
"$modifier SHIFT, 7, movetoworkspace, 7"
|
||||||
|
"$modifier SHIFT, 8, movetoworkspace, 8"
|
||||||
|
"$modifier SHIFT, 9, movetoworkspace, 9"
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# MEDIA I KONTROLKI SYSTEMOWE
|
||||||
|
# =============================================================================
|
||||||
|
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
",XF86AudioNext, exec, playerctl next"
|
",XF86AudioNext, exec, playerctl next"
|
||||||
|
",XF86AudioPause, exec, playerctl play-pause"
|
||||||
|
",XF86AudioPlay, exec, playerctl play-pause"
|
||||||
",XF86AudioPrev, exec, playerctl previous"
|
",XF86AudioPrev, exec, playerctl previous"
|
||||||
",XF86MonBrightnessDown,exec,brightnessctl set 5%-"
|
",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
",XF86MonBrightnessUp,exec,brightnessctl set +5%"
|
",XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
||||||
|
",XF86MonBrightnessUp, exec, brightnessctl set +5%"
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# NIEUŻYWANE KEYBINDY (ZAKOMENTOWANE)
|
||||||
|
# =============================================================================
|
||||||
|
# "$modifier , R, exec, rofi-launcher"
|
||||||
|
# "$modifier SHIFT, N, exec, swaync-client -rs"
|
||||||
|
# "$modifier, P, pseudo,"
|
||||||
|
# "$modifier SHIFT,F, togglefloating,"
|
||||||
|
# "$modifier ALT,F, workspaceopt, allfloat"
|
||||||
|
# "$modifier SHIFT, SPACE, movetoworkspace, special"
|
||||||
|
# "$modifier, SPACE, togglespecialworkspace"
|
||||||
|
# "ALT,Tab,cyclenext"
|
||||||
|
# "ALT,Tab,bringactivetotop"
|
||||||
];
|
];
|
||||||
|
|
||||||
bindm = [
|
bindm = [
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 362 KiB After Width: | Height: | Size: 38 KiB |
@@ -5,23 +5,9 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (import ../../../hosts/${host}/variables.nix)
|
inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout;
|
||||||
extraMonitorSettings
|
|
||||||
keyboardLayout
|
|
||||||
stylixImage
|
|
||||||
;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
|
||||||
swww
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
wl-clipboard
|
|
||||||
swappy
|
|
||||||
ydotool
|
|
||||||
hyprpolkitagent
|
|
||||||
hyprland-qtutils # needed for banners and ANR messages
|
|
||||||
];
|
|
||||||
systemd.user.targets.hyprland-session.Unit.Wants = [
|
systemd.user.targets.hyprland-session.Unit.Wants = [
|
||||||
"xdg-desktop-autostart.target"
|
"xdg-desktop-autostart.target"
|
||||||
];
|
];
|
||||||
@@ -94,7 +80,8 @@ in
|
|||||||
key_press_enables_dpms = false;
|
key_press_enables_dpms = false;
|
||||||
disable_hyprland_logo = true;
|
disable_hyprland_logo = true;
|
||||||
disable_splash_rendering = true;
|
disable_splash_rendering = true;
|
||||||
enable_swallow = false;
|
enable_swallow = true;
|
||||||
|
swallow_regex = "^(kitty)$";
|
||||||
vfr = true; # Variable Frame Rate
|
vfr = true; # Variable Frame Rate
|
||||||
vrr = 2; # Variable Refresh Rate Might need to set to 0 for NVIDIA/AQ_DRM_DEVICES
|
vrr = 2; # Variable Refresh Rate Might need to set to 0 for NVIDIA/AQ_DRM_DEVICES
|
||||||
# Screen flashing to black momentarily or going black when app is fullscreen
|
# Screen flashing to black momentarily or going black when app is fullscreen
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
};
|
};
|
||||||
background = [
|
background = [
|
||||||
{
|
{
|
||||||
path = "/home/${username}/Pictures/Wallpapers/beautifulmountainscape.jpg";
|
path = "/home/${username}/Pictures/Wallpapers/four-elements.jpg";
|
||||||
blur_passes = 3;
|
blur_passes = 3;
|
||||||
blur_size = 8;
|
blur_size = 8;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [ pyprland ];
|
|
||||||
|
|
||||||
home.file.".config/hypr/pyprland.toml".text = ''
|
home.file.".config/hypr/pyprland.toml".text = ''
|
||||||
[pyprland]
|
[pyprland]
|
||||||
plugins = [
|
plugins = [
|
||||||
|
|||||||
@@ -2,18 +2,24 @@
|
|||||||
{
|
{
|
||||||
home.file.".config/rofi/config-long.rasi".text = ''
|
home.file.".config/rofi/config-long.rasi".text = ''
|
||||||
@import "~/.config/rofi/config.rasi"
|
@import "~/.config/rofi/config.rasi"
|
||||||
|
* {
|
||||||
|
font: "JetBrainsMono Nerd Font Mono 12";
|
||||||
|
}
|
||||||
window {
|
window {
|
||||||
width: 750px;
|
width: 750px;
|
||||||
border-radius: 20px;
|
border-radius: 10px;
|
||||||
}
|
}
|
||||||
mainbox {
|
mainbox {
|
||||||
orientation: vertical;
|
orientation: vertical;
|
||||||
children: [ "inputbar", "listbox" ];
|
children: [ "inputbar", "listbox" ];
|
||||||
}
|
}
|
||||||
|
listview {
|
||||||
|
lines: 13;
|
||||||
|
}
|
||||||
inputbar {
|
inputbar {
|
||||||
padding: 75px 40px;
|
padding: 55px 30px;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
background-image: url("~/Pictures/Wallpapers/Rainnight.jpg", width);
|
background-image: url("~/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg", width);
|
||||||
text-color: @foreground;
|
text-color: @foreground;
|
||||||
children: [ "textbox-prompt-colon", "entry" ];
|
children: [ "textbox-prompt-colon", "entry" ];
|
||||||
}
|
}
|
||||||
@@ -31,12 +37,12 @@
|
|||||||
text-color: @foreground;
|
text-color: @foreground;
|
||||||
}
|
}
|
||||||
button {
|
button {
|
||||||
padding: 12px;
|
padding: 2px;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
}
|
}
|
||||||
element {
|
element {
|
||||||
spacing: 10px;
|
spacing: 2px;
|
||||||
padding: 12px;
|
padding: 2px;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
}
|
}
|
||||||
textbox {
|
textbox {
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
"imagebox" = {
|
"imagebox" = {
|
||||||
padding = mkLiteral "20px";
|
padding = mkLiteral "20px";
|
||||||
background-color = mkLiteral "transparent";
|
background-color = mkLiteral "transparent";
|
||||||
background-image = mkLiteral ''url("~/Pictures/Wallpapers/Rainnight.jpg", height)'';
|
background-image = mkLiteral ''url("~/Pictures/Wallpapers/fire-nation.jpg", height)'';
|
||||||
orientation = mkLiteral "vertical";
|
orientation = mkLiteral "vertical";
|
||||||
children = map mkLiteral [
|
children = map mkLiteral [
|
||||||
"inputbar"
|
"inputbar"
|
||||||
|
|||||||
@@ -1,20 +1,30 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
username,
|
username,
|
||||||
profile,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
home.packages = [
|
home.packages = with pkgs; [
|
||||||
|
# hyprland
|
||||||
|
swww
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
wl-clipboard
|
||||||
|
swappy
|
||||||
|
ydotool
|
||||||
|
hyprpolkitagent
|
||||||
|
hyprland-qtutils # needed for banners and ANR messages
|
||||||
|
# pyprland
|
||||||
|
pyprland
|
||||||
|
|
||||||
(import ./emopicker9000.nix { inherit pkgs; })
|
(import ./emopicker9000.nix { inherit pkgs; })
|
||||||
(import ./hm-find.nix { inherit pkgs; })
|
(import ./hm-find.nix { inherit pkgs; })
|
||||||
(import ./keybinds.nix { inherit pkgs; })
|
(import ./keybinds.nix { inherit pkgs username; })
|
||||||
(import ./note.nix { inherit pkgs; })
|
(import ./note.nix { inherit pkgs; })
|
||||||
(import ./note-from-clipboard.nix { inherit pkgs; })
|
(import ./note-from-clipboard.nix { inherit pkgs; })
|
||||||
(import ./nvidia-offload.nix { inherit pkgs; })
|
(import ./nvidia-offload.nix { inherit pkgs; })
|
||||||
(import ./rofi-launcher.nix { inherit pkgs; })
|
(import ./rofi-launcher.nix { inherit pkgs; })
|
||||||
(import ./screenshootin.nix { inherit pkgs; })
|
(import ./screenshootin.nix { inherit pkgs; })
|
||||||
(import ./squirtle.nix { inherit pkgs; })
|
|
||||||
(import ./task-waybar.nix { inherit pkgs; })
|
(import ./task-waybar.nix { inherit pkgs; })
|
||||||
(import ./wallsetter.nix {
|
(import ./wallsetter.nix {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
gemini-launcher = pkgs.writeShellScriptBin "gemini-launcher" ''
|
|
||||||
#!${pkgs.bash}/bin/bash
|
|
||||||
|
|
||||||
# Define the path to your API key file
|
|
||||||
KEY_FILE="${config.home.homeDirectory}/gem.key"
|
|
||||||
|
|
||||||
# Check if the key file exists and is readable
|
|
||||||
if [ -f "$KEY_FILE" ]; then
|
|
||||||
# Source the API key from the file.
|
|
||||||
source "$KEY_FILE"
|
|
||||||
# Launch Gemini directly; it will pick up the exported key.
|
|
||||||
exec ${pkgs.kitty}/bin/kitty -e ${pkgs.gemini-cli}/bin/gemini
|
|
||||||
else
|
|
||||||
# If the key file doesn't exist, launch kitty with an informational message, then start gemini.
|
|
||||||
exec ${pkgs.kitty}/bin/kitty -e bash -c "echo 'NOTE: Gemini API key file not found at ~/.gem.key.'; echo 'To use a key, create this file with content: export GEMINI_API_KEY=\"YOUR_KEY\"'; echo; echo 'Starting Gemini CLI, which will fall back to web-based login...'; echo; exec ${pkgs.gemini-cli}/bin/gemini"
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
home.packages = [
|
|
||||||
gemini-launcher
|
|
||||||
];
|
|
||||||
|
|
||||||
xdg.desktopEntries.gemini-cli = {
|
|
||||||
name = "Gemini CLI";
|
|
||||||
comment = "Launch the Gemini CLI in Kitty terminal";
|
|
||||||
icon = "utilities-terminal";
|
|
||||||
exec = "gemini-launcher";
|
|
||||||
terminal = false;
|
|
||||||
type = "Application";
|
|
||||||
categories = [
|
|
||||||
"Development"
|
|
||||||
"Utility"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,15 +1,18 @@
|
|||||||
{ pkgs }:
|
{ pkgs, username, ... }:
|
||||||
|
let
|
||||||
|
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
|
||||||
|
in
|
||||||
pkgs.writeShellScriptBin "list-keybinds" ''
|
pkgs.writeShellScriptBin "list-keybinds" ''
|
||||||
# check if rofi is already running
|
# check if rofi is already running
|
||||||
if pidof rofi > /dev/null; then
|
if pidof rofi > /dev/null; then
|
||||||
pkill rofi
|
pkill rofi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg='☣️ NOTE ☣️: Clicking with Mouse or Pressing ENTER will have NO function'
|
msg=' = Windows/Super/CAPS LOCK (Enter nie wykonuje skrótu)'
|
||||||
keybinds=$(cat ~/.config/hypr/hyprland.conf | grep -E '^bind')
|
keybinds=$(cat ~/.config/hypr/hyprland.conf | grep -E '^bind')
|
||||||
|
|
||||||
# replace #modifier with SUPER in the displayed keybinds for rofi
|
# replace #modifier with SUPER in the displayed keybinds for rofi
|
||||||
display_keybinds=$(echo "$keybinds" | sed 's/\$modifier/SUPER/g')
|
display_keybinds=$(echo "$keybinds" | sed 's/\$modifier//g' | sed 's|${desktopEntriesPath}/||g')
|
||||||
|
|
||||||
# use rofi to display the keybinds with the modified content
|
# use rofi to display the keybinds with the modified content
|
||||||
echo "$display_keybinds" | rofi -dmenu -i -config ~/.config/rofi/config-long.rasi -mesg "$msg"
|
echo "$display_keybinds" | rofi -dmenu -i -config ~/.config/rofi/config-long.rasi -mesg "$msg"
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
{ pkgs }:
|
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "squirtle" ''
|
|
||||||
echo "
|
|
||||||
[38;2;0;0;0m ████████ ██████
|
|
||||||
[38;2;0;0;0m ██[38;2;82;156;154m██[38;2;115;198;243m██████[38;2;0;0;0m████ ██[38;2;115;198;243m██████[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m ██[38;2;115;200;243m████████████[38;2;85;137;157m██[38;2;8;0;0m██[38;2;0;0;0m██ ██[38;2;115;198;243m██████[38;2;79;159;151m████[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m ██[38;2;115;200;243m████████████[38;2;123;206;235m██[38;2;46;69;78m██[38;2;189;107;37m██[38;2;0;0;0m████ ██[38;2;115;198;243m████[38;2;82;156;154m██[38;2;57;66;65m██[38;2;68;113;108m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m██[38;2;115;198;243m██[38;2;115;200;243m████[38;2;159;208;204m██[38;2;96;162;155m██[38;2;115;198;243m██████[38;2;82;156;154m██[38;2;66;61;66m██[38;2;214;132;38m██[38;2;198;119;38m██[38;2;0;0;0m██[38;2;86;146;154m██[38;2;107;214;243m██[38;2;82;156;154m██[38;2;66;66;66m██[38;2;82;156;154m████[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m██[38;2;115;198;243m██[38;2;115;200;243m████[38;2;33;115;105m██[38;2;222;255;254m██[38;2;0;0;0m██[38;2;115;198;243m████[38;2;82;156;154m██[38;2;66;61;66m██[38;2;140;96;52m██[38;2;198;119;38m████[38;2;66;78;66m██[38;2;86;146;154m██[38;2;82;156;154m██[38;2;66;66;66m██[38;2;82;156;154m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m██[38;2;115;198;243m██[38;2;115;200;243m████[38;2;77;144;162m██[38;2;0;4;0m██[38;2;41;8;1m██[38;2;123;214;235m██[38;2;82;156;154m████[38;2;66;66;66m██[38;2;255;255;255m██[38;2;140;82;44m██[38;2;214;140;46m██[38;2;90;103;88m██[38;2;49;111;121m██[38;2;85;159;151m██[38;2;46;80;76m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m ██[38;2;115;200;243m████[38;2;115;214;243m██[38;2;0;4;0m██[38;2;68;77;79m██[38;2;96;145;157m██[38;2;82;156;154m██[38;2;66;66;66m██[38;2;192;192;192m██[38;2;255;255;255m██[38;2;140;82;44m██[38;2;214;140;46m██[38;2;173;86;21m██[38;2;90;103;88m██[38;2;85;159;151m██[38;2;8;0;0m██[38;2;0;0;0m
|
|
||||||
[38;2;0;0;0m [38;2;8;0;0m██[38;2;49;77;76m██[38;2;82;156;154m████[38;2;99;132;115m████[38;2;57;74;81m██[38;2;118;129;107m██[38;2;66;66;66m██[38;2;148;198;220m██[38;2;255;255;255m██[38;2;140;82;44m██[38;2;189;103;37m██[38;2;66;66;66m██[38;2;82;156;154m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m [38;2;8;0;0m██[38;2;91;154;152m██[38;2;66;66;66m████[38;2;49;103;113m██[38;2;198;189;118m██[38;2;239;239;159m██[38;2;57;74;81m██[38;2;148;198;220m██[38;2;66;66;66m██[38;2;255;255;255m██[38;2;140;82;44m██[38;2;148;91;47m██[38;2;66;66;66m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m ████[38;2;247;231;143m██████[38;2;66;66;66m██[38;2;115;198;243m██████[38;2;66;66;66m██[38;2;140;82;44m██[38;2;189;107;37m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m ██[38;2;206;173;94m████[38;2;66;66;66m██[38;2;115;198;243m████[38;2;82;156;154m██[38;2;66;66;66m██[38;2;140;82;44m██[38;2;189;107;37m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m ██[38;2;57;115;105m██[38;2;80;85;69m██[38;2;239;239;159m██[38;2;255;231;127m██[38;2;74;66;58m██[38;2;82;156;154m██[38;2;66;66;66m██[38;2;58;69;71m██[38;2;173;198;197m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m ██[38;2;57;115;105m██[38;2;80;85;69m██[38;2;0;8;24m██[38;2;195;176;104m████[38;2;66;66;66m████[38;2;115;133;134m██[38;2;58;69;71m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m ████ ██[38;2;66;66;66m██[38;2;115;206;243m██[38;2;76;151;151m██[38;2;82;156;154m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m ██[38;2;76;151;151m██[38;2;57;123;105m██[38;2;82;156;154m██[38;2;0;0;0m██
|
|
||||||
[38;2;0;0;0m ██████ [0m
|
|
||||||
"
|
|
||||||
''
|
|
||||||
@@ -8,11 +8,23 @@ pkgs.writeShellScriptBin "web-search" ''
|
|||||||
declare -A URLS
|
declare -A URLS
|
||||||
|
|
||||||
URLS=(
|
URLS=(
|
||||||
["🌎 Search"]="https://search.brave.com/search?q="
|
[" Search"]="https://search.garandplg.com/search?q="
|
||||||
["❄️ Unstable Packages"]="https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query="
|
["❄️ Nix Unstable Packages"]="https://search.nixos.org/packages?channel=unstable&query="
|
||||||
["🎞️ YouTube"]="https://www.youtube.com/results?search_query="
|
["❄️ Nix Options"]="https://search.nixos.org/options?query="
|
||||||
["🦥 Arch Wiki"]="https://wiki.archlinux.org/title/"
|
["❄️ Nix Wiki"]="https://wiki.nixos.org/w/index.php?search="
|
||||||
["🐃 Gentoo Wiki"]="https://wiki.gentoo.org/index.php?title="
|
["❄️ Home Manager Options"]="https://home-manager-options.extranix.com/release=master?query="
|
||||||
|
[" Kalkulator walutowy EUR"]="https://www.money.pl/pieniadze/kalkulator/?currencyFrom=EUR¤cyTo=PLN&amount="
|
||||||
|
["\$ Kalkulator walutowy USD"]="https://www.money.pl/pieniadze/kalkulator/?currencyFrom=USD¤cyTo=PLN&amount="
|
||||||
|
[" YouTube"]="https://www.youtube.com/results?search_query="
|
||||||
|
[" Wikipedia PL"]="https://pl.wikipedia.org/w/index.php?search="
|
||||||
|
[" StackOverflow"]="https://stackoverflow.com/search?q="
|
||||||
|
[" Eneba"]="https://www.eneba.com/pl/store/all?text="
|
||||||
|
[" Kinguin"]="https://www.kinguin.net/listing?active=1&hideUnavailable=0&type=kinguin?phrase="
|
||||||
|
[" Instant Gaming"]="https://www.instant-gaming.com/pl/search/?q="
|
||||||
|
[" Morele"]="https://www.morele.net/wyszukiwarka/?q="
|
||||||
|
[" X-kom"]="https://www.x-kom.pl/szukaj?q="
|
||||||
|
[" Komputrnik"]="https://www.komputronik.pl/search/category/1?q="
|
||||||
|
[" Allegro"]="https://allegro.pl/listing?string="
|
||||||
)
|
)
|
||||||
|
|
||||||
# List for rofi
|
# List for rofi
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# starship with python venv support
|
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
@@ -6,13 +5,12 @@
|
|||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
accent = "#${config.lib.stylix.colors.base0D}";
|
accent = "#${config.lib.stylix.colors.base0D}";
|
||||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
add_newline = false;
|
add_newline = true;
|
||||||
format = lib.concatStrings [
|
format = lib.concatStrings [
|
||||||
"$nix_shell"
|
"$nix_shell"
|
||||||
"$hostname"
|
"$hostname"
|
||||||
@@ -20,19 +18,33 @@ in
|
|||||||
"$git_branch"
|
"$git_branch"
|
||||||
"$git_state"
|
"$git_state"
|
||||||
"$git_status"
|
"$git_status"
|
||||||
|
"$fill"
|
||||||
"$python"
|
"$python"
|
||||||
"\n"
|
"$nodejs"
|
||||||
|
"$rust"
|
||||||
|
"$docker_context"
|
||||||
|
"$cmd_duration"
|
||||||
|
"$line_break"
|
||||||
"$character"
|
"$character"
|
||||||
];
|
];
|
||||||
|
|
||||||
directory = {
|
directory = {
|
||||||
style = accent;
|
style = "bold fg:dark_blue";
|
||||||
|
format = "[$path ]($style)";
|
||||||
|
truncation_length = 3;
|
||||||
|
truncation_symbol = "…/";
|
||||||
|
truncate_to_repo = false;
|
||||||
|
substitutions = {
|
||||||
|
"Documents" = "";
|
||||||
|
"Downloads" = " ";
|
||||||
|
"Music" = " ";
|
||||||
|
"Pictures" = " ";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
character = {
|
character = {
|
||||||
success_symbol = "[❯](${accent})";
|
success_symbol = "[❯](${accent})";
|
||||||
error_symbol = "[❯](red)";
|
error_symbol = "[❯](red)";
|
||||||
vimcmd_symbol = "[❮](cyan)";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nix_shell = {
|
nix_shell = {
|
||||||
@@ -42,14 +54,14 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
git_branch = {
|
git_branch = {
|
||||||
symbol = "[](${background-alt}) ";
|
style = "fg:green";
|
||||||
style = "fg:${accent} bg:${background-alt}";
|
symbol = " ";
|
||||||
format = "on [$symbol$branch]($style)[](${background-alt}) ";
|
format = "[on](white) [$symbol$branch ]($style)";
|
||||||
};
|
};
|
||||||
|
|
||||||
git_status = {
|
git_status = {
|
||||||
format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218)($ahead_behind$stashed)]($style)";
|
style = "fg:green";
|
||||||
style = "cyan";
|
format = "([$all_status$ahead_behind]($style) )";
|
||||||
conflicted = "";
|
conflicted = "";
|
||||||
renamed = "";
|
renamed = "";
|
||||||
deleted = "";
|
deleted = "";
|
||||||
@@ -61,11 +73,44 @@ in
|
|||||||
style = "bright-black";
|
style = "bright-black";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fill = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
|
||||||
python = {
|
python = {
|
||||||
format = " [$symbol($virtualenv)](${accent}) ";
|
style = "teal";
|
||||||
symbol = " ";
|
symbol = " ";
|
||||||
pyenv_version_name = false;
|
format = "[\${symbol}\${pyenv_prefix}(\${version} )(\($virtualenv\) )]($style)";
|
||||||
style = "fg:${accent}";
|
pyenv_version_name = true;
|
||||||
|
pyenv_prefix = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
nodejs = {
|
||||||
|
style = "blue";
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
|
||||||
|
rust = {
|
||||||
|
style = "orange";
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
|
||||||
|
docker_context = {
|
||||||
|
symbol = " ";
|
||||||
|
style = "fg:#06969A";
|
||||||
|
format = "[$symbol]($style) $path";
|
||||||
|
detect_files = [
|
||||||
|
"docker-compose.yml"
|
||||||
|
"docker-compose.yaml"
|
||||||
|
"Dockerfile"
|
||||||
|
];
|
||||||
|
detect_extensions = [ "Dockerfile" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
cmd_duration = {
|
||||||
|
min_time = 500;
|
||||||
|
style = "fg:gray";
|
||||||
|
format = "[$duration]($style)";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|||||||
@@ -4,10 +4,9 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [ waybar ];
|
|
||||||
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.waybar;
|
||||||
settings = {
|
settings = {
|
||||||
mainBar = {
|
mainBar = {
|
||||||
layer = "top";
|
layer = "top";
|
||||||
|
|||||||
@@ -4,10 +4,9 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [ waybar ];
|
|
||||||
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.waybar;
|
||||||
settings = {
|
settings = {
|
||||||
mainBar = {
|
mainBar = {
|
||||||
layer = "top";
|
layer = "top";
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|||||||
@@ -1,15 +1,77 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
messengerIcon = pkgs.fetchurl {
|
||||||
|
url = "https://assets.stickpng.com/images/580b57fcd9996e24bc43c526.png";
|
||||||
|
sha256 = "sha256-mQ7TAsLIWLZhun1DrJFgLkkwpqvWujhGT6Ig8Rf6vbc=";
|
||||||
|
};
|
||||||
|
mastodonIcon = pkgs.fetchurl {
|
||||||
|
url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Mastodon_logotype_%28simple%29_new_hue.svg/1200px-Mastodon_logotype_%28simple%29_new_hue.svg.png";
|
||||||
|
sha256 = "sha256-y31Pkl4iExgiM4yZ64t/elA7FYZM1daGQIvYzJdmWhw=";
|
||||||
|
};
|
||||||
|
nextcloudIcon = pkgs.fetchurl {
|
||||||
|
url = "https://cdn.freelogovectors.net/wp-content/uploads/2020/02/nextcloud-logo.png";
|
||||||
|
sha256 = "sha256-vbe3Jz6oNCUlhK81LGlDDFbo6xpUXiDio40bYqJ4lf4=";
|
||||||
|
};
|
||||||
|
chatgptIcon = pkgs.fetchurl {
|
||||||
|
url = "https://static.vecteezy.com/system/resources/previews/031/110/149/large_2x/chatgpt-logo-transparent-free-png.png";
|
||||||
|
sha256 = "sha256-ZWmhchblQkksW02eduVrkUSPAlWPGC2fjqxrAGAF5jw=";
|
||||||
|
};
|
||||||
|
claudeIcon = pkgs.fetchurl {
|
||||||
|
url = "https://registry.npmmirror.com/@lobehub/icons-static-png/1.65.0/files/dark/claude-color.png";
|
||||||
|
sha256 = "sha256-wmYmbmT2/bR4JrnZJu2stjRZm//O5TB9EPE2NQWdGkQ=";
|
||||||
|
};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
mime.enable = true;
|
mime.enable = true;
|
||||||
mimeApps = {
|
mimeApps.enable = true;
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
portal = {
|
portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
|
extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
|
||||||
configPackages = [ pkgs.hyprland ];
|
configPackages = [ pkgs.hyprland ];
|
||||||
};
|
};
|
||||||
|
desktopEntries = {
|
||||||
|
"messenger" = {
|
||||||
|
name = "Messenger";
|
||||||
|
genericName = "Messenger";
|
||||||
|
exec = "chromium --profile-directory=Default --app=https://www.messenger.com/";
|
||||||
|
icon = "${messengerIcon}";
|
||||||
|
terminal = false;
|
||||||
|
type = "Application";
|
||||||
|
};
|
||||||
|
"mastodon" = {
|
||||||
|
name = "Mastodon";
|
||||||
|
genericName = "Mastodon";
|
||||||
|
exec = "chromium --profile-directory=Default --app=https://metalhead.club/";
|
||||||
|
icon = "${mastodonIcon}";
|
||||||
|
terminal = false;
|
||||||
|
type = "Application";
|
||||||
|
};
|
||||||
|
"garandcloud" = {
|
||||||
|
name = "GarandCloud";
|
||||||
|
genericName = "Nextcloud";
|
||||||
|
exec = "chromium --profile-directory=Default --app=https://nextcloud.garandplg.com/";
|
||||||
|
icon = "${nextcloudIcon}";
|
||||||
|
terminal = false;
|
||||||
|
type = "Application";
|
||||||
|
};
|
||||||
|
"chatgpt" = {
|
||||||
|
name = "ChatGPT";
|
||||||
|
genericName = "ChatGPT";
|
||||||
|
exec = "chromium --profile-directory=Default --app=https://chatgpt.com/";
|
||||||
|
icon = "${chatgptIcon}";
|
||||||
|
terminal = false;
|
||||||
|
type = "Application";
|
||||||
|
};
|
||||||
|
"claude" = {
|
||||||
|
name = "Claude";
|
||||||
|
genericName = "Claude";
|
||||||
|
exec = "chromium --profile-directory=Default --app=https://claude.ai/";
|
||||||
|
icon = "${claudeIcon}";
|
||||||
|
terminal = false;
|
||||||
|
type = "Application";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user