initial v2
This commit is contained in:
parent
70e4bc2e69
commit
57c0ac4822
54 changed files with 7507 additions and 1876 deletions
|
@ -1,3 +0,0 @@
|
|||
{...}: {
|
||||
services.flatpak.enable = true;
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{...}: {
|
||||
services = {
|
||||
xserver = {
|
||||
desktopManager.gnome.enable = true;
|
||||
displayManager.gdm = {
|
||||
enable = true;
|
||||
wayland = false;
|
||||
};
|
||||
};
|
||||
gnome = {
|
||||
core-utilities.enable = false;
|
||||
gnome-browser-connector.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
excludePackages = [pkgs.xterm];
|
||||
};
|
||||
|
||||
fonts = {
|
||||
enableDefaultFonts = true;
|
||||
enableGhostscriptFonts = true;
|
||||
fontDir.enable = true;
|
||||
fonts = [pkgs.nerdfonts pkgs.noto-fonts-cjk-sans];
|
||||
};
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{...}: {
|
||||
virtualisation.podman.enable = true;
|
||||
virtualisation.podman.dockerCompat = true;
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
trusted-users = ["root" "relms"];
|
||||
};
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
qemu = {
|
||||
package = pkgs.qemu_full;
|
||||
ovmf.packages = [pkgs.OVMFFull];
|
||||
swtpm = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [(modulesPath + "/profiles/qemu-guest.nix")];
|
||||
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = ["uhci_hcd" "ehci-pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
|
||||
kernelModules = [];
|
||||
};
|
||||
kernelModules = ["kvm-intel"];
|
||||
extraModulePackages = [];
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/sda1";
|
||||
fsType = "xfs";
|
||||
};
|
||||
};
|
||||
|
||||
boot = {
|
||||
loader = {
|
||||
grub = {
|
||||
enable = true;
|
||||
device = "/dev/sda";
|
||||
};
|
||||
};
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
};
|
||||
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
|
||||
zramSwap.enable = true;
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
|
||||
networking.hostName = "crystal-gitlab";
|
||||
networking.useDHCP = true;
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
powerManagement.cpuFreqGovernor = "performance";
|
||||
services.qemuGuest.enable = true;
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
system.stateVersion = "22.11";
|
||||
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
|
||||
user.shell = "${pkgs.fish}/bin/fish";
|
||||
|
||||
nix = {
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
|
||||
config = {pkgs, ...}: {
|
||||
imports = [
|
||||
../../users/relms/base.nix
|
||||
../../users/relms/shell.nix
|
||||
../../users/relms/dev.nix
|
||||
];
|
||||
|
||||
manual.manpages.enable = false;
|
||||
services.gpg-agent.pinentryFlavor = lib.mkForce "curses";
|
||||
programs.neovim.enable = lib.mkForce false;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,57 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
networking.hostName = "skynet";
|
||||
|
||||
services.fprintd.enable = true;
|
||||
systemd.services.fprintd = {
|
||||
wantedBy = ["multi-user.target"];
|
||||
serviceConfig.Type = "simple";
|
||||
};
|
||||
|
||||
services.fwupd.enable = true;
|
||||
services.fwupd.enableTestRemote = true;
|
||||
services.fwupd.extraRemotes = ["lvfs-testing"];
|
||||
|
||||
environment.etc."fwupd/uefi_capsule.conf".text = lib.mkForce ''
|
||||
[uefi_capsule]
|
||||
DisableCapsuleUpdateOnDisk=true
|
||||
OverrideESPMountPoint=/boot/efi
|
||||
'';
|
||||
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
hardware.cpu.intel.updateMicrocode = true;
|
||||
hardware.sensor.iio.enable = true;
|
||||
hardware.opengl.extraPackages = with pkgs; [
|
||||
intel-compute-runtime
|
||||
mesa_drivers
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
intel-media-driver
|
||||
];
|
||||
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
|
||||
};
|
||||
kernelModules = ["kvm-intel"];
|
||||
kernelParams = ["i915.force_probe=46a6"];
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/d0dfd8f7-355c-4d81-a20b-52b522914b96";
|
||||
fsType = "xfs";
|
||||
};
|
||||
"/boot/efi" = {
|
||||
device = "/dev/disk/by-uuid/FD80-0AEA";
|
||||
fsType = "vfat";
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
wsl = {
|
||||
enable = true;
|
||||
wslConf.automount.root = "/mnt";
|
||||
defaultUser = "relms";
|
||||
startMenuLaunchers = true;
|
||||
nativeSystemd = true;
|
||||
};
|
||||
|
||||
networking.hostName = "wsl";
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
}
|
710
flake.lock
710
flake.lock
|
@ -1,141 +1,125 @@
|
|||
{
|
||||
"nodes": {
|
||||
"agenix": {
|
||||
"alejandra": {
|
||||
"inputs": {
|
||||
"darwin": "darwin",
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
"fenix": "fenix",
|
||||
"flakeCompat": "flakeCompat",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733729059,
|
||||
"narHash": "sha256-5xYai0KZirUX2EQpNMMCWoC27932n/i1E4KeVRIss7s=",
|
||||
"owner": "kamadorueda",
|
||||
"repo": "alejandra",
|
||||
"rev": "6db88764334bd6a8b7a33cb312c318baad1d5e93",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "kamadorueda",
|
||||
"repo": "alejandra",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"apple-fonts": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"ny": "ny",
|
||||
"sf-arabic": "sf-arabic",
|
||||
"sf-compact": "sf-compact",
|
||||
"sf-mono": "sf-mono",
|
||||
"sf-pro": "sf-pro"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732029343,
|
||||
"narHash": "sha256-sAOEhA/vfyAKggwyI3PNy2xeNzb/USZl4YNpeSzMRBI=",
|
||||
"owner": "Lyndeno",
|
||||
"repo": "apple-fonts.nix",
|
||||
"rev": "714767021b57d0d30de35eb90e4b748fbbb9c99f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Lyndeno",
|
||||
"repo": "apple-fonts.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"catppuccin": {
|
||||
"inputs": {
|
||||
"catppuccin-v1_1": "catppuccin-v1_1",
|
||||
"catppuccin-v1_2": "catppuccin-v1_2",
|
||||
"home-manager": "home-manager",
|
||||
"home-manager-stable": "home-manager-stable",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nuscht-search": "nuscht-search"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1684153753,
|
||||
"narHash": "sha256-PVbWt3qrjYAK+T5KplFcO+h7aZWfEj1UtyoKlvcDxh0=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "db5637d10f797bb251b94ef9040b237f4702cde3",
|
||||
"lastModified": 1735634086,
|
||||
"narHash": "sha256-DTcB/kBZULyJztXXnH3OVF5LHLl+O670DuLZZNUMnNo=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "63290ea1d2a28e65195017ed78a81cfc242ef0df",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"catppuccin-v1_1": {
|
||||
"locked": {
|
||||
"lastModified": 1734055249,
|
||||
"narHash": "sha256-pCWJgwo77KD7EJpwynwKrWPZ//dwypHq2TfdzZWqK68=",
|
||||
"rev": "7221d6ca17ac36ed20588e1c3a80177ac5843fa7",
|
||||
"revCount": 326,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.1.1/0193bdc0-b045-7eed-bbec-95611a8ecdf5/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/catppuccin/nix/1.1.%2A.tar.gz"
|
||||
}
|
||||
},
|
||||
"catppuccin-v1_2": {
|
||||
"locked": {
|
||||
"lastModified": 1734728407,
|
||||
"narHash": "sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA=",
|
||||
"rev": "23ee86dbf4ed347878115a78971d43025362fab1",
|
||||
"revCount": 341,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/catppuccin/nix/1.2.%2A.tar.gz"
|
||||
}
|
||||
},
|
||||
"fenix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"alejandra",
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673295039,
|
||||
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
|
||||
"lastModified": 1730615655,
|
||||
"narHash": "sha256-2HBR3zLn57LXKNRtxBb+O+uDqHM4n0pz51rPayMl4cg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "efeb50e2535b17ffd4a135e6e3e5fd60a525180c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"ref": "master",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"neovim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685662779,
|
||||
"narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685662779,
|
||||
"narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "flake-parts",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"neovim",
|
||||
"hercules-ci-effects",
|
||||
"hercules-ci-agent",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685662779,
|
||||
"narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -144,11 +128,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685518550,
|
||||
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -157,91 +141,35 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"flakeCompat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1644229661,
|
||||
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"haskell-flake": {
|
||||
"locked": {
|
||||
"lastModified": 1684780604,
|
||||
"narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=",
|
||||
"owner": "srid",
|
||||
"repo": "haskell-flake",
|
||||
"rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "srid",
|
||||
"ref": "0.3.0",
|
||||
"repo": "haskell-flake",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hercules-ci-agent": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
"haskell-flake": "haskell-flake",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1686721748,
|
||||
"narHash": "sha256-ilD6ANYID+b0/+GTFbuZXfmu92bqVqY5ITKXSxqIp5A=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-agent",
|
||||
"rev": "7192b83935ab292a8e894db590dfd44f976e183b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "hercules-ci-agent",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"hercules-ci-effects": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"hercules-ci-agent": "hercules-ci-agent",
|
||||
"nixpkgs": [
|
||||
"neovim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1686830987,
|
||||
"narHash": "sha256-1XLTM0lFr3NV+0rd55SQW/8oQ3ACnqlYcda3FelIwHU=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-effects",
|
||||
"rev": "04e4ab63b9eed2452edee1bb698827e1cb8265c6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-effects",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"catppuccin",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687337969,
|
||||
"narHash": "sha256-5b58eo7Eku2ae+62HHHTbHtwe4jlS44JfYCDulGdopg=",
|
||||
"lastModified": 1734622215,
|
||||
"narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "9ce6977fe76fb408042a432e314764f8d1d86263",
|
||||
"rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -250,282 +178,248 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"neovim": {
|
||||
"home-manager-stable": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"catppuccin",
|
||||
"nixpkgs-stable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734366194,
|
||||
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"hercules-ci-effects": "hercules-ci-effects",
|
||||
"neovim-flake": "neovim-flake",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687305901,
|
||||
"narHash": "sha256-dOxIJUGafmsBgvQp9wrX7AkH9Dgc55bFUtARBSsvvg8=",
|
||||
"lastModified": 1735774425,
|
||||
"narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "3293647eeb76c09d03f6d12ee38472a87f303836",
|
||||
"repo": "home-manager",
|
||||
"rev": "5f6aa268e419d053c3d5025da740e390b12ac936",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"neovim-flake": {
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"neovim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"dir": "contrib",
|
||||
"lastModified": 1687288633,
|
||||
"narHash": "sha256-ruvOPW2915R3Jbb/PCKUCwojA9koBK+D+NFu1ZWpZHA=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "3bf887f6e08fa272679187340ca483809275b20a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"dir": "contrib",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-formatter-pack": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nix-on-droid",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nmd": "nmd",
|
||||
"nmt": "nmt"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1666720474,
|
||||
"narHash": "sha256-iWojjDS1D19zpeZXbBdjWb9MiKmVVFQCqtJmtTXgPx8=",
|
||||
"owner": "Gerschtli",
|
||||
"repo": "nix-formatter-pack",
|
||||
"rev": "14876cc8fe94a3d329964ecb073b4c988c7b61f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Gerschtli",
|
||||
"repo": "nix-formatter-pack",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-on-droid": {
|
||||
"inputs": {
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
],
|
||||
"nix-formatter-pack": "nix-formatter-pack",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
|
||||
"nmd": "nmd_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1684353543,
|
||||
"narHash": "sha256-0b85kcdeM1WgGZZn0L4fke39xcVpO99hidzcpqvNOcQ=",
|
||||
"owner": "t184256",
|
||||
"repo": "nix-on-droid",
|
||||
"rev": "064e1b280e4711ecea0d7abbe885362cbf7b717a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "t184256",
|
||||
"repo": "nix-on-droid",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1686838567,
|
||||
"narHash": "sha256-aqKCUD126dRlVSKV6vWuDCitfjFrZlkwNuvj5LtjRRU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "429f232fe1dc398c5afea19a51aad6931ee0fb89",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-wsl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-utils": [
|
||||
"utils"
|
||||
"catppuccin",
|
||||
"nuscht-search",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"catppuccin",
|
||||
"nuscht-search",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687279045,
|
||||
"narHash": "sha256-LR0dsXd/A07M61jclyBUW0wRojEQteWReKM35zoJXp0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-wsl",
|
||||
"rev": "a8486b5d191f11d571f15d80b6e265d1712d01cf",
|
||||
"lastModified": 1729958008,
|
||||
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-wsl",
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.6",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-flatpak": {
|
||||
"locked": {
|
||||
"lastModified": 1734128415,
|
||||
"narHash": "sha256-HLwdVNxpuTsLlM3tCkpbQU6yCehdgf3kOS1G2SDlkzY=",
|
||||
"owner": "gmodena",
|
||||
"repo": "nix-flatpak",
|
||||
"rev": "8bdc2540da516006d07b04019eb57ae0781a04b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "gmodena",
|
||||
"ref": "latest",
|
||||
"repo": "nix-flatpak",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-facter-modules": {
|
||||
"locked": {
|
||||
"lastModified": 1734596637,
|
||||
"narHash": "sha256-MRqwVAe3gsb88u4ME1UidmZFVCx+FEnoob0zkpO9DMY=",
|
||||
"owner": "numtide",
|
||||
"repo": "nixos-facter-modules",
|
||||
"rev": "536472754982bf03079b4b4e0261838a760587c0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "nixos-facter-modules",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1686501370,
|
||||
"narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1735471104,
|
||||
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519",
|
||||
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-for-bootstrap": {
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1669834992,
|
||||
"narHash": "sha256-YnhZGHgb4C3Q7DSGisO/stc50jFb9F/MzHeKS4giotg=",
|
||||
"lastModified": 1734600368,
|
||||
"narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "596a8e828c5dfa504f91918d0fa4152db3ab5502",
|
||||
"rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "596a8e828c5dfa504f91918d0fa4152db3ab5502",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"nuscht-search": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"catppuccin",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"dir": "lib",
|
||||
"lastModified": 1685564631,
|
||||
"narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a",
|
||||
"lastModified": 1733773348,
|
||||
"narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"dir": "lib",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1687274257,
|
||||
"narHash": "sha256-TutzPriQcZ8FghDhEolnHcYU2oHIG5XWF+/SUBNnAOE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2c9ecd1f0400076a4d6b2193ad468ff0a7e7fdc5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nmd": {
|
||||
"ny": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1666190571,
|
||||
"narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
|
||||
"owner": "rycee",
|
||||
"repo": "nmd",
|
||||
"rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
|
||||
"type": "gitlab"
|
||||
"narHash": "sha256-3257NAH4qlan2YHVLpNRy7x8IJqR2pal3OzFo/ykqXs=",
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rycee",
|
||||
"repo": "nmd",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"nmd_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1666190571,
|
||||
"narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
|
||||
"owner": "rycee",
|
||||
"repo": "nmd",
|
||||
"rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rycee",
|
||||
"repo": "nmd",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"nmt": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1648075362,
|
||||
"narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
|
||||
"owner": "rycee",
|
||||
"repo": "nmt",
|
||||
"rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rycee",
|
||||
"repo": "nmt",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1687352478,
|
||||
"narHash": "sha256-vMXSNPRlBoZfvBM5AsJWl4kOqdMeArw4Jf8L1L3FWsI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "df4604971171682d14dc49e71106f9e2ba1f3512",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"home-manager": "home-manager",
|
||||
"neovim": "neovim",
|
||||
"nix-on-droid": "nix-on-droid",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixos-wsl": "nixos-wsl",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nur": "nur",
|
||||
"utils": "utils"
|
||||
"alejandra": "alejandra",
|
||||
"apple-fonts": "apple-fonts",
|
||||
"catppuccin": "catppuccin",
|
||||
"home-manager": "home-manager_2",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixos-facter-modules": "nixos-facter-modules",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1730555913,
|
||||
"narHash": "sha256-KNHZUlqsEibg3YtfUyOFQSofP8hp1HKoY+laoesBxRM=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "f17a5bbfd0969ba2e63a74505a80e55ecb174ed9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rust-lang",
|
||||
"ref": "nightly",
|
||||
"repo": "rust-analyzer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"sf-arabic": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-/0gjRimqvZyE60xYxxPdlU+7Q2LJnnvtbmwOP0YmS9U=",
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg"
|
||||
},
|
||||
"original": {
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg"
|
||||
}
|
||||
},
|
||||
"sf-compact": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-J72Lyt2wy83E46wN8w6/Rih9kilM9wEjtY6KnbF0DsA=",
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
|
||||
},
|
||||
"original": {
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
|
||||
}
|
||||
},
|
||||
"sf-mono": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-ICdHRFdNL7PM/fXJUzS7LgZxZiqcyIuCMHLze4En4vg=",
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
|
||||
},
|
||||
"original": {
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
|
||||
}
|
||||
},
|
||||
"sf-pro": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-Q/pOQ4MGhW/ZtLka+UUQcwSoZFDWW34XvutxL4GvzUY=",
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
|
||||
},
|
||||
"original": {
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
|
@ -542,24 +436,6 @@
|
|||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657226504,
|
||||
"narHash": "sha256-GIYNjuq4mJlFgqKsZ+YrgzWm0IpA4axA3MCrdKYj7gs=",
|
||||
"owner": "gytis-ivaskevicius",
|
||||
"repo": "flake-utils-plus",
|
||||
"rev": "2bf0f91643c2e5ae38c1b26893ac2927ac9bd82a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "gytis-ivaskevicius",
|
||||
"repo": "flake-utils-plus",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
305
flake.nix
305
flake.nix
|
@ -1,158 +1,223 @@
|
|||
{
|
||||
description = "The nix flake for all my systems";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
|
||||
neovim.url = "github:nix-community/neovim-nightly-overlay";
|
||||
neovim.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nur.url = "github:nix-community/NUR";
|
||||
nixos-facter-modules.url = "github:numtide/nixos-facter-modules";
|
||||
|
||||
utils.url = "github:gytis-ivaskevicius/flake-utils-plus";
|
||||
apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
|
||||
apple-fonts.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nixos-wsl.url = "github:nix-community/nixos-wsl";
|
||||
nixos-wsl.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nixos-wsl.inputs.flake-utils.follows = "utils";
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
catppuccin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nix-on-droid.url = "github:t184256/nix-on-droid";
|
||||
nix-on-droid.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nix-on-droid.inputs.home-manager.follows = "home-manager";
|
||||
alejandra.url = "github:kamadorueda/alejandra";
|
||||
alejandra.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||
|
||||
agenix.url = "github:ryantm/agenix";
|
||||
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
agenix.inputs.home-manager.follows = "home-manager";
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
};
|
||||
outputs = {
|
||||
outputs = inputs @ {
|
||||
self,
|
||||
nixpkgs,
|
||||
utils,
|
||||
home-manager,
|
||||
neovim,
|
||||
nur,
|
||||
nixos-wsl,
|
||||
nix-on-droid,
|
||||
nixos-hardware,
|
||||
agenix,
|
||||
nixos-facter-modules,
|
||||
catppuccin,
|
||||
alejandra,
|
||||
nix-flatpak,
|
||||
...
|
||||
}: let
|
||||
modules = {
|
||||
home = {
|
||||
common = [
|
||||
./users/relms/base.nix
|
||||
./users/relms/shell.nix
|
||||
];
|
||||
dev = [
|
||||
./users/relms/dev.nix
|
||||
./users/relms/neovim.nix
|
||||
];
|
||||
gui = [
|
||||
./users/relms/gui.nix
|
||||
];
|
||||
hardware = {
|
||||
boot = {
|
||||
grub = [
|
||||
./hardware/boot/grub.nix
|
||||
];
|
||||
};
|
||||
devices = {
|
||||
wahnix = [
|
||||
./hardware/devices/wahnix.nix
|
||||
];
|
||||
};
|
||||
drivers = {
|
||||
controllers = {
|
||||
xbox = [
|
||||
./hardware/drivers/controllers/xbox.nix
|
||||
];
|
||||
};
|
||||
cpu = {
|
||||
intel = [
|
||||
./hardware/drivers/cpu/intel.nix
|
||||
];
|
||||
};
|
||||
video = {
|
||||
base = [
|
||||
./hardware/drivers/video/base.nix
|
||||
];
|
||||
intel = [
|
||||
./hardware/drivers/video/intel.nix
|
||||
];
|
||||
nvidia = [
|
||||
./hardware/drivers/video/nvidia.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
nixos = {
|
||||
common = [
|
||||
./common/personal.nix
|
||||
./common/nix.nix
|
||||
./devices/common.nix
|
||||
base = [
|
||||
./system/nix.nix
|
||||
];
|
||||
dev = [
|
||||
./common/dev/podman.nix
|
||||
];
|
||||
services = {
|
||||
common = [
|
||||
./services/openssh.nix
|
||||
];
|
||||
};
|
||||
desktops = {
|
||||
common = [
|
||||
./common/desktop/apps.nix
|
||||
./common/desktop/media.nix
|
||||
./common/desktop/xorg.nix
|
||||
apps = [
|
||||
./system/desktop/apps.nix
|
||||
];
|
||||
gnome = [
|
||||
./common/desktop/gnome.nix
|
||||
displaymanagers = {
|
||||
tuigreet = [
|
||||
./system/desktop/displaymanagers/tuigreet.nix
|
||||
];
|
||||
};
|
||||
environments = {
|
||||
hyprland = [
|
||||
./system/desktop/environments/hyprland.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
security = {
|
||||
sudo = [
|
||||
./system/security/sudo.nix
|
||||
];
|
||||
};
|
||||
services = {
|
||||
bluetooth = [
|
||||
./system/services/bluetooth.nix
|
||||
];
|
||||
flatpak = [
|
||||
./system/services/flatpak.nix
|
||||
];
|
||||
networkmanager = [
|
||||
./system/services/networkmanager.nix
|
||||
];
|
||||
openssh = [
|
||||
./system/services/openssh.nix
|
||||
];
|
||||
pipewire = [
|
||||
./system/services/pipewire.nix
|
||||
];
|
||||
};
|
||||
users = {
|
||||
relms = [
|
||||
./system/users/relms.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
home = {
|
||||
apps = {
|
||||
audio = {
|
||||
pulseaudio = [
|
||||
./home/modules/apps/audio/pulesaudio.nix
|
||||
];
|
||||
};
|
||||
browsers = {
|
||||
firefox = [
|
||||
./home/modules/apps/browsers/firefox.nix
|
||||
];
|
||||
};
|
||||
terminals = {
|
||||
kitty = [
|
||||
./home/modules/apps/terminals/kitty.nix
|
||||
];
|
||||
};
|
||||
flatpak = [
|
||||
./home/modules/apps/flatpak.nix
|
||||
];
|
||||
};
|
||||
cli = {
|
||||
development = [
|
||||
./home/modules/cli/development.nix
|
||||
./home/modules/cli/neovim.nix
|
||||
];
|
||||
shell = [
|
||||
./home/modules/cli/shell.nix
|
||||
];
|
||||
};
|
||||
desktop = {
|
||||
environments = {
|
||||
hyprland = [
|
||||
./home/modules/desktop/environments/hyprland.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
users = {
|
||||
relms = [
|
||||
./home/users/relms.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
pkgsForSystem = system:
|
||||
import nixpkgs {
|
||||
overlays = [nur.overlay (utils.lib.genPkgOverlay neovim "neovim")];
|
||||
inherit system;
|
||||
};
|
||||
in {
|
||||
packages.x86_64-linux.nerd-fonts-sf-mono-ligatures = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/fonts/nerd-fonts-sf-mono-ligatures.nix {};
|
||||
|
||||
nixosConfigurations = {
|
||||
skynet = nixpkgs.lib.nixosSystem {
|
||||
pkgs = pkgsForSystem "x86_64-linux";
|
||||
wahnix = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
modules =
|
||||
modules.nixos.common
|
||||
++ modules.nixos.dev
|
||||
++ modules.nixos.services.common
|
||||
++ modules.nixos.desktops.common
|
||||
++ modules.nixos.desktops.gnome
|
||||
modules.nixos.base
|
||||
++ modules.nixos.desktops.apps
|
||||
++ modules.nixos.desktops.displaymanagers.tuigreet
|
||||
++ modules.nixos.desktops.environments.hyprland
|
||||
++ modules.nixos.security.sudo
|
||||
++ modules.nixos.services.bluetooth
|
||||
++ modules.nixos.services.flatpak
|
||||
++ modules.nixos.services.networkmanager
|
||||
++ modules.nixos.services.openssh
|
||||
++ modules.nixos.services.pipewire
|
||||
++ modules.nixos.users.relms
|
||||
++ modules.hardware.boot.grub
|
||||
++ modules.hardware.devices.wahnix
|
||||
++ modules.hardware.drivers.controllers.xbox
|
||||
++ modules.hardware.drivers.cpu.intel
|
||||
++ modules.hardware.drivers.video.base
|
||||
++ modules.hardware.drivers.video.intel
|
||||
++ modules.hardware.drivers.video.nvidia
|
||||
++ [
|
||||
./common/virt/libvirt.nix
|
||||
./devices/skynet/base.nix
|
||||
nixos-hardware.nixosModules.framework-12th-gen-intel
|
||||
agenix.nixosModules.default
|
||||
];
|
||||
};
|
||||
|
||||
wsl = nixpkgs.lib.nixosSystem {
|
||||
pkgs = pkgsForSystem "x86_64-linux";
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
nixos-wsl.nixosModules.wsl
|
||||
./common/personal.nix
|
||||
./common/nix.nix
|
||||
./devices/wsl/base.nix
|
||||
];
|
||||
};
|
||||
|
||||
crystal-gitlab = nixpkgs.lib.nixosSystem {
|
||||
pkgs = pkgsForSystem "x86_64-linux";
|
||||
system = "x86_64-linux";
|
||||
modules =
|
||||
modules.nixos.services.common
|
||||
++ [
|
||||
agenix.nixosModules.default
|
||||
./devices/crystal-gitlab/base.nix
|
||||
./services/crystal/gitlab-runner.nix
|
||||
./common/personal.nix
|
||||
./common/nix.nix
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
catppuccin.nixosModules.catppuccin
|
||||
nixos-facter-modules.nixosModules.facter
|
||||
{config.facter.reportPath = ./wahnix-facter.json;}
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit self;
|
||||
inherit inputs;
|
||||
};
|
||||
home-manager.users.relms = {
|
||||
imports =
|
||||
modules.home.users.relms
|
||||
++ modules.home.apps.audio.pulseaudio
|
||||
++ modules.home.apps.browsers.firefox
|
||||
++ modules.home.apps.terminals.kitty
|
||||
++ modules.home.apps.flatpak
|
||||
++ modules.home.cli.development
|
||||
++ modules.home.cli.shell
|
||||
++ modules.home.desktop.environments.hyprland
|
||||
++ [
|
||||
catppuccin.homeManagerModules.catppuccin
|
||||
nix-flatpak.homeManagerModules.nix-flatpak
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
homeConfigurations.relms = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = pkgsForSystem "x86_64-linux";
|
||||
modules =
|
||||
modules.home.common
|
||||
++ modules.home.dev
|
||||
++ modules.home.gui
|
||||
++ [
|
||||
{
|
||||
home = {
|
||||
homeDirectory = "/home/relms";
|
||||
username = "relms";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration {
|
||||
pkgs = pkgsForSystem "aarch64-linux";
|
||||
system = "aarch64-linux";
|
||||
modules = [./devices/pixel/base.nix];
|
||||
};
|
||||
|
||||
formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra;
|
||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
||||
formatter.aarch64-linux = alejandra.defaultPackage.aarch64-linux;
|
||||
formatter.x86_64-linux = alejandra.defaultPackage.x86_64-linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,22 +6,13 @@
|
|||
device = "nodev";
|
||||
useOSProber = true;
|
||||
efiSupport = true;
|
||||
memtest86.enable = true;
|
||||
};
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot/efi";
|
||||
};
|
||||
};
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelPackages = pkgs.linuxKernel.packages.linux_zen;
|
||||
};
|
||||
|
||||
hardware = {
|
||||
xpadneo.enable = true;
|
||||
};
|
||||
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
|
||||
zramSwap.enable = true;
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
}
|
16
hardware/devices/wahnix.nix
Normal file
16
hardware/devices/wahnix.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{...}: {
|
||||
networking.hostName = "wahnix";
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/42e669ff-7713-4210-81e0-f0024b4e7e81";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot/efi" = {
|
||||
device = "/dev/disk/by-uuid/A454-A58C";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
}
|
3
hardware/drivers/controllers/xbox.nix
Normal file
3
hardware/drivers/controllers/xbox.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
hardware.xpadneo.enable = true;
|
||||
}
|
3
hardware/drivers/cpu/intel.nix
Normal file
3
hardware/drivers/cpu/intel.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
hardware.cpu.intel.updateMicrocode = true;
|
||||
}
|
19
hardware/drivers/video/base.nix
Normal file
19
hardware/drivers/video/base.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
extraPackages = lib.mkDefault [];
|
||||
extraPackages32 = lib.mkDefault [];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
glxinfo
|
||||
vulkan-tools
|
||||
clinfo
|
||||
libva-utils
|
||||
vdpauinfo
|
||||
];
|
||||
}
|
13
hardware/drivers/video/intel.nix
Normal file
13
hardware/drivers/video/intel.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
hardware.graphics.extraPackages = with pkgs; [
|
||||
vpl-gpu-rt
|
||||
intel-media-driver
|
||||
intel-compute-runtime
|
||||
];
|
||||
|
||||
services.xserver.videoDrivers = ["modesetting"];
|
||||
}
|
16
hardware/drivers/video/nvidia.nix
Normal file
16
hardware/drivers/video/nvidia.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{config, ...}: {
|
||||
hardware.nvidia = {
|
||||
open = true;
|
||||
prime = {
|
||||
intelBusId = "PCI:0:2:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
boot.blacklistedKernelModules = ["nouveau"];
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
}
|
5
home/modules/apps/audio/pulesaudio.nix
Normal file
5
home/modules/apps/audio/pulesaudio.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
pavucontrol
|
||||
];
|
||||
}
|
6
home/modules/apps/browsers/firefox.nix
Normal file
6
home/modules/apps/browsers/firefox.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
languagePacks = ["en-US"];
|
||||
};
|
||||
}
|
6
home/modules/apps/flatpak.nix
Normal file
6
home/modules/apps/flatpak.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
services.flatpak.packages = [
|
||||
"com.discordapp.Discord"
|
||||
"org.telegram.desktop"
|
||||
];
|
||||
}
|
46
home/modules/apps/terminals/kitty.nix
Normal file
46
home/modules/apps/terminals/kitty.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
self,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
package = self.packages.${pkgs.system}.nerd-fonts-sf-mono-ligatures;
|
||||
name = "Liga SFMonoNerdFont";
|
||||
size = 10;
|
||||
};
|
||||
settings = {
|
||||
# Cursor Settings
|
||||
cursor_shape = "beam";
|
||||
cursor_shape_unfocused = "unchanged";
|
||||
cursor_stop_blinking_after = 0;
|
||||
|
||||
# Scrollback Settings
|
||||
scrollback_lines = 10000;
|
||||
scrollback_pager_history_size = 2048;
|
||||
scrollback_fill_enlarged_window = "yes";
|
||||
|
||||
# Mouse Settings
|
||||
mouse_hide_wait = 0;
|
||||
url_style = "straight";
|
||||
|
||||
# Bell Settings
|
||||
enable_audio_bell = "no";
|
||||
|
||||
# Window Settings
|
||||
hide_window_decorations = "yes";
|
||||
|
||||
# Tab Settings
|
||||
tab_bar_edge = "top";
|
||||
};
|
||||
shellIntegration = {
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
};
|
||||
|
||||
catppuccin.kitty = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
};
|
||||
}
|
|
@ -1,8 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
rustup
|
||||
];
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
package = pkgs.gitAndTools.gitFull;
|
||||
|
@ -22,7 +18,7 @@
|
|||
};
|
||||
extraConfig = {
|
||||
init = {
|
||||
defaultBranch = "main";
|
||||
defaultBranch = "master";
|
||||
};
|
||||
pull = {
|
||||
rebase = false;
|
||||
|
@ -33,6 +29,18 @@
|
|||
core = {
|
||||
editor = "nvim";
|
||||
};
|
||||
color = {
|
||||
ui = "auto";
|
||||
};
|
||||
diff = {
|
||||
colorMoved = "default";
|
||||
};
|
||||
tag = {
|
||||
forceSignAnnotated = true;
|
||||
};
|
||||
pack = {
|
||||
writeReversedIndex = true;
|
||||
};
|
||||
};
|
||||
signing = {
|
||||
signByDefault = true;
|
||||
|
@ -43,20 +51,18 @@
|
|||
programs.direnv.enable = true;
|
||||
programs.direnv.nix-direnv.enable = true;
|
||||
|
||||
programs.lazygit.enable = true;
|
||||
programs.lazygit.settings = {
|
||||
gui = {
|
||||
showIcons = true;
|
||||
};
|
||||
git = {
|
||||
paging = {
|
||||
colorArg = "always";
|
||||
pager = "delta --dark --paging=never";
|
||||
};
|
||||
commit = {
|
||||
signOff = true;
|
||||
};
|
||||
parseEmoji = true;
|
||||
};
|
||||
programs.gpg.enable = true;
|
||||
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableScDaemon = true;
|
||||
enableSshSupport = true;
|
||||
pinentryPackage = pkgs.pinentry-rofi;
|
||||
};
|
||||
|
||||
catppuccin.delta = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
};
|
||||
}
|
49
home/modules/cli/neovim.nix
Normal file
49
home/modules/cli/neovim.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
vimdiffAlias = true;
|
||||
withNodeJs = true;
|
||||
withPython3 = true;
|
||||
withRuby = true;
|
||||
extraPackages = with pkgs; [
|
||||
# Compilers
|
||||
gcc
|
||||
go
|
||||
dotnet-sdk
|
||||
|
||||
# Rust
|
||||
rustc
|
||||
cargo
|
||||
|
||||
# Nix
|
||||
nixd
|
||||
inputs.alejandra.defaultPackage.${pkgs.system}
|
||||
deadnix
|
||||
statix
|
||||
|
||||
# Utils
|
||||
unzip
|
||||
gnumake
|
||||
wl-clipboard
|
||||
fd
|
||||
tree-sitter
|
||||
wget
|
||||
imagemagick
|
||||
];
|
||||
extraPython3Packages = pyPkgs:
|
||||
with pyPkgs; [
|
||||
pip
|
||||
];
|
||||
extraLuaPackages = luaPkgs:
|
||||
with luaPkgs; [
|
||||
magick
|
||||
];
|
||||
};
|
||||
}
|
93
home/modules/cli/shell.nix
Normal file
93
home/modules/cli/shell.nix
Normal file
|
@ -0,0 +1,93 @@
|
|||
{lib, ...}: {
|
||||
programs.htop.enable = true;
|
||||
|
||||
programs.btop.enable = true;
|
||||
|
||||
programs.fastfetch.enable = true;
|
||||
|
||||
programs.eza.enable = true;
|
||||
programs.eza.git = true;
|
||||
programs.eza.icons = "auto";
|
||||
|
||||
programs.ripgrep.enable = true;
|
||||
|
||||
programs.bat.enable = true;
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
ls = "eza -laghHUum@ --sort name --group-directories-first --git --icons";
|
||||
tree = "eza -laghHUumRT@ --sort name --group-directories-first --git --icons";
|
||||
nixos-rebuild = "sudo nixos-rebuild --flake ~/git/flake#wahnix";
|
||||
};
|
||||
};
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableTransience = true;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
format = lib.concatStrings ["$username@$hostname" " " "$directory" " " "$all$character"];
|
||||
right_format = "$cmd_duration";
|
||||
directory = {
|
||||
format = "[$path]($style)[$read_only]($read_only_style)";
|
||||
read_only = " 🔒";
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
format = "[$hostname]($style)";
|
||||
};
|
||||
username = {
|
||||
show_always = true;
|
||||
format = "[$user]($style)";
|
||||
};
|
||||
shell = {
|
||||
disabled = false;
|
||||
};
|
||||
status = {
|
||||
disabled = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.atuin = {
|
||||
enable = true;
|
||||
daemon.enable = true;
|
||||
settings = {
|
||||
dialect = "us";
|
||||
timezone = "local";
|
||||
auto_sync = true;
|
||||
update_check = false;
|
||||
sync_address = "https://atuin.relms.dev";
|
||||
sync_frequency = "10m";
|
||||
filter_mode = "workspace";
|
||||
workspaces = true;
|
||||
style = "auto";
|
||||
show_preview = true;
|
||||
show_help = true;
|
||||
show_tabs = true;
|
||||
enter_accept = false;
|
||||
keymap_mode = "vim-normal";
|
||||
};
|
||||
};
|
||||
|
||||
catppuccin = {
|
||||
fish = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
};
|
||||
btop = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
};
|
||||
bat = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
};
|
||||
};
|
||||
}
|
465
home/modules/desktop/environments/hyprland.nix
Normal file
465
home/modules/desktop/environments/hyprland.nix
Normal file
|
@ -0,0 +1,465 @@
|
|||
{
|
||||
self,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.enable = false;
|
||||
xwayland.enable = true;
|
||||
settings = {
|
||||
"$mod" = "SUPER";
|
||||
|
||||
exec-once = [
|
||||
"hyprctl setcursor 24"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
"eDP-1, 2560x1600@240, 0x0, 1.25"
|
||||
];
|
||||
|
||||
bind = [
|
||||
"$mod, Return, exec, kitty"
|
||||
"$mod, B, exec, firefox"
|
||||
"$mod, Space, exec, rofi -show drun"
|
||||
"$mod, C, exec, rofi -show calc"
|
||||
"$mod, P, exec, rofi -show powermenu -modi powermenu:${pkgs.rofi-power-menu}/bin/rofi-power-menu"
|
||||
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
|
||||
"$mod_SHIFT, 1, movetoworkspacesilent, 1"
|
||||
"$mod_SHIFT, 2, movetoworkspacesilent, 2"
|
||||
"$mod_SHIFT, 3, movetoworkspacesilent, 3"
|
||||
"$mod_SHIFT, 4, movetoworkspacesilent, 4"
|
||||
"$mod_SHIFT, 5, movetoworkspacesilent, 5"
|
||||
"$mod_SHIFT, 6, movetoworkspacesilent, 6"
|
||||
"$mod_SHIFT, 7, movetoworkspacesilent, 7"
|
||||
"$mod_SHIFT, 8, movetoworkspacesilent, 8"
|
||||
"$mod_SHIFT, 9, movetoworkspacesilent, 9"
|
||||
|
||||
"$mod_SHIFT, left, movewindow, l"
|
||||
"$mod_SHIFT, right, movewindow, r"
|
||||
"$mod_SHIFT, up, movewindow, u"
|
||||
"$mod_SHIFT, down, movewindow, d"
|
||||
|
||||
"$mod, left, resizeactive, -20 0"
|
||||
"$mod, right, resizeactive, 20 0"
|
||||
"$mod, up, resizeactive, 0 -20"
|
||||
"$mod, down, resizeactive, 0 20"
|
||||
|
||||
"$mod_SHIFT, S, setfloating"
|
||||
"$mod_SHIFT, T, settiled"
|
||||
"$mod_SHIFT, F, fullscreen"
|
||||
|
||||
"$mod, V, killactive"
|
||||
"$mod_ALT, Q, exec, loginctl terminate-user \"\""
|
||||
"$mod_ALT, R, exec, hyprctl reload"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
];
|
||||
|
||||
general = {
|
||||
border_size = 1;
|
||||
gaps_out = "0, 8, 8, 8";
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
preserve_split = true;
|
||||
smart_split = false;
|
||||
smart_resizing = false;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
shadow = {
|
||||
range = 5;
|
||||
};
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_create_new = true;
|
||||
workspace_swipe_min_speed_to_force = 0;
|
||||
};
|
||||
|
||||
misc = {
|
||||
font_family = "SFProDisplay Nerd Font";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
package = pkgs.waybar.overrideAttrs (prev: {
|
||||
version = "git";
|
||||
mesonFlags = prev.mesonFlags ++ (lib.mapAttrsToList lib.mesonEnable {"cava" = false;});
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Alexays";
|
||||
repo = "Waybar";
|
||||
rev = "ac08b752e38986f4ddcc13d257aea2fafcedbc92";
|
||||
sha256 = "sha256-sbzyQjOag5OC7rSrMW68srjd1k62i9qLmtmFHVu73eA=";
|
||||
};
|
||||
patches = [];
|
||||
});
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
margin = "8";
|
||||
|
||||
modules-left = ["custom/nixicon" "hyprland/workspaces" "hyprland/window"];
|
||||
modules-center = ["clock"];
|
||||
modules-right = ["tray"];
|
||||
|
||||
"custom/nixicon" = {
|
||||
format = " ";
|
||||
tooltip = false;
|
||||
};
|
||||
|
||||
clock = {
|
||||
interval = 1;
|
||||
locale = "en_US.utf8";
|
||||
format = "{:L%r}";
|
||||
format-alt = "{:L%r, %A, %B %d %Y}";
|
||||
timezone = "America/Los_Angeles";
|
||||
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
||||
calendar = {
|
||||
mode = "year";
|
||||
mode-mon-col = 3;
|
||||
weeks-pos = "right";
|
||||
format = {
|
||||
months = "<span color='#fab387'><b>{}</b></span>";
|
||||
days = "<span color='#f5e0dc'><b>{}</b></span>";
|
||||
weeks = "<span color='#a6e3a1'><b>W{}</b></span>";
|
||||
weekdays = "<span color='#f9e2af'><b>{}</b></span>";
|
||||
today = "<span color='#f38ba8'><b><u>{}</u></b></span>";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
active-only = false;
|
||||
all-outputs = true;
|
||||
persistent-workspaces = {
|
||||
"*" = 9;
|
||||
};
|
||||
};
|
||||
|
||||
"hyprland/window" = {
|
||||
icon = true;
|
||||
max-length = 50;
|
||||
};
|
||||
|
||||
tray = {
|
||||
icon-size = 21;
|
||||
spacing = 10;
|
||||
show-passive-items = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
* {
|
||||
font-family: "SF ProDisplay Nerd Font";
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background-color: #1e1e2e;
|
||||
border: 1px solid #f5c2e7;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#window {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#custom-nixicon {
|
||||
font-size: 24px;
|
||||
color: #7EBAE4;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
background-color: #313244;
|
||||
|
||||
border-bottom-style: solid;
|
||||
border-color: #000000;
|
||||
border-width: 3px;
|
||||
}
|
||||
|
||||
#workspaces button.empty {
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
border-bottom-style: solid;
|
||||
border-color: white;
|
||||
border-width: 3px;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
border-bottom-style: solid;
|
||||
border-color: red;
|
||||
border-width: 3px;
|
||||
|
||||
animation: blinker 1s step-start infinite;
|
||||
}
|
||||
|
||||
#workspaces button:nth-child(1) {
|
||||
border-radius: 5px 0px 0px 5px;
|
||||
}
|
||||
|
||||
#workspaces button:nth-child(9) {
|
||||
border-radius: 0px 5px 5px 0px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
border-radius: 0px 5px 5px 0px;
|
||||
margin: 5px;
|
||||
padding: 5px;
|
||||
background-color: #313244;
|
||||
}
|
||||
|
||||
@keyframes blinker {
|
||||
50% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
font = "SFProDisplay Nerd Font 10";
|
||||
location = "center";
|
||||
terminal = "${pkgs.kitty}/bin/kitty";
|
||||
extraConfig = {
|
||||
modi = "run,drun,window,calc";
|
||||
show-icons = true;
|
||||
drun-display-format = "{icon} {name}";
|
||||
location = 0;
|
||||
disable-history = false;
|
||||
hide-scrollbar = true;
|
||||
display-drun = " Apps ";
|
||||
display-run = " Run ";
|
||||
display-window = " Window";
|
||||
display-calc = " Calc";
|
||||
sidebar-mode = true;
|
||||
};
|
||||
theme = let
|
||||
inherit (config.lib.formats.rasi) mkLiteral;
|
||||
in {
|
||||
listview = {
|
||||
columns = 1;
|
||||
lines = 15;
|
||||
};
|
||||
|
||||
window = {
|
||||
border-color = mkLiteral "#f5c2e7";
|
||||
border-radius = mkLiteral "10px";
|
||||
};
|
||||
|
||||
"element selected" = {
|
||||
background-color = mkLiteral "#313244";
|
||||
};
|
||||
};
|
||||
plugins = with pkgs; [
|
||||
rofi-power-menu
|
||||
(rofi-calc.override
|
||||
{rofi-unwrapped = rofi-wayland-unwrapped;})
|
||||
];
|
||||
};
|
||||
|
||||
programs.hyprlock.enable = true;
|
||||
# services.hypridle.enable = true;
|
||||
|
||||
services.mako = {
|
||||
enable = true;
|
||||
actions = true;
|
||||
borderRadius = 10;
|
||||
defaultTimeout = 5000;
|
||||
font = "SFProDisplay Nerd Font 10";
|
||||
};
|
||||
|
||||
services.xsettingsd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"Gtk/CursorThemeName" = "catppuccin-mocha-pink-cursors";
|
||||
"Gtk/CursorThemeSize" = 30;
|
||||
"Xft/Hinting" = 0;
|
||||
"Xft/HintStyle" = "hintnone";
|
||||
"Xft/Antialias" = 1;
|
||||
"Xft/RGBA" = "rgb";
|
||||
};
|
||||
};
|
||||
|
||||
xresources.properties = {
|
||||
"Xft.antialias" = 1;
|
||||
"Xft.hinting" = 0;
|
||||
"Xft.rgba" = "rgb";
|
||||
"Xft.hintstyle" = "hintnone";
|
||||
};
|
||||
|
||||
services.flatpak.overrides = {
|
||||
global = {
|
||||
Context.sockets = ["wayland" "!x11" "!fallback-x11"];
|
||||
|
||||
Environment = {
|
||||
XCURSOR_PATH = "/run/host/user-share/icons:/run/host/share/icons";
|
||||
};
|
||||
};
|
||||
|
||||
"com.discordapp.Discord".Context = {
|
||||
sockets = ["x11"];
|
||||
};
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
hyprcursor = {
|
||||
enable = true;
|
||||
size = 24;
|
||||
};
|
||||
size = 24;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
font = {
|
||||
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
|
||||
name = "SFProDisplay Nerd Font";
|
||||
size = 10;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = "kvantum";
|
||||
platformTheme.name = "kvantum";
|
||||
};
|
||||
|
||||
fonts.fontconfig = {
|
||||
enable = true;
|
||||
|
||||
defaultFonts = {
|
||||
emoji = ["Noto Color Emoji"];
|
||||
monospace = ["SFMono Nerd Font"];
|
||||
sansSerif = ["SFProDisplay Nerd Font"];
|
||||
serif = ["SFProDisplay Nerd Font"];
|
||||
};
|
||||
};
|
||||
|
||||
catppuccin = {
|
||||
gtk = {
|
||||
enable = true;
|
||||
gnomeShellTheme = true;
|
||||
accent = "pink";
|
||||
flavor = "mocha";
|
||||
icon = {
|
||||
enable = true;
|
||||
accent = "pink";
|
||||
flavor = "mocha";
|
||||
};
|
||||
};
|
||||
cursors = {
|
||||
enable = true;
|
||||
accent = "pink";
|
||||
flavor = "mocha";
|
||||
};
|
||||
hyprland = {
|
||||
enable = true;
|
||||
accent = "pink";
|
||||
flavor = "mocha";
|
||||
};
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
accent = "pink";
|
||||
flavor = "mocha";
|
||||
};
|
||||
waybar = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
};
|
||||
kvantum = {
|
||||
enable = true;
|
||||
accent = "pink";
|
||||
flavor = "mocha";
|
||||
};
|
||||
mako = {
|
||||
enable = true;
|
||||
accent = "pink";
|
||||
flavor = "mocha";
|
||||
};
|
||||
rofi = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services = {
|
||||
mako = {
|
||||
Unit = {
|
||||
Description = "mako";
|
||||
PartOf = ["graphical-session.target"];
|
||||
After = ["graphical-session.target"];
|
||||
};
|
||||
Service = {
|
||||
Type = "dbus";
|
||||
BusName = "org.freedesktop.Notifications";
|
||||
ExecStart = "${pkgs.mako}/bin/mako";
|
||||
ExecReload = "${pkgs.mako}/bin/makoctl reload";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["graphical-session.target"];
|
||||
};
|
||||
};
|
||||
waybar = {
|
||||
Unit = {
|
||||
After = lib.mkForce ["graphical-session.target"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
home.packages = with pkgs; [
|
||||
hyprpicker
|
||||
hyprsunset
|
||||
|
||||
# Fonts
|
||||
inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd
|
||||
inputs.apple-fonts.packages.${pkgs.system}.sf-pro
|
||||
inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd
|
||||
inputs.apple-fonts.packages.${pkgs.system}.sf-mono
|
||||
noto-fonts-color-emoji
|
||||
noto-fonts
|
||||
self.packages.${pkgs.system}.nerd-fonts-sf-mono-ligatures
|
||||
];
|
||||
}
|
8
home/users/relms.nix
Normal file
8
home/users/relms.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
home.username = "relms";
|
||||
home.homeDirectory = "/home/relms";
|
||||
|
||||
home.stateVersion = "24.11";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
97
pkgs/fonts/nerd-fonts-sf-mono-ligatures.nix
Normal file
97
pkgs/fonts/nerd-fonts-sf-mono-ligatures.nix
Normal file
|
@ -0,0 +1,97 @@
|
|||
{
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fontforge,
|
||||
unzip,
|
||||
parallel,
|
||||
python3,
|
||||
libarchive,
|
||||
p7zip,
|
||||
}: let
|
||||
sfMono = fetchurl {
|
||||
url = "https://developer.apple.com/design/downloads/SF-Mono.dmg";
|
||||
sha256 = "6d4a0b78e3aacd06f913f642cead1c7db4af34ed48856d7171a2e0b55d9a7945";
|
||||
};
|
||||
fontPatcher = fetchurl {
|
||||
url = "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/FontPatcher.zip";
|
||||
sha256 = "ce4284e7d1a8816d29bb3a358e33a44e55804792e7925ed0022ba1b3ab1a9d34";
|
||||
};
|
||||
ligaturizer = fetchurl {
|
||||
url = "https://github.com/ToxicFrog/Ligaturizer/archive/refs/tags/v5.tar.gz";
|
||||
sha256 = "da7c20e7622f7381e6905fbbed736dc50dd8515f412b040adbfe31dfd9b9efb4";
|
||||
};
|
||||
firaCode = fetchurl {
|
||||
url = "https://github.com/tonsky/FiraCode/releases/download/6.2/Fira_Code_v6.2.zip";
|
||||
sha256 = "0949915ba8eb24d89fd93d10a7ff623f42830d7c5ffc3ecbf960e4ecad3e3e79";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "nerd-fonts-sf-mono-ligatures";
|
||||
version = "3.3.0";
|
||||
|
||||
src = sfMono;
|
||||
|
||||
buildInputs = [
|
||||
fontforge
|
||||
unzip
|
||||
parallel
|
||||
python3
|
||||
libarchive
|
||||
p7zip
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
# Extract SF Mono DMG
|
||||
mkdir extracted
|
||||
7z x ${sfMono} -oextracted
|
||||
|
||||
# Extract package contents
|
||||
bsdtar xvPf extracted/SFMonoFonts/SF\ Mono\ Fonts.pkg
|
||||
bsdtar xvPf SFMonoFonts.pkg/Payload
|
||||
|
||||
# Unzip FontPatcher
|
||||
unzip ${fontPatcher}
|
||||
|
||||
# Unzip FiraCode
|
||||
unzip ${firaCode} -d FiraCode
|
||||
|
||||
# Extract Ligaturizer
|
||||
bsdtar xvPf ${ligaturizer}
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
mkdir -p patched
|
||||
echo "Patching all fonts"
|
||||
parallel -j$(nproc) python ./font-patcher -c {} -out patched ::: Library/Fonts/*.otf
|
||||
|
||||
mkdir -p otf
|
||||
for f in FiraCode/ttf/*.ttf; do
|
||||
file=$(basename "$f")
|
||||
base=$(echo "$file" | cut -d. -f1)
|
||||
fontforge -c "import fontforge; from sys import argv; f = fontforge.open(argv[1]); f.generate(argv[2])" "$f" "otf/$base.otf"
|
||||
done
|
||||
|
||||
mkdir -p Ligaturizer-5/fonts/fira/distr/otf
|
||||
cp otf/FiraCode*.otf Ligaturizer-5/fonts/fira/distr/otf
|
||||
|
||||
mkdir -p ligaturized
|
||||
echo "Ligaturizing all fonts"
|
||||
cd Ligaturizer-5
|
||||
parallel -j$(nproc) fontforge -lang py -script ligaturize.py \
|
||||
--output-dir ../ligaturized --output-name SFMonoNerdFont {} ::: ../patched/*.otf
|
||||
|
||||
cd ..
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/apple
|
||||
cp ligaturized/*.otf $out/share/fonts/apple/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Monospaced variant of San Francisco patched with Nerd Fonts and Fira Code ligatures";
|
||||
license = "proprietary";
|
||||
maintainers = ["relms"];
|
||||
platforms = ["x86_64-linux" "aarch64-linux"];
|
||||
};
|
||||
}
|
318
pkgs/libraries/gtk4.nix
Normal file
318
pkgs/libraries/gtk4.nix
Normal file
|
@ -0,0 +1,318 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildPackages,
|
||||
substituteAll,
|
||||
fetchurl,
|
||||
pkg-config,
|
||||
docutils,
|
||||
gettext,
|
||||
graphene,
|
||||
gi-docgen,
|
||||
meson,
|
||||
mesonEmulatorHook,
|
||||
ninja,
|
||||
python3,
|
||||
makeWrapper,
|
||||
shared-mime-info,
|
||||
isocodes,
|
||||
glib,
|
||||
cairo,
|
||||
pango,
|
||||
gdk-pixbuf,
|
||||
gobject-introspection,
|
||||
fribidi,
|
||||
harfbuzz,
|
||||
xorg,
|
||||
libepoxy,
|
||||
libxkbcommon,
|
||||
libpng,
|
||||
libtiff,
|
||||
libjpeg,
|
||||
libxml2,
|
||||
gnome,
|
||||
gsettings-desktop-schemas,
|
||||
gst_all_1,
|
||||
sassc,
|
||||
trackerSupport ? stdenv.hostPlatform.isLinux,
|
||||
tinysparql,
|
||||
x11Support ? stdenv.hostPlatform.isLinux,
|
||||
waylandSupport ? stdenv.hostPlatform.isLinux,
|
||||
libGL,
|
||||
vulkanSupport ? stdenv.hostPlatform.isLinux,
|
||||
shaderc,
|
||||
vulkan-loader,
|
||||
vulkan-headers,
|
||||
libdrm,
|
||||
wayland,
|
||||
wayland-protocols,
|
||||
wayland-scanner,
|
||||
xineramaSupport ? stdenv.hostPlatform.isLinux,
|
||||
cupsSupport ? stdenv.hostPlatform.isLinux,
|
||||
compileSchemas ? stdenv.hostPlatform.emulatorAvailable buildPackages,
|
||||
cups,
|
||||
libexecinfo,
|
||||
broadwaySupport ? true,
|
||||
testers,
|
||||
darwinMinVersionHook,
|
||||
libthai,
|
||||
}: let
|
||||
gtkCleanImmodulesCache = substituteAll {
|
||||
src = ./hooks/clean-immodules-cache.sh;
|
||||
gtk_module_path = "gtk-4.0";
|
||||
gtk_binary_version = "4.0.0";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gtk4";
|
||||
version = "4.17.0";
|
||||
|
||||
outputs = ["out" "dev"] ++ lib.optionals x11Support ["devdoc"];
|
||||
outputBin = "dev";
|
||||
|
||||
setupHooks = [
|
||||
./hooks/drop-icon-theme-cache.sh
|
||||
gtkCleanImmodulesCache
|
||||
];
|
||||
|
||||
src = fetchurl {
|
||||
url = with finalAttrs; "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
|
||||
#hash = "sha256-gcCjde2XTxRnBGG2nJsTm7c/6LRS80iVVoAn5oCFn1M=";
|
||||
hash = "sha256-787zVbXZA/xipwk0scZE85Zh48L/RMjFOo/Ntwx92X4=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
docutils # for rst2man, rst2html5
|
||||
gettext
|
||||
gobject-introspection
|
||||
makeWrapper
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
sassc
|
||||
gi-docgen
|
||||
libxml2 # for xmllint
|
||||
]
|
||||
++ lib.optionals (compileSchemas && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
|
||||
mesonEmulatorHook
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
wayland-scanner
|
||||
]
|
||||
++ lib.optionals vulkanSupport [
|
||||
shaderc # for glslc
|
||||
]
|
||||
++ finalAttrs.setupHooks;
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
libthai
|
||||
libxkbcommon
|
||||
libpng
|
||||
libtiff
|
||||
libjpeg
|
||||
(libepoxy.override {inherit x11Support;})
|
||||
isocodes
|
||||
]
|
||||
++ lib.optionals vulkanSupport [
|
||||
vulkan-headers
|
||||
libdrm
|
||||
]
|
||||
++ [
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-bad
|
||||
fribidi
|
||||
harfbuzz
|
||||
]
|
||||
++ (with xorg; [
|
||||
libICE
|
||||
libSM
|
||||
libXcursor
|
||||
libXdamage
|
||||
libXi
|
||||
libXrandr
|
||||
libXrender
|
||||
])
|
||||
++ lib.optionals trackerSupport [
|
||||
tinysparql
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
libGL
|
||||
wayland
|
||||
wayland-protocols
|
||||
]
|
||||
++ lib.optionals xineramaSupport [
|
||||
xorg.libXinerama
|
||||
]
|
||||
++ lib.optionals cupsSupport [
|
||||
cups
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isMusl [
|
||||
libexecinfo
|
||||
];
|
||||
#TODO: colord?
|
||||
|
||||
propagatedBuildInputs =
|
||||
[
|
||||
# Required by pkg-config files.
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
glib
|
||||
graphene
|
||||
pango
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
wayland
|
||||
]
|
||||
++ lib.optionals vulkanSupport [
|
||||
vulkan-loader
|
||||
]
|
||||
++ [
|
||||
# Required for GSettings schemas at runtime.
|
||||
# Will be picked up by wrapGAppsHook4.
|
||||
gsettings-desktop-schemas
|
||||
];
|
||||
|
||||
mesonFlags =
|
||||
[
|
||||
# ../docs/tools/shooter.c:4:10: fatal error: 'cairo-xlib.h' file not found
|
||||
(lib.mesonBool "documentation" x11Support)
|
||||
"-Dbuild-tests=false"
|
||||
(lib.mesonEnable "tracker" trackerSupport)
|
||||
(lib.mesonBool "broadway-backend" broadwaySupport)
|
||||
(lib.mesonEnable "vulkan" vulkanSupport)
|
||||
(lib.mesonEnable "print-cups" cupsSupport)
|
||||
(lib.mesonBool "x11-backend" x11Support)
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch64) [
|
||||
"-Dmedia-gstreamer=disabled" # requires gstreamer-gl
|
||||
];
|
||||
|
||||
doCheck = false; # needs X11
|
||||
|
||||
separateDebugInfo = stdenv.hostPlatform.isLinux;
|
||||
|
||||
# These are the defines that'd you'd get with --enable-debug=minimum (default).
|
||||
# See: https://developer.gnome.org/gtk3/stable/gtk-building.html#extra-configuration-options
|
||||
env =
|
||||
{
|
||||
NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS";
|
||||
}
|
||||
// lib.optionalAttrs stdenv.hostPlatform.isMusl {
|
||||
NIX_LDFLAGS = "-lexecinfo";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# this conditional gates the installation of share/gsettings-schemas/.../glib-2.0/schemas/gschemas.compiled.
|
||||
substituteInPlace meson.build \
|
||||
--replace 'if not meson.is_cross_build()' 'if ${lib.boolToString compileSchemas}'
|
||||
|
||||
files=(
|
||||
build-aux/meson/gen-profile-conf.py
|
||||
build-aux/meson/gen-visibility-macros.py
|
||||
demos/gtk-demo/geninclude.py
|
||||
gdk/broadway/gen-c-array.py
|
||||
gdk/gen-gdk-gresources-xml.py
|
||||
gtk/gen-gtk-gresources-xml.py
|
||||
gtk/gentypefuncs.py
|
||||
)
|
||||
|
||||
chmod +x ''${files[@]}
|
||||
patchShebangs ''${files[@]}
|
||||
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
OLD_PATH="$PATH"
|
||||
PATH="$PATH:$dev/bin" # so the install script finds gtk4-update-icon-cache
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
''
|
||||
PATH="$OLD_PATH"
|
||||
''
|
||||
+ lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||
# The updater is needed for nixos env and it's tiny.
|
||||
moveToOutput bin/gtk4-update-icon-cache "$out"
|
||||
# Launcher
|
||||
moveToOutput bin/gtk-launch "$out"
|
||||
|
||||
# TODO: patch glib directly
|
||||
for f in $dev/bin/gtk4-encode-symbolic-svg; do
|
||||
wrapProgram $f --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
|
||||
done
|
||||
''
|
||||
+ lib.optionalString broadwaySupport ''
|
||||
# Broadway daemon
|
||||
moveToOutput bin/gtk4-broadwayd "$out"
|
||||
'';
|
||||
|
||||
# Wrap demos
|
||||
postFixup =
|
||||
lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||
demos=(gtk4-demo gtk4-demo-application gtk4-widget-factory)
|
||||
|
||||
for program in ''${demos[@]}; do
|
||||
wrapProgram $dev/bin/$program \
|
||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${finalAttrs.pname}-${finalAttrs.version}"
|
||||
done
|
||||
''
|
||||
+ lib.optionalString x11Support ''
|
||||
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
|
||||
moveToOutput "share/doc" "$devdoc"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "gtk";
|
||||
versionPolicy = "odd-unstable";
|
||||
attrPath = "gtk4";
|
||||
};
|
||||
tests = {
|
||||
pkg-config = testers.hasPkgConfigModules {
|
||||
package = finalAttrs.finalPackage;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multi-platform toolkit for creating graphical user interfaces";
|
||||
longDescription = ''
|
||||
GTK is a highly usable, feature rich toolkit for creating
|
||||
graphical user interfaces which boasts cross platform
|
||||
compatibility and an easy to use API. GTK it is written in C,
|
||||
but has bindings to many other popular programming languages
|
||||
such as C++, Python and C# among others. GTK is licensed
|
||||
under the GNU LGPL 2.1 allowing development of both free and
|
||||
proprietary software with GTK without any license fees or
|
||||
royalties.
|
||||
'';
|
||||
homepage = "https://www.gtk.org/";
|
||||
license = licenses.lgpl2Plus;
|
||||
maintainers = teams.gnome.members ++ (with maintainers; [raskin]);
|
||||
platforms = platforms.all;
|
||||
changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${finalAttrs.version}/NEWS";
|
||||
pkgConfigModules =
|
||||
[
|
||||
"gtk4"
|
||||
]
|
||||
++ lib.optionals broadwaySupport [
|
||||
"gtk4-broadway"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isUnix [
|
||||
"gtk4-unix-print"
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
"gtk4-wayland"
|
||||
]
|
||||
++ lib.optionals x11Support [
|
||||
"gtk4-x11"
|
||||
];
|
||||
};
|
||||
})
|
15
pkgs/libraries/hooks/clean-immodules-cache.sh
Executable file
15
pkgs/libraries/hooks/clean-immodules-cache.sh
Executable file
|
@ -0,0 +1,15 @@
|
|||
# shellcheck shell=bash
|
||||
|
||||
fixupOutputHooks+=(_gtkCleanImmodulesCache)
|
||||
|
||||
# Clean comments that link to generator of the file
|
||||
_gtkCleanImmodulesCache() {
|
||||
# gtk_module_path is where the modules are installed
|
||||
# https://gitlab.gnome.org/GNOME/gtk/-/blob/3.24.24/gtk/gtkmodules.c#L68
|
||||
# gtk_binary_version can be retrived with:
|
||||
# pkg-config --variable=gtk_binary_version gtk+-3.0
|
||||
local f="${prefix:?}/lib/@gtk_module_path@/@gtk_binary_version@/immodules.cache"
|
||||
if [ -f "$f" ]; then
|
||||
sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f"
|
||||
fi
|
||||
}
|
19
pkgs/libraries/hooks/drop-icon-theme-cache.sh
Executable file
19
pkgs/libraries/hooks/drop-icon-theme-cache.sh
Executable file
|
@ -0,0 +1,19 @@
|
|||
# shellcheck shell=bash
|
||||
|
||||
# Packages often run gtk-update-icon-cache to include their icons in themes’ icon cache.
|
||||
# However, since each package is installed to its own prefix, the files will only collide.
|
||||
dropIconThemeCache() {
|
||||
if [[ -z "${dontDropIconThemeCache:-}" ]]; then
|
||||
local icondir="${out:?}/share/icons"
|
||||
if [[ -d "${icondir}" ]]; then
|
||||
# App icons are supposed to go to hicolor theme, since it is a fallback theme as per [icon-theme-spec], but some might still choose to install stylized icons to other themes.
|
||||
find "${icondir}" -name 'icon-theme.cache' -print0 \
|
||||
| while IFS= read -r -d '' file; do
|
||||
echo "Removing ${file}"
|
||||
rm -f "${file}"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
preFixupPhases="${preFixupPhases-} dropIconThemeCache"
|
Binary file not shown.
|
@ -1,8 +0,0 @@
|
|||
let
|
||||
relms = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqJnbK9FjoPX7EYtXwG5QV8XfK7fcTfOWGFrfsQRj9z";
|
||||
|
||||
skynet = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMajj7jUSGbJgndndLYs1ZQi37WsZi7Foyj2xmfbGrnn";
|
||||
crystal-gitlab = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBg8PGtAXNsZYmWLYCmIdv1rpezCXBZ/Z+XbVZ39m3vt";
|
||||
in {
|
||||
"gitlab-runners.age".publicKeys = [relms crystal-gitlab];
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
age.secrets.gitlab-runner.file = ../../secrets/gitlab-runners.age;
|
||||
|
||||
services.gitlab-runner = {
|
||||
enable = true;
|
||||
services = {
|
||||
alpha = {
|
||||
description = "Relms-Alpha";
|
||||
registrationConfigFile = config.age.secrets.gitlab-runner.path;
|
||||
dockerImage = "alpine:latest";
|
||||
};
|
||||
beta = {
|
||||
description = "Relms-Beta";
|
||||
registrationConfigFile = config.age.secrets.gitlab-runner.path;
|
||||
dockerImage = "alpine:latest";
|
||||
};
|
||||
charlie = {
|
||||
description = "Relms-Charlie";
|
||||
registrationConfigFile = config.age.secrets.gitlab-runner.path;
|
||||
dockerImage = "alpine:latest";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
4
system/desktop/apps.nix
Normal file
4
system/desktop/apps.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{config, ...}: {
|
||||
programs.nm-applet.enable = config.networking.networkmanager.enable;
|
||||
services.blueman.enable = config.hardware.bluetooth.enable;
|
||||
}
|
10
system/desktop/displaymanagers/tuigreet.nix
Normal file
10
system/desktop/displaymanagers/tuigreet.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
55
system/desktop/environments/hyprland.nix
Normal file
55
system/desktop/environments/hyprland.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{pkgs, ...}: {
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
};
|
||||
|
||||
programs.thunar.enable = true;
|
||||
programs.xfconf.enable = true;
|
||||
services.gvfs.enable = true;
|
||||
services.tumbler.enable = true;
|
||||
programs.thunar.plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
thunar-media-tags-plugin
|
||||
];
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
|
||||
security.pam.services.hyprlock = {};
|
||||
|
||||
fonts.fontconfig = {
|
||||
hinting = {
|
||||
enable = false;
|
||||
style = "none";
|
||||
};
|
||||
antialias = true;
|
||||
subpixel = {
|
||||
lcdfilter = "none";
|
||||
rgba = "rgb";
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [hyprpolkitagent];
|
||||
|
||||
systemd = {
|
||||
user.services.hyprpolkitagent = {
|
||||
description = "hyprpolkitagent";
|
||||
wantedBy = ["graphical-session.target"];
|
||||
wants = ["graphical-session.target"];
|
||||
after = ["graphical-session.target"];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
28
system/nix.nix
Normal file
28
system/nix.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{pkgs, ...}: {
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
trusted-users = ["root" "relms"];
|
||||
};
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
|
||||
system.replaceDependencies = {
|
||||
replacements = [
|
||||
{
|
||||
oldDependency = pkgs.gtk4;
|
||||
newDependency = pkgs.callPackage ../pkgs/libraries/gtk4.nix {};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
}
|
3
system/security/polkit.nix
Normal file
3
system/security/polkit.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
security.polkit.enable = true;
|
||||
}
|
6
system/security/sudo.nix
Normal file
6
system/security/sudo.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{...}: {
|
||||
security.sudo = {
|
||||
enable = true;
|
||||
extraConfig = "Defaults insults\nDefaults pwfeedback";
|
||||
};
|
||||
}
|
3
system/services/bluetooth.nix
Normal file
3
system/services/bluetooth.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
hardware.bluetooth.enable = true;
|
||||
}
|
6
system/services/flatpak.nix
Normal file
6
system/services/flatpak.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
services.flatpak = {
|
||||
enable = true;
|
||||
update.onActivation = true;
|
||||
};
|
||||
}
|
3
system/services/networkmanager.nix
Normal file
3
system/services/networkmanager.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
networking.networkmanager.enable = true;
|
||||
}
|
|
@ -1,6 +1,4 @@
|
|||
{...}: {
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
|
@ -2,13 +2,12 @@
|
|||
users.users.relms = {
|
||||
isNormalUser = true;
|
||||
description = "Daryl Ronningen";
|
||||
extraGroups = ["networkmanager" "wheel" "adbusers" "libvirtd"];
|
||||
extraGroups = ["networkmanager" "wheel"];
|
||||
shell = pkgs.fish;
|
||||
hashedPassword = "$y$j9T$fiNCczxfgXQRoDCYlRlgy.$8GVAPknKhtp0kq6g9YnJCaAU1GxE9W9puogCXLLYD2/";
|
||||
};
|
||||
|
||||
programs = {
|
||||
fish.enable = true;
|
||||
adb.enable = true;
|
||||
};
|
||||
programs.fish.enable = true;
|
||||
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.stateVersion = "22.11";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
programs.gpg.enable = true;
|
||||
services.gpg-agent.enable = true;
|
||||
services.gpg-agent.enableSshSupport = true;
|
||||
services.gpg-agent.pinentryFlavor = "gnome3";
|
||||
|
||||
services.gnome-keyring.enable = true;
|
||||
services.gnome-keyring.components = ["pkcs11" "secrets" "ssh"];
|
||||
}
|
|
@ -1,900 +0,0 @@
|
|||
# See this wiki page for more info:
|
||||
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
|
||||
print_info() {
|
||||
prin "┌────────────────────────────── OS Info ──────────────────────────────┐"
|
||||
|
||||
info " OS" distro
|
||||
info " Kernel" kernel
|
||||
info " Uptime" uptime
|
||||
info " User" users
|
||||
prin " Hostname" "$(hostname)"
|
||||
|
||||
prin "├─────────────────────────── Hardware Info ───────────────────────────┤"
|
||||
|
||||
info " ﲾ Mainboard Model" model
|
||||
info " CPU" cpu
|
||||
info " GPU" gpu
|
||||
info " Memory" memory
|
||||
info " Disk" disk
|
||||
info " Resolution" resolution
|
||||
info " Network" network
|
||||
|
||||
prin "├─────────────────────────── Software Info ───────────────────────────┤"
|
||||
|
||||
info " Desktop Environment" de
|
||||
info " Window Manager" wm
|
||||
info " Packages" packages
|
||||
info " Shell" shell
|
||||
info " Terminal" term
|
||||
info " GPU Driver" gpu_driver
|
||||
info " 直Local IP" local_ip
|
||||
info " Locale" locale
|
||||
prin " Editor" "$(echo $EDITOR)"
|
||||
|
||||
prin "├─────────────────────────────── Theme ───────────────────────────────┤"
|
||||
|
||||
info " Font" font
|
||||
info " Terminal Font" term_font
|
||||
info " 嗀Theme" theme
|
||||
info " 嗀WM Theme" wm_theme
|
||||
info " Icons" icons
|
||||
|
||||
prin "├─────────────────────────────── Media ───────────────────────────────┤"
|
||||
|
||||
info " Media" song
|
||||
[[ "$player" ]] && prin " 阮Media Player" "$player"
|
||||
|
||||
prin "└─────────────────────────────────────────────────────────────────────┘"
|
||||
|
||||
info cols
|
||||
}
|
||||
|
||||
# Title
|
||||
|
||||
|
||||
# Hide/Show Fully qualified domain name.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --title_fqdn
|
||||
title_fqdn="off"
|
||||
|
||||
|
||||
# Kernel
|
||||
|
||||
|
||||
# Shorten the output of the kernel function.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --kernel_shorthand
|
||||
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
|
||||
#
|
||||
# Example:
|
||||
# on: '4.8.9-1-ARCH'
|
||||
# off: 'Linux 4.8.9-1-ARCH'
|
||||
kernel_shorthand="off"
|
||||
|
||||
|
||||
# Distro
|
||||
|
||||
|
||||
# Shorten the output of the distro function
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'tiny', 'off'
|
||||
# Flag: --distro_shorthand
|
||||
# Supports: Everything except Windows and Haiku
|
||||
distro_shorthand="off"
|
||||
|
||||
# Show/Hide OS Architecture.
|
||||
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --os_arch
|
||||
#
|
||||
# Example:
|
||||
# on: 'Arch Linux x86_64'
|
||||
# off: 'Arch Linux'
|
||||
os_arch="on"
|
||||
|
||||
|
||||
# Uptime
|
||||
|
||||
|
||||
# Shorten the output of the uptime function
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'tiny', 'off'
|
||||
# Flag: --uptime_shorthand
|
||||
#
|
||||
# Example:
|
||||
# on: '2 days, 10 hours, 3 mins'
|
||||
# tiny: '2d 10h 3m'
|
||||
# off: '2 days, 10 hours, 3 minutes'
|
||||
uptime_shorthand="off"
|
||||
|
||||
|
||||
# Memory
|
||||
|
||||
|
||||
# Show memory percentage in output.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --memory_percent
|
||||
#
|
||||
# Example:
|
||||
# on: '1801MiB / 7881MiB (22%)'
|
||||
# off: '1801MiB / 7881MiB'
|
||||
memory_percent="on"
|
||||
|
||||
# Change memory output unit.
|
||||
#
|
||||
# Default: 'mib'
|
||||
# Values: 'kib', 'mib', 'gib'
|
||||
# Flag: --memory_unit
|
||||
#
|
||||
# Example:
|
||||
# kib '1020928KiB / 7117824KiB'
|
||||
# mib '1042MiB / 6951MiB'
|
||||
# gib: ' 0.98GiB / 6.79GiB'
|
||||
memory_unit="gib"
|
||||
|
||||
|
||||
# Packages
|
||||
|
||||
|
||||
# Show/Hide Package Manager names.
|
||||
#
|
||||
# Default: 'tiny'
|
||||
# Values: 'on', 'tiny' 'off'
|
||||
# Flag: --package_managers
|
||||
#
|
||||
# Example:
|
||||
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
|
||||
# tiny: '908 (pacman, flatpak, snap)'
|
||||
# off: '908'
|
||||
package_managers="on"
|
||||
|
||||
|
||||
# Shell
|
||||
|
||||
|
||||
# Show the path to $SHELL
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --shell_path
|
||||
#
|
||||
# Example:
|
||||
# on: '/bin/bash'
|
||||
# off: 'bash'
|
||||
shell_path="on"
|
||||
|
||||
# Show $SHELL version
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --shell_version
|
||||
#
|
||||
# Example:
|
||||
# on: 'bash 4.4.5'
|
||||
# off: 'bash'
|
||||
shell_version="on"
|
||||
|
||||
|
||||
# CPU
|
||||
|
||||
|
||||
# CPU speed type
|
||||
#
|
||||
# Default: 'bios_limit'
|
||||
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
|
||||
# Flag: --speed_type
|
||||
# Supports: Linux with 'cpufreq'
|
||||
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
|
||||
speed_type="bios_limit"
|
||||
|
||||
# CPU speed shorthand
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'.
|
||||
# Flag: --speed_shorthand
|
||||
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
|
||||
#
|
||||
# Example:
|
||||
# on: 'i7-6500U (4) @ 3.1GHz'
|
||||
# off: 'i7-6500U (4) @ 3.100GHz'
|
||||
speed_shorthand="off"
|
||||
|
||||
# Enable/Disable CPU brand in output.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --cpu_brand
|
||||
#
|
||||
# Example:
|
||||
# on: 'Intel i7-6500U'
|
||||
# off: 'i7-6500U (4)'
|
||||
cpu_brand="on"
|
||||
|
||||
# CPU Speed
|
||||
# Hide/Show CPU speed.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --cpu_speed
|
||||
#
|
||||
# Example:
|
||||
# on: 'Intel i7-6500U (4) @ 3.1GHz'
|
||||
# off: 'Intel i7-6500U (4)'
|
||||
cpu_speed="on"
|
||||
|
||||
# CPU Cores
|
||||
# Display CPU cores in output
|
||||
#
|
||||
# Default: 'logical'
|
||||
# Values: 'logical', 'physical', 'off'
|
||||
# Flag: --cpu_cores
|
||||
# Support: 'physical' doesn't work on BSD.
|
||||
#
|
||||
# Example:
|
||||
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
|
||||
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
|
||||
# off: 'Intel i7-6500U @ 3.1GHz'
|
||||
cpu_cores="logical"
|
||||
|
||||
# CPU Temperature
|
||||
# Hide/Show CPU temperature.
|
||||
# Note the temperature is added to the regular CPU function.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'C', 'F', 'off'
|
||||
# Flag: --cpu_temp
|
||||
# Supports: Linux, BSD
|
||||
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
|
||||
# coretemp kernel module. This only supports newer Intel processors.
|
||||
#
|
||||
# Example:
|
||||
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
|
||||
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
|
||||
# off: 'Intel i7-6500U (4) @ 3.1GHz'
|
||||
cpu_temp="on"
|
||||
|
||||
|
||||
# GPU
|
||||
|
||||
|
||||
# Enable/Disable GPU Brand
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gpu_brand
|
||||
#
|
||||
# Example:
|
||||
# on: 'AMD HD 7950'
|
||||
# off: 'HD 7950'
|
||||
gpu_brand="on"
|
||||
|
||||
# Which GPU to display
|
||||
#
|
||||
# Default: 'all'
|
||||
# Values: 'all', 'dedicated', 'integrated'
|
||||
# Flag: --gpu_type
|
||||
# Supports: Linux
|
||||
#
|
||||
# Example:
|
||||
# all:
|
||||
# GPU1: AMD HD 7950
|
||||
# GPU2: Intel Integrated Graphics
|
||||
#
|
||||
# dedicated:
|
||||
# GPU1: AMD HD 7950
|
||||
#
|
||||
# integrated:
|
||||
# GPU1: Intel Integrated Graphics
|
||||
gpu_type="all"
|
||||
|
||||
|
||||
# Resolution
|
||||
|
||||
|
||||
# Display refresh rate next to each monitor
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --refresh_rate
|
||||
# Supports: Doesn't work on Windows.
|
||||
#
|
||||
# Example:
|
||||
# on: '1920x1080 @ 60Hz'
|
||||
# off: '1920x1080'
|
||||
refresh_rate="on"
|
||||
|
||||
|
||||
# Gtk Theme / Icons / Font
|
||||
|
||||
|
||||
# Shorten output of GTK Theme / Icons / Font
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gtk_shorthand
|
||||
#
|
||||
# Example:
|
||||
# on: 'Numix, Adwaita'
|
||||
# off: 'Numix [GTK2], Adwaita [GTK3]'
|
||||
gtk_shorthand="off"
|
||||
|
||||
|
||||
# Enable/Disable gtk2 Theme / Icons / Font
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gtk2
|
||||
#
|
||||
# Example:
|
||||
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
||||
# off: 'Adwaita [GTK3]'
|
||||
gtk2="on"
|
||||
|
||||
# Enable/Disable gtk3 Theme / Icons / Font
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gtk3
|
||||
#
|
||||
# Example:
|
||||
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
||||
# off: 'Numix [GTK2]'
|
||||
gtk3="on"
|
||||
|
||||
# Enable/Disable Qt Theme / Icons / Font
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --qt
|
||||
#
|
||||
# Example:
|
||||
# on: 'Breeze [Qt], Arc [GTK3]'
|
||||
# off: 'Arc [GTK3]'
|
||||
qt="on"
|
||||
|
||||
# IP Address
|
||||
|
||||
|
||||
# Website to ping for the public IP
|
||||
#
|
||||
# Default: 'http://ident.me'
|
||||
# Values: 'url'
|
||||
# Flag: --ip_host
|
||||
public_ip_host="http://ident.me"
|
||||
|
||||
# Public IP timeout.
|
||||
#
|
||||
# Default: '2'
|
||||
# Values: 'int'
|
||||
# Flag: --ip_timeout
|
||||
public_ip_timeout=2
|
||||
|
||||
# Local IP interface
|
||||
#
|
||||
# Default: 'auto' (interface of default route)
|
||||
# Values: 'auto', 'en0', 'en1'
|
||||
# Flag: --ip_interface
|
||||
local_ip_interface=('auto')
|
||||
|
||||
|
||||
# Desktop Environment
|
||||
|
||||
|
||||
# Show Desktop Environment version
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --de_version
|
||||
de_version="on"
|
||||
|
||||
|
||||
# Disk
|
||||
|
||||
|
||||
# Which disks to display.
|
||||
# The values can be any /dev/sdXX, mount point or directory.
|
||||
# NOTE: By default we only show the disk info for '/'.
|
||||
#
|
||||
# Default: '/'
|
||||
# Values: '/', '/dev/sdXX', '/path/to/drive'.
|
||||
# Flag: --disk_show
|
||||
#
|
||||
# Example:
|
||||
# disk_show=('/' '/dev/sdb1'):
|
||||
# 'Disk (/): 74G / 118G (66%)'
|
||||
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
|
||||
#
|
||||
# disk_show=('/'):
|
||||
# 'Disk (/): 74G / 118G (66%)'
|
||||
#
|
||||
disk_show=('/')
|
||||
|
||||
# Disk subtitle.
|
||||
# What to append to the Disk subtitle.
|
||||
#
|
||||
# Default: 'mount'
|
||||
# Values: 'mount', 'name', 'dir', 'none'
|
||||
# Flag: --disk_subtitle
|
||||
#
|
||||
# Example:
|
||||
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
|
||||
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
|
||||
#
|
||||
# mount: 'Disk (/): 74G / 118G (66%)'
|
||||
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
|
||||
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
|
||||
#
|
||||
# dir: 'Disk (/): 74G / 118G (66%)'
|
||||
# 'Disk (Local Disk): 74G / 118G (66%)'
|
||||
# 'Disk (Videos): 74G / 118G (66%)'
|
||||
#
|
||||
# none: 'Disk: 74G / 118G (66%)'
|
||||
# 'Disk: 74G / 118G (66%)'
|
||||
# 'Disk: 74G / 118G (66%)'
|
||||
disk_subtitle="mount"
|
||||
|
||||
# Disk percent.
|
||||
# Show/Hide disk percent.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --disk_percent
|
||||
#
|
||||
# Example:
|
||||
# on: 'Disk (/): 74G / 118G (66%)'
|
||||
# off: 'Disk (/): 74G / 118G'
|
||||
disk_percent="on"
|
||||
|
||||
|
||||
# Song
|
||||
|
||||
|
||||
# Manually specify a music player.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'player-name'
|
||||
# Flag: --music_player
|
||||
#
|
||||
# Available values for 'player-name':
|
||||
#
|
||||
# amarok
|
||||
# audacious
|
||||
# banshee
|
||||
# bluemindo
|
||||
# clementine
|
||||
# cmus
|
||||
# deadbeef
|
||||
# deepin-music
|
||||
# dragon
|
||||
# elisa
|
||||
# exaile
|
||||
# gnome-music
|
||||
# gmusicbrowser
|
||||
# gogglesmm
|
||||
# guayadeque
|
||||
# io.elementary.music
|
||||
# iTunes
|
||||
# Music
|
||||
# juk
|
||||
# lollypop
|
||||
# MellowPlayer
|
||||
# mocp
|
||||
# mopidy
|
||||
# mpd
|
||||
# muine
|
||||
# netease-cloud-music
|
||||
# olivia
|
||||
# playerctl
|
||||
# pogo
|
||||
# pragha
|
||||
# qmmp
|
||||
# quodlibet
|
||||
# rhythmbox
|
||||
# sayonara
|
||||
# smplayer
|
||||
# spotify
|
||||
# strawberry
|
||||
# tauonmb
|
||||
# tomahawk
|
||||
# vlc
|
||||
# xmms2d
|
||||
# xnoise
|
||||
# yarock
|
||||
music_player="auto"
|
||||
|
||||
# Format to display song information.
|
||||
#
|
||||
# Default: '%artist% - %album% - %title%'
|
||||
# Values: '%artist%', '%album%', '%title%'
|
||||
# Flag: --song_format
|
||||
#
|
||||
# Example:
|
||||
# default: 'Song: Jet - Get Born - Sgt Major'
|
||||
song_format="%artist% - %album% - %title%"
|
||||
|
||||
# Print the Artist, Album and Title on separate lines
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --song_shorthand
|
||||
#
|
||||
# Example:
|
||||
# on: 'Artist: The Fratellis'
|
||||
# 'Album: Costello Music'
|
||||
# 'Song: Chelsea Dagger'
|
||||
#
|
||||
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
|
||||
song_shorthand="off"
|
||||
|
||||
# 'mpc' arguments (specify a host, password etc).
|
||||
#
|
||||
# Default: ''
|
||||
# Example: mpc_args=(-h HOST -P PASSWORD)
|
||||
mpc_args=()
|
||||
|
||||
|
||||
# Text Colors
|
||||
|
||||
|
||||
# Text Colors
|
||||
#
|
||||
# Default: 'distro'
|
||||
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
||||
# Flag: --colors
|
||||
#
|
||||
# Each number represents a different part of the text in
|
||||
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
|
||||
#
|
||||
# Example:
|
||||
# colors=(distro) - Text is colored based on Distro colors.
|
||||
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
|
||||
colors=(distro)
|
||||
|
||||
|
||||
# Text Options
|
||||
|
||||
|
||||
# Toggle bold text
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --bold
|
||||
bold="on"
|
||||
|
||||
# Enable/Disable Underline
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --underline
|
||||
underline_enabled="on"
|
||||
|
||||
# Underline character
|
||||
#
|
||||
# Default: '-'
|
||||
# Values: 'string'
|
||||
# Flag: --underline_char
|
||||
underline_char="-"
|
||||
|
||||
|
||||
# Info Separator
|
||||
# Replace the default separator with the specified string.
|
||||
#
|
||||
# Default: ':'
|
||||
# Flag: --separator
|
||||
#
|
||||
# Example:
|
||||
# separator="->": 'Shell-> bash'
|
||||
# separator=" =": 'WM = dwm'
|
||||
separator=":"
|
||||
|
||||
|
||||
# Color Blocks
|
||||
|
||||
|
||||
# Color block range
|
||||
# The range of colors to print.
|
||||
#
|
||||
# Default: '0', '15'
|
||||
# Values: 'num'
|
||||
# Flag: --block_range
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# Display colors 0-7 in the blocks. (8 colors)
|
||||
# neofetch --block_range 0 7
|
||||
#
|
||||
# Display colors 0-15 in the blocks. (16 colors)
|
||||
# neofetch --block_range 0 15
|
||||
block_range=(0 15)
|
||||
|
||||
# Toggle color blocks
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --color_blocks
|
||||
color_blocks="on"
|
||||
|
||||
# Color block width in spaces
|
||||
#
|
||||
# Default: '3'
|
||||
# Values: 'num'
|
||||
# Flag: --block_width
|
||||
block_width=3
|
||||
|
||||
# Color block height in lines
|
||||
#
|
||||
# Default: '1'
|
||||
# Values: 'num'
|
||||
# Flag: --block_height
|
||||
block_height=1
|
||||
|
||||
# Color Alignment
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'num'
|
||||
# Flag: --col_offset
|
||||
#
|
||||
# Number specifies how far from the left side of the terminal (in spaces) to
|
||||
# begin printing the columns, in case you want to e.g. center them under your
|
||||
# text.
|
||||
# Example:
|
||||
# col_offset="auto" - Default behavior of neofetch
|
||||
# col_offset=7 - Leave 7 spaces then print the colors
|
||||
col_offset="auto"
|
||||
|
||||
# Progress Bars
|
||||
|
||||
|
||||
# Bar characters
|
||||
#
|
||||
# Default: '-', '='
|
||||
# Values: 'string', 'string'
|
||||
# Flag: --bar_char
|
||||
#
|
||||
# Example:
|
||||
# neofetch --bar_char 'elapsed' 'total'
|
||||
# neofetch --bar_char '-' '='
|
||||
bar_char_elapsed="-"
|
||||
bar_char_total="="
|
||||
|
||||
# Toggle Bar border
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --bar_border
|
||||
bar_border="on"
|
||||
|
||||
# Progress bar length in spaces
|
||||
# Number of chars long to make the progress bars.
|
||||
#
|
||||
# Default: '15'
|
||||
# Values: 'num'
|
||||
# Flag: --bar_length
|
||||
bar_length=15
|
||||
|
||||
# Progress bar colors
|
||||
# When set to distro, uses your distro's logo colors.
|
||||
#
|
||||
# Default: 'distro', 'distro'
|
||||
# Values: 'distro', 'num'
|
||||
# Flag: --bar_colors
|
||||
#
|
||||
# Example:
|
||||
# neofetch --bar_colors 3 4
|
||||
# neofetch --bar_colors distro 5
|
||||
bar_color_elapsed="distro"
|
||||
bar_color_total="distro"
|
||||
|
||||
|
||||
# Info display
|
||||
# Display a bar with the info.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'bar', 'infobar', 'barinfo', 'off'
|
||||
# Flags: --memory_display
|
||||
# --battery_display
|
||||
# --disk_display
|
||||
#
|
||||
# Example:
|
||||
# bar: '[---=======]'
|
||||
# infobar: 'info [---=======]'
|
||||
# barinfo: '[---=======] info'
|
||||
# off: 'info'
|
||||
memory_display="off"
|
||||
battery_display="off"
|
||||
disk_display="off"
|
||||
|
||||
|
||||
# Backend Settings
|
||||
|
||||
|
||||
# Image backend.
|
||||
#
|
||||
# Default: 'ascii'
|
||||
# Values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'off',
|
||||
# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty', 'ueberzug',
|
||||
# 'viu'
|
||||
|
||||
# Flag: --backend
|
||||
image_backend="ascii"
|
||||
|
||||
# Image Source
|
||||
#
|
||||
# Which image or ascii file to display.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
|
||||
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
|
||||
# Flag: --source
|
||||
#
|
||||
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
|
||||
# In ascii mode, distro ascii art will be used and in an image mode, your
|
||||
# wallpaper will be used.
|
||||
image_source="auto"
|
||||
|
||||
|
||||
# Ascii Options
|
||||
|
||||
|
||||
# Ascii distro
|
||||
# Which distro's ascii art to display.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'distro_name'
|
||||
# Flag: --ascii_distro
|
||||
#
|
||||
# NOTE: AIX, AlmaLinux, Alpine, Alter, Amazon, AmogOS, Anarchy, Android, Antergos, antiX, AOSC OS,
|
||||
# AOSC OS/Retro, Aperio GNU/Linux, Apricity, Arch, ArchBox, Archcraft, ARCHlabs, ArchMerge,
|
||||
# ArchStrike, ArcoLinux, Artix, Arya, Asahi, AsteroidOS, Bedrock, BigLinux, Bitrig, BlackArch,
|
||||
# blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, Cachy OS, Calculate,
|
||||
# CalinixOS, Carbs, CBL-Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, Chrom, Cleanjaro,
|
||||
# Clear Linux OS, ClearOS, Clover, Condres, Container Linux by CoreOS, CRUX, Crystal Linux,
|
||||
# Cucumber, CutefishOS, CyberOS, dahlia, DarkOs, Darwin, Debian, Deepin, DesaOS, Devuan, DracOS,
|
||||
# DragonFly, Drauger, Elementary, Elive, EncryptOS, EndeavourOS, Endless, EuroLinux, Exherbo, Exodia
|
||||
# Predator OS, Fedora, Feren, Finnix, FreeBSD, FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda,
|
||||
# Gentoo, glaucus, gNewSense, GNOME, GNU, GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, HarDClanZ,
|
||||
# Hash, Huayra, HydroOS, Hyperbola, iglunix, instantOS, IRIX, Itc, januslinux, Kaisen, Kali, KaOS,
|
||||
# KDE, Kibojoe, Kogaion, Korora, KrassOS, KSLinux, Kubuntu, LangitKetujuh, LaxerOS, LEDE, LibreELEC,
|
||||
# Linspire, Linux, Linux Lite, Linux Mint, Linux Mint Old, Live Raizo, LMDE, Lubuntu, Lunar, mac,
|
||||
# Mageia, MagpieOS, Mandriva, Manjaro, MassOS, MatuusOS, Maui, Mer, Minix, MIRACLE LINUX, MX, Namib,
|
||||
# Neptune, NetBSD, Netrunner, Nitrux, NixOS, NomadBSD, Nurunner, NuTyX, Obarun, OBRevenge, Open
|
||||
# Source Media Center, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage,
|
||||
# openSUSE, openSUSE Leap, openSUSE Tumbleweed, OpenWrt, OPNsense, Oracle, orchid, OS Elbrus,
|
||||
# PacBSD, Parabola, parch, Pardus, Parrot, Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, Pentoo,
|
||||
# Peppermint, Pisi, PNM Linux, Pop!_OS, Porteus, PostMarketOS, Profelis SambaBOX, Proxmox, PuffOS,
|
||||
# Puppy, PureOS, Q4OS, Qubes, Qubyt, Quibian, Radix, Raspbian, Reborn OS, Red Star, Redcore, Redhat,
|
||||
# Refracted Devuan, Regata, Regolith, rocky, Rosa, Sabayon, sabotage, Sailfish, SalentOS,
|
||||
# Scientific, semc, Septor, Serene, SharkLinux, ShastraOS, Siduction, SkiffOS, Slackware, SliTaz,
|
||||
# SmartOS, Soda, Solus, Source Mage, Sparky, Star, SteamOS, Sulin, SunOS, SwagArch, t2, Tails,
|
||||
# TeArch, TorizonCore, Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin,
|
||||
# Ubuntu MATE, Ubuntu Studio, Ubuntu Sway, Ubuntu Touch, Ubuntu-GNOME, ubuntu_old02, Ultramarine
|
||||
# Linux, Univalent, Univention, Uos, uwuntu, Venom, VNux, Void, VzLinux, wii-linux-ngx, Windows,
|
||||
# Windows 10, Windows 11, XFerience, Xubuntu, yiffOS, Zorin have ascii logos.
|
||||
|
||||
# NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu have 'old' logo variants, use
|
||||
# {distro}_old to use them.
|
||||
|
||||
# NOTE: alpine, android, aoscosretro, arch, arcolinux, artix, CalinixOS, centos, cleanjaro, crux,
|
||||
# debian, dragonfly, elementary, fedora, freebsd, gentoo, guix, haiku, hyperbola, linuxlite,
|
||||
# linuxmint, mac, mageia, manjaro, mx, netbsd, nixos, openbsd, opensuse, orchid, parabola, popos,
|
||||
# postmarketos, pureos, Raspbian, rocky, slackware, sunos, ubuntu, void have 'small' logo variants,
|
||||
# use {distro}_small to use them.
|
||||
ascii_distro="auto"
|
||||
|
||||
# Ascii Colors
|
||||
#
|
||||
# Default: 'distro'
|
||||
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
||||
# Flag: --ascii_colors
|
||||
#
|
||||
# Example:
|
||||
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
|
||||
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
|
||||
ascii_colors=(distro)
|
||||
|
||||
# Bold ascii logo
|
||||
# Whether or not to bold the ascii logo.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --ascii_bold
|
||||
ascii_bold="on"
|
||||
|
||||
|
||||
# Image Options
|
||||
|
||||
|
||||
# Image loop
|
||||
# Setting this to on will make neofetch redraw the image constantly until
|
||||
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --loop
|
||||
image_loop="off"
|
||||
|
||||
# Thumbnail directory
|
||||
#
|
||||
# Default: '~/.cache/thumbnails/neofetch'
|
||||
# Values: 'dir'
|
||||
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
|
||||
|
||||
# Crop mode
|
||||
#
|
||||
# Default: 'normal'
|
||||
# Values: 'normal', 'fit', 'fill'
|
||||
# Flag: --crop_mode
|
||||
#
|
||||
# See this wiki page to learn about the fit and fill options.
|
||||
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
|
||||
crop_mode="normal"
|
||||
|
||||
# Crop offset
|
||||
# Note: Only affects 'normal' crop mode.
|
||||
#
|
||||
# Default: 'center'
|
||||
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
|
||||
# 'east', 'southwest', 'south', 'southeast'
|
||||
# Flag: --crop_offset
|
||||
crop_offset="center"
|
||||
|
||||
# Image size
|
||||
# The image is half the terminal width by default.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', '00px', '00%', 'none'
|
||||
# Flags: --image_size
|
||||
# --size
|
||||
image_size="auto"
|
||||
|
||||
# Catimg block size.
|
||||
# Control the resolution of catimg.
|
||||
#
|
||||
# Default: '2'
|
||||
# Values: '1', '2'
|
||||
# Flags: --catimg_size
|
||||
catimg_size="2"
|
||||
|
||||
# Gap between image and text
|
||||
#
|
||||
# Default: '3'
|
||||
# Values: 'num', '-num'
|
||||
# Flag: --gap
|
||||
gap=3
|
||||
|
||||
# Image offsets
|
||||
# Only works with the w3m backend.
|
||||
#
|
||||
# Default: '0'
|
||||
# Values: 'px'
|
||||
# Flags: --xoffset
|
||||
# --yoffset
|
||||
yoffset=0
|
||||
xoffset=0
|
||||
|
||||
# Image background color
|
||||
# Only works with the w3m backend.
|
||||
#
|
||||
# Default: ''
|
||||
# Values: 'color', 'blue'
|
||||
# Flag: --bg_color
|
||||
background_color=
|
||||
|
||||
|
||||
# Misc Options
|
||||
|
||||
# Stdout mode
|
||||
# Turn off all colors and disables image backend (ASCII/Image).
|
||||
# Useful for piping into another command.
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
stdout="off"
|
|
@ -1,36 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
gnome.nautilus
|
||||
gnome.gnome-tweaks
|
||||
gnome.gnome-software
|
||||
adw-gtk3
|
||||
papirus-icon-theme
|
||||
(st.overrideAttrs (oldAttrs: {
|
||||
src = builtins.fetchTarball {
|
||||
url = "https://code.relms.dev/Relms/st/archive/50a72324cd9e81efb7985dca26ac77cf781305f0.tar.gz";
|
||||
sha256 = "sha256:1kmn775fzgdlb6wp4c9zzkiqa4mjv84zyaash842yqwh72zal62y";
|
||||
};
|
||||
buildInputs = oldAttrs.buildInputs ++ [harfbuzz xorg.libXcursor];
|
||||
}))
|
||||
];
|
||||
|
||||
xresources.extraConfig = builtins.readFile (
|
||||
pkgs.fetchFromGitHub {
|
||||
owner = "solarized";
|
||||
repo = "xresources";
|
||||
rev = "0c426297b558965d462f0e45f87eb16a10586c53";
|
||||
sha256 = "sha256-ljZHqFUnmsyBGPlrnb9pQ9X8yH24W9Z5ImohyuoaAcA=";
|
||||
}
|
||||
+ "/Xresources.dark"
|
||||
);
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox.override {
|
||||
cfg = {
|
||||
enableGnomeExtensions = true;
|
||||
enableTridactylNative = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
package = pkgs.neovim;
|
||||
defaultEditor = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
vimdiffAlias = true;
|
||||
withNodeJs = true;
|
||||
withPython3 = true;
|
||||
withRuby = true;
|
||||
extraPackages = with pkgs; [
|
||||
wget
|
||||
gcc12
|
||||
tree-sitter
|
||||
xsel
|
||||
stylua
|
||||
lua-language-server
|
||||
actionlint
|
||||
unzip
|
||||
];
|
||||
extraPython3Packages = pyPkgs:
|
||||
with pyPkgs; [
|
||||
pip
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,62 +0,0 @@
|
|||
{lib, ...}: {
|
||||
programs.htop.enable = true;
|
||||
|
||||
programs.hyfetch.enable = true;
|
||||
programs.hyfetch.settings = {
|
||||
preset = "genderfluid";
|
||||
mode = "rgb";
|
||||
color_align = {
|
||||
mode = "horizontal";
|
||||
};
|
||||
};
|
||||
|
||||
home.file.neofetch = {
|
||||
enable = true;
|
||||
source = ./files/neofetch.conf;
|
||||
target = ".config/neofetch/config.conf";
|
||||
};
|
||||
|
||||
programs.exa.enable = true;
|
||||
|
||||
programs.fish.enable = true;
|
||||
programs.fish.shellAliases = {
|
||||
ls = "exa -laFghHUum@ --sort name --group-directories-first --git --icons";
|
||||
tree = "exa -laFghHUumRT@ --sort name --group-directories-first --git --icons";
|
||||
nixos-rebuild = "sudo nixos-rebuild --flake ~/git/flake#";
|
||||
home-manager = "home-manager --flake ~/git/flake#relms";
|
||||
};
|
||||
programs.fish.interactiveShellInit = "fish_add_path ~/.spicetify";
|
||||
|
||||
programs.bash.enable = true;
|
||||
programs.bash.enableVteIntegration = true;
|
||||
|
||||
programs.starship.enable = true;
|
||||
programs.starship.enableFishIntegration = true;
|
||||
programs.starship.enableBashIntegration = true;
|
||||
programs.starship.settings = {
|
||||
add_newline = true;
|
||||
format = lib.concatStrings ["$username@$hostname" " " "$directory" " " "$all$character"];
|
||||
right_format = "$cmd_duration";
|
||||
directory = {
|
||||
format = "[$path]($style)[$read_only]($read_only_style)";
|
||||
read_only = " 🔒";
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
format = "[$hostname]($style)";
|
||||
};
|
||||
username = {
|
||||
show_always = true;
|
||||
format = "[$user]($style)";
|
||||
};
|
||||
shell = {
|
||||
disabled = false;
|
||||
};
|
||||
time = {
|
||||
disabled = false;
|
||||
};
|
||||
status = {
|
||||
disabled = false;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
(wineWowPackages.stagingFull.override {
|
||||
vulkanSupport = true;
|
||||
waylandSupport = true;
|
||||
})
|
||||
winetricks
|
||||
];
|
||||
}
|
5682
wahnix-facter.json
Normal file
5682
wahnix-facter.json
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue