Compare commits

...

9 Commits

16 changed files with 229 additions and 72 deletions

View File

@@ -1,6 +1,18 @@
# NixOS Configuration <h1 align="center">NixOS Configuration</h1>
<div align="center">
<strong>
Personal NixOS configuration for my machines, using Nix Flakes for reproducible and shareable setups.
</strong>
</div>
<br/>
<div align="center">
<!-- Wakapi -->
<img alt="Coding Time Badge" src="https://clock.phundrak.com/api/badge/phundrak/interval:any/project:.dotfiles">
<!-- Emacs -->
<a href="https://www.gnu.org/software/emacs/"><img src="https://img.shields.io/badge/Emacs-30.2-blueviolet.svg?style=flat-square&logo=GNU%20Emacs&logoColor=white" /></a>
</div>
Personal NixOS configuration for my machines, using Nix Flakes for reproducible and shareable setups.
## Repository Structure ## Repository Structure

123
flake.lock generated
View File

@@ -44,11 +44,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768010798, "lastModified": 1768655473,
"narHash": "sha256-CmEy/t3CCDnUvn594sXtv0vRxt1JQaqj0nGdtQFU3mA=", "narHash": "sha256-iWnILPS2mP9ubbjRAhNv6Fqg1J/upxmD9OQTZQR4O2w=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "cli", "repo": "cli",
"rev": "70a8624eacfc1b90fe248aef722ae708e775a927", "rev": "7de6c6063119a7cef27c6bd4c88f2c5ac4cbc064",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -66,11 +66,11 @@
"quickshell": "quickshell" "quickshell": "quickshell"
}, },
"locked": { "locked": {
"lastModified": 1768629486, "lastModified": 1769226446,
"narHash": "sha256-W50hARtSVHxAtrG6dHKbLjU1PHDumJyB70IwKzuoIL0=", "narHash": "sha256-YasBiXBgCkJ5oE6r9UtWXShD3OGtdRlioFErX5A1Z1Q=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "shell", "repo": "shell",
"rev": "96942d5ff38698513f0330618073dbdf2af1bd59", "rev": "8430fa572500382e187a49f1ac677bfdeb7edca2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -92,11 +92,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768597968, "lastModified": 1769201893,
"narHash": "sha256-WdkoFB2QyMkZOmsi/08394clBRyEtNseH+jYGUs9eDU=", "narHash": "sha256-x6VW1lQikNZAVm59gb3tzpDU5QCHT8U1e4dU11F2evY=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv", "repo": "devenv",
"rev": "92ad9c70fad164e8f4a3656dec91717a5c42cd98", "rev": "685a86068d3a7f9b04e18340187e288413cb5887",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -230,11 +230,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768598210, "lastModified": 1769187349,
"narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=", "narHash": "sha256-clG+nT6I2qxjIgk5WoSDKJyNhzKJs9jzbCujPF2S/yg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c47b2cc64a629f8e075de52e4742de688f930dc6", "rev": "082a4cd87c6089d1d9c58ebe52655f9e07245fcb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -269,11 +269,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768491252, "lastModified": 1769197468,
"narHash": "sha256-ZlIPlKCYXwQJsw9WYVeyCapF5Y8JZL2Hctf22+IbHqo=", "narHash": "sha256-EhbVSjqhjykjIzF1FetpEwxjSMXg4ubHpkuEnE0y23A=",
"owner": "cachix", "owner": "cachix",
"repo": "nix", "repo": "nix",
"rev": "9f0da1cd90b271569752a4c83f3ff700b8fcbe12", "rev": "6174571301a92afce9b7296d5babdc56972695b7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -332,11 +332,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1768564909, "lastModified": 1769018530,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", "narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "rev": "88d3861acdd3d2f0e361767018218e51810df8a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -348,11 +348,27 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1768380750, "lastModified": 1768564909,
"narHash": "sha256-V5drPOmaGA7bszxKxyViYEZyT2h6RYa/Ll+3aJL4Grs=", "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5961ffe0035b187988f499b19ad37c072ef9e4e9", "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1769018530,
"narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "88d3861acdd3d2f0e361767018218e51810df8a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -392,11 +408,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768080170, "lastModified": 1768689040,
"narHash": "sha256-HYKRNShQe5YnnxLazQajB9JkAPGpVcUt9jQ3KwilITQ=", "narHash": "sha256-Tlnr5BulJcMers/cb+YvmBQW4nKHjdKo9loInJkyO2k=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "bcc3d4265e8b3ed2b17b801923905b60a3927823", "rev": "7a427ce1979ce7447e885c4f30129b40f3d466f5",
"revCount": 722, "revCount": 729,
"type": "git", "type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell" "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}, },
@@ -414,6 +430,7 @@
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"pumo-system-info": "pumo-system-info", "pumo-system-info": "pumo-system-info",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"spicetify": "spicetify",
"srvos": "srvos", "srvos": "srvos",
"zen-browser": "zen-browser" "zen-browser": "zen-browser"
} }
@@ -446,11 +463,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768481291, "lastModified": 1768863606,
"narHash": "sha256-NjKtkJraCZEnLHAJxLTI+BfdU//9coAz9p5TqveZwPU=", "narHash": "sha256-1IHAeS8WtBiEo5XiyJBHOXMzECD6aaIOJmpQKzRRl64=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "e085e303dfcce21adcb5fec535d65aacb066f101", "rev": "c7067be8db2c09ab1884de67ef6c4f693973f4a2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -459,16 +476,35 @@
"type": "github" "type": "github"
} }
}, },
"srvos": { "spicetify": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2",
"systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1768523683, "lastModified": 1768656845,
"narHash": "sha256-UbkyPXPPAbz0gHIWvHZ+jrPTruZqkpuwTFo5JXPnIgU=", "narHash": "sha256-xNlXMyn7yc3Z/NOsz4NchO7gWFwsoCvtJ26pys4s2/M=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "8bd7e49d5ac62756bee6e4b02221fb96bfc3c99a",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "spicetify-nix",
"type": "github"
}
},
"srvos": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1769046412,
"narHash": "sha256-LbjKkSB4Nar9pX+AxHs2FGH2ZAFpKWUvr79uyEhFVqc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "srvos", "repo": "srvos",
"rev": "90e9331fd79d4c3bb5c1e7cd2df2e560565fe543", "rev": "a78abbc16a5352ee848e454c99166c97415fbf39",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -492,6 +528,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -521,11 +572,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767618227, "lastModified": 1769228180,
"narHash": "sha256-9+XVF47E9NCVs249SSsDtr7YdG/23/lCJmWAjQvOfqI=", "narHash": "sha256-94KY0JNjdd3CcSyKlHPCPswlqmUrWT6+MfOHektsdB8=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "1586e49b3908b058e221f11d843eb46392dba17b", "rev": "ef1663c14b7c3c2b84bcf140232534be5a2a0257",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -34,6 +34,8 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
spicetify.url = "github:Gerg-L/spicetify-nix";
srvos.url = "github:nix-community/srvos"; srvos.url = "github:nix-community/srvos";
zen-browser = { zen-browser = {
@@ -91,6 +93,7 @@
pkgs = nixpkgs.legacyPackages.x86_64-linux; pkgs = nixpkgs.legacyPackages.x86_64-linux;
defaultUserModules = [ defaultUserModules = [
inputs.sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops
inputs.spicetify.homeManagerModules.default
]; ];
withUserModules = modules: nixpkgs.lib.lists.flatten (defaultUserModules ++ [modules]); withUserModules = modules: nixpkgs.lib.lists.flatten (defaultUserModules ++ [modules]);
in { in {

View File

@@ -16,7 +16,6 @@
kernel = { kernel = {
cpuVendor = "intel"; cpuVendor = "intel";
package = pkgs.linuxPackages; package = pkgs.linuxPackages;
modules = ["i915"];
}; };
systemd-boot = true; systemd-boot = true;
}; };
@@ -45,7 +44,6 @@
networking = { networking = {
hostname = "gampo"; hostname = "gampo";
id = "0630b33f"; id = "0630b33f";
hostFiles = [config.sops.secrets.extraHosts.path];
}; };
packages = { packages = {
appimage.enable = true; appimage.enable = true;

View File

@@ -87,7 +87,6 @@
networking = { networking = {
hostname = "marpa"; hostname = "marpa";
id = "7EA4A111"; id = "7EA4A111";
hostFiles = [config.sops.secrets.extraHosts.path];
firewall.openPortRanges = [ firewall.openPortRanges = [
{ {
# Sunshine # Sunshine

View File

@@ -1,4 +1,4 @@
extraHosts: ENC[AES256_GCM,data:MpojXbVSDYNyktlqFMO7P2RcM9DYM/8vO5abCDR0bTnFOz170jUZpFF+A7Vk5rrMWBrgYKF8GUTUwHGimnWWQHtfFOAvxEZOmMNjFU79uGh4HLhNtRnvxcBB0TFPK2SGt5800Y77gbOkIVQSIwhKqcAShOT0iJLhfG3u7Ur3r+f19XaYMqDzSGPiQ51Ls1eYREyt+dcr6BRKFoniFYPYBE2qDR2jYqCwBvwbGI4BwS1pscAbmLJ4n6nRl5pNAjc6t24lCsSqHBvFZIDBXOBoFknnosxRftGzoCQkCTIGm6H2CBC/l0yqsvOJ3lhi2Ap3kCJeUPc4kKu/bS8y8t/tlz/g62X4OlLuhShVCCf6bFoDQHYl8+AFTuO8uviQq/eO773+vDOld8k7fgNu/iw1veUf7I9KsVomzwVJBQhWmZ13gNzLcGyIA1nwWcuQkY24Cw5L00yvv5PMRjHEMvphPJJTpBdmAXi7Shp3jIpvdKE5dUc74jXSOIGipLkjCZIPq+JGogGw14/ckM6rCvTd2LSjz3QJeILsqfwd5ihtV17qWXuCf8pgcXq26sVvVTeDV8UbmbsS3J8o3NAkpcH6HAArcEnGHlRNQhJ3L/5PHxN73Qve45gBAookhlLB0ByZtxbtrBw/sHyO+Qdac7tPCJnfbMw8uLsNIPEsm2pqz8WheL085RVgLBiMLTpWkRTlYS693n3PovAgAW+EuwpMrwiVg/UoLCX7cnK5D/bRiQ==,iv:1lwFAD0tPAiRL6XrmJOfmNMp6OLt4hq8aaQ3oPiNi5g=,tag:Folnfcdvu6UjtsR3pmyN3A==,type:str] extraHosts: ENC[AES256_GCM,data:buAUbxVALT7zjwYfySVQ7E6RsI4EaVBUFN/ZXOuSaj42DLoLPM45PSgkxjner9o4g6a3s58Snp3siO8l0KPSTYyPUPBZ7dgbCcsWp5t8Q3K111d4TPTlx+gcluK5BvwNvFB4esRXJOgpm5jK498COKq/UZJECM0D5Emid0CKkzZynUYdbQeHkQEKIXV2LxJNro87xHtU/l11nox37Na0+t+eqp8/jcQh9pGnKmppPhviJeCy6GoiDPNFHDalQUmd204gi6EaTx0p3r7gRK61RfTwSCiX1Y7N5muzPvJQJt8lwgqznw5Etjud8wn6HF+fmb/BbYtioO9TjOVJnjVOlB4iUMApx3XY4VOuBPJm7D9ET+2J8Umw4OD5pB9A5WF+gVseAqYYNZYpe2hlHBoXMw4IZh8qOgxR/noE71PHxRe5gSB/2Hq0lKwG0e8lyFEeJKZdXsl47CtQE39RfC/+ik2COaRmYxY8fHHs2/yTylopv/pSM6K2TGF5B3dwVS18LU5AR48C1Ip7CseMgjgAWvjQ43KBc+P74a+237tlRFlFsU3HNk9Hk4fF53DPUX67+l42W6sNcgrszFHb/dm939qDKYqdNcWEjaaVSdDo34I6NGhmTUI7FxCVYipe,iv:SehibPtT3k9Ufen8Gri3HcFthUe0S7dMT+486fwOK0w=,tag:oatCeFr2j3EPHwXc6eU66w==,type:str]
mopidy: mopidy:
spotify: ENC[AES256_GCM,data:89vPpgJ53eYou01qgxfqxOO6G/raBA0Vzck31PLchE4Jhi6HcNnoW4wwhHW3pG0AfCu5sE1CuryhRpWTc62fXIBoenKiCiU7chFhBF0UNq3Fcie26l6hdEx+XYVcM/MNBBbkb8VZq1mR0sgGmUESuZVzeI3LMykF,iv:n+LxuijWCZGW2YacrYQ2QIF2BTSilLmJ72piFRK25vw=,tag:iOQatj2UJdlMvn6C40IILg==,type:str] spotify: ENC[AES256_GCM,data:89vPpgJ53eYou01qgxfqxOO6G/raBA0Vzck31PLchE4Jhi6HcNnoW4wwhHW3pG0AfCu5sE1CuryhRpWTc62fXIBoenKiCiU7chFhBF0UNq3Fcie26l6hdEx+XYVcM/MNBBbkb8VZq1mR0sgGmUESuZVzeI3LMykF,iv:n+LxuijWCZGW2YacrYQ2QIF2BTSilLmJ72piFRK25vw=,tag:iOQatj2UJdlMvn6C40IILg==,type:str]
bandcamp: ENC[AES256_GCM,data:Sas5Sk0gNaq2E1XnsK8lvaZEzsaFZKY+zDxvgTiqTm2hrI2BnWieRWcZV6u1yRKjLAhh1rdSYhnZJHWUGIAY9qnFOk4vUVUHLtxnkxO/bJN/sykc4qwXRg4/NNap+8TcsN/S1AFJYKmXYn1Otx/02wbMEzHIuw==,iv:VGC7COqF3goMyyJvasiT0yVxOk4QKLOuXd2FbHjuRwk=,tag:pvyX4Q+dvlWFkdSJzTlgwA==,type:str] bandcamp: ENC[AES256_GCM,data:Sas5Sk0gNaq2E1XnsK8lvaZEzsaFZKY+zDxvgTiqTm2hrI2BnWieRWcZV6u1yRKjLAhh1rdSYhnZJHWUGIAY9qnFOk4vUVUHLtxnkxO/bJN/sykc4qwXRg4/NNap+8TcsN/S1AFJYKmXYn1Otx/02wbMEzHIuw==,iv:VGC7COqF3goMyyJvasiT0yVxOk4QKLOuXd2FbHjuRwk=,tag:pvyX4Q+dvlWFkdSJzTlgwA==,type:str]
@@ -79,7 +79,7 @@ sops:
VkdKMUVOemNhUnpYSFFocnZRQmxPaUEKgCne7JJRIuvFtDMtaqO21IKjRoDW8D+3 VkdKMUVOemNhUnpYSFFocnZRQmxPaUEKgCne7JJRIuvFtDMtaqO21IKjRoDW8D+3
V5tGfZOQADuef3n8ZG1j5t1OtNNBu4PjpxZynGx3/nR7+FThsK4vMg== V5tGfZOQADuef3n8ZG1j5t1OtNNBu4PjpxZynGx3/nR7+FThsK4vMg==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2026-01-17T10:35:53Z" lastmodified: "2026-01-25T02:54:23Z"
mac: ENC[AES256_GCM,data:hFzA4dlz/nB6E4fZeFblvnFQR92446drZg41vpqoDRcbRYDJjNkvcjW9TKbrEH1UNL2mKmAfzUpVSBWUQAlt2gkx4hvZvReKzIV+CeCMUlZC2WptCd2UULGrt1V2Trjswc+oyataFsVpMFyk1o9YJc/dk67LbBtJAGBZB4YuCy4=,iv:OD/dcu4R4kYvYa0mUmH9IUn65/8CD2ScGKSLYnQQM5g=,tag:EtqMtTlSpMYznhoHf6LEOA==,type:str] mac: ENC[AES256_GCM,data:nIOwiSAT3YCRabbPwfO2XBFhb/qH5cFLsMUQUCUa7trBnLeerzWLpngB96T0ZkDmsVsdJLhfv5ZWWZlgIg+K9uIww+DzvK48B3+EyVpNCJ4cDfgz3gZXlnp41Eu8LSklQ+sk9lVFEbHNPPhbTliXma9Kr1ldkdP035lQmYXUz6Y=,iv:sp7oiTUvO/FchubMlCuaaWDpNO9+aLIyehjS9+8pEPw=,tag:/PvIJTM17nFi5YIq0b1LyQ==,type:str]
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.11.0 version: 3.11.0

View File

@@ -59,7 +59,11 @@ in {
}; };
config.boot = { config.boot = {
initrd.kernelModules = lists.optional config.mySystem.hardware.amdgpu.enable "amdgpu"; initrd.kernelModules = lib.lists.singleton (
if config.mySystem.hardware.amdgpu.enable
then "amdgpu"
else "i915"
);
loader = { loader = {
systemd-boot.enable = cfg.systemd-boot; systemd-boot.enable = cfg.systemd-boot;
efi.canTouchEfiVariables = cfg.systemd-boot; efi.canTouchEfiVariables = cfg.systemd-boot;

View File

@@ -67,6 +67,9 @@ in {
reboot = ["systemctl" "reboot"]; reboot = ["systemctl" "reboot"];
}; };
}; };
cli.enable = true; cli = {
enable = true;
settings.theme.enableGtk = true;
};
}; };
} }

View File

@@ -15,7 +15,9 @@ in {
./obs.nix ./obs.nix
./qt.nix ./qt.nix
./rofi ./rofi
./spotify.nix
./swaync.nix ./swaync.nix
./theme.nix
./waybar.nix ./waybar.nix
./wlr-which-key.nix ./wlr-which-key.nix
./wlsunset.nix ./wlsunset.nix
@@ -30,6 +32,8 @@ in {
obs.enable = mkDefault cfg.fullDesktop; obs.enable = mkDefault cfg.fullDesktop;
qt.enable = mkDefault cfg.fullDesktop; qt.enable = mkDefault cfg.fullDesktop;
rofi.enable = mkDefault cfg.fullDesktop; rofi.enable = mkDefault cfg.fullDesktop;
spotify.enable = mkDefault cfg.fullDesktop;
spotify.spicetify.enable = mkDefault cfg.fullDesktop;
wlr-which-key.enable = mkDefault cfg.fullDesktop; wlr-which-key.enable = mkDefault cfg.fullDesktop;
}; };
} }

View File

@@ -0,0 +1,25 @@
{
pkgs,
config,
lib,
inputs,
...
}:
with lib; let
cfg = config.home.desktop.spotify;
system = pkgs.stdenv.hostPlatform.system;
spicePkgs = inputs.spicetify.legacyPackages.${system};
in {
options.home.desktop.spotify = {
enable = mkEnableOption "Enable Spotify";
spicetify.enable = mkEnableOption "Enable Spicetify";
};
config.programs = mkIf cfg.enable {
spotify-player.enable = cfg.enable;
spicetify = mkIf cfg.spicetify.enable {
inherit (cfg.spicetify) enable;
theme = spicePkgs.themes.sleek;
colorScheme = "Nord";
};
};
}

View File

@@ -0,0 +1,26 @@
{
pkgs,
config,
...
}: {
gtk = {
enable = true;
colorScheme = "dark";
iconTheme = {
name = "Nordzy-icons";
package = pkgs.nordzy-icon-theme;
};
theme = {
package = pkgs.nordic;
name = "Nordic";
};
};
home.pointerCursor = {
enable = true;
gtk.enable = true;
hyprcursor.enable = config.home.desktop.hyprland.enable;
name = "Nordzy-cursors";
package = pkgs.nordzy-cursor-theme;
};
qt.enable = true;
}

View File

@@ -37,7 +37,12 @@ in {
services.emacs = mkIf cfg.service { services.emacs = mkIf cfg.service {
enable = true; enable = true;
inherit (cfg) package; inherit (cfg) package;
defaultEditor = true;
startWithUserSession = "graphical"; startWithUserSession = "graphical";
client = {
enable = true;
arguments = ["-c" "-a" "${cfg.package}/bin/emacs"];
};
}; };
xdg.desktopEntries.mu4e = mkIf cfg.mu4eMime { xdg.desktopEntries.mu4e = mkIf cfg.mu4eMime {

View File

@@ -19,30 +19,58 @@ in {
inherit (cfg) enable; inherit (cfg) enable;
enableTransience = true; enableTransience = true;
settings = mkIf cfg.jjIntegration { settings = mkIf cfg.jjIntegration {
custom.jj = { # Disabling these so they can be enabled conditionally
description = "The current jj status"; # See https://github.com/jj-vcs/jj/wiki/Starship
detect_folders = [".jj"]; git_status.disabled = true;
symbol = "🥋 "; git_commit.disabled = true;
command = '' git_metrics.disabled = true;
jj log --revisions @ --no-graph --ignore-working-copy --color always --limit 1 --template ' git_branch.disabled = true;
separate(" ", custom = let
change_id.shortest(4), when = "! jj --ignore-working-copy-root";
bookmarks, description = "Only show if were not in a jj repository";
"|", style = "";
concat( in {
if(conflict, "💥"), git_status = {
if(divergent, "🚧"), inherit when description style;
if(hidden, "👻"), command = "starship module git_status";
if(immutable, "🔒"), };
), git_commit = {
raw_escape_sequence("\x1b[1;32m") ++ if(empty, "(empty)"), inherit when description style;
raw_escape_sequence("\x1b[1;32m") ++ coalesce( command = "starship module git_commit";
truncate_end(29, description.first_line(), ""), };
"(no description set)", git_metrics = {
) ++ raw_escape_sequence("\x1b[0m"), inherit when description style;
) command = "starship module git_metrics";
' };
''; git_branch = {
inherit when description style;
command = "starship module git_branch";
};
jj = {
description = "The current jj status";
detect_folders = [".jj"];
symbol = "🥋 ";
command = ''
jj log --revisions @ --no-graph --ignore-working-copy --color always --limit 1 --template '
separate(" ",
change_id.shortest(4),
bookmarks,
"|",
concat(
if(conflict, "💥"),
if(divergent, "🚧"),
if(hidden, "👻"),
if(immutable, "🔒"),
),
raw_escape_sequence("\x1b[1;32m") ++ if(empty, "(empty)"),
raw_escape_sequence("\x1b[1;32m") ++ coalesce(
truncate_end(29, description.first_line(), ""),
"(no description set)",
) ++ raw_escape_sequence("\x1b[0m"),
)
'
'';
};
}; };
}; };
}; };

View File

@@ -58,7 +58,6 @@
home = { home = {
sessionVariables = { sessionVariables = {
EDITOR = "${config.home.dev.editors.emacs.package}/bin/emacsclient -c -a ${config.home.dev.editors.emacs.package}/bin/emacs";
LAUNCH_EDITOR = "${launchWithEmacsclient}/bin/launch-with-emacsclient"; LAUNCH_EDITOR = "${launchWithEmacsclient}/bin/launch-with-emacsclient";
SUDO_ASKPASS = "${askpass}/bin/askpass"; SUDO_ASKPASS = "${askpass}/bin/askpass";
LSP_USE_PLISTS = "true"; LSP_USE_PLISTS = "true";

View File

@@ -46,6 +46,7 @@ in {
username = "phundrak"; username = "phundrak";
homeDirectory = "/home/phundrak"; homeDirectory = "/home/phundrak";
packages = [pkgs.tree pkgs.ncdu]; packages = [pkgs.tree pkgs.ncdu];
preferXdgDirectories = true;
phundrak.sshKey.file = "${config.home.homeDirectory}/.ssh/id_ed25519.pub"; phundrak.sshKey.file = "${config.home.homeDirectory}/.ssh/id_ed25519.pub";

View File

@@ -30,7 +30,6 @@ in {
plexamp plexamp
plex-desktop plex-desktop
spicetify-cli spicetify-cli
spotify
pavucontrol # Volume control pavucontrol # Volume control
# Social # Social