squash wayland commits
This commit is contained in:
parent
2c80906ba9
commit
1ca3d32053
283
flake.lock
generated
283
flake.lock
generated
@ -1,27 +1,5 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"android-nixpkgs": {
|
|
||||||
"inputs": {
|
|
||||||
"devshell": "devshell",
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1636661994,
|
|
||||||
"narHash": "sha256-EQ1jTIGAtb2DCippFWPXume+j8Xw02VnT/M35Prlovc=",
|
|
||||||
"owner": "tadfisher",
|
|
||||||
"repo": "android-nixpkgs",
|
|
||||||
"rev": "3ca481a473cb07fdc25b7d4c2cdd5960391aba90",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tadfisher",
|
|
||||||
"repo": "android-nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16": {
|
"base16": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
@ -88,28 +66,29 @@
|
|||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"devshell": {
|
"cachix": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1636119665,
|
"lastModified": 1642244250,
|
||||||
"narHash": "sha256-e11Z9PyH9hdgTm4Vyl8S5iTwrv0um6+srzb1Ba+YUHA=",
|
"narHash": "sha256-vWpUEqQdVP4srj+/YLJRTN9vjpTs4je0cdWKXPbDItc=",
|
||||||
"owner": "numtide",
|
"owner": "nixos",
|
||||||
"repo": "devshell",
|
"repo": "nixpkgs",
|
||||||
"rev": "ab14b1a3cb253f58e02f5f849d621292fbf81fad",
|
"rev": "0fd9ee1aa36ce865ad273f4f07fdc093adeb5c00",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "numtide",
|
"owner": "nixos",
|
||||||
"repo": "devshell",
|
"ref": "nixos-21.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1634851050,
|
"lastModified": 1638122382,
|
||||||
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
|
"narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "c91f3de5adaf1de973b797ef7485e441a65b8935",
|
"rev": "74f7e4319258e287b0f9cb95426c9853b282730b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -119,6 +98,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1642700792,
|
||||||
|
"narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "846b2ae0fc4cc943637d3d1def4454213e203cba",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1634851050,
|
"lastModified": 1634851050,
|
||||||
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
|
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
|
||||||
@ -140,11 +134,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1636520380,
|
"lastModified": 1642676973,
|
||||||
"narHash": "sha256-gBiQ8+AQG6Dia34rqJDuqs6VFe/J1SjIhOZBeTXCKQI=",
|
"narHash": "sha256-bLQ6n0pXYaIuNSyJnm30JGCfjmuTi59qAmj8S2ExDXI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1e5c8e9bff00d0844bc3d25d1a98eab5633e600b",
|
"rev": "7eb5106548eaab99ebeb21c87f93092de54fe931",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -155,10 +149,7 @@
|
|||||||
},
|
},
|
||||||
"home-manager_2": {
|
"home-manager_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_5"
|
||||||
"vscode-server-fixup",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1635839387,
|
"lastModified": 1635839387,
|
||||||
@ -174,22 +165,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"i3lock-fancy-rapid": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1618965247,
|
|
||||||
"narHash": "sha256-EoX8ts0yV/zkb4wgEh4P8noU+UraRS4w9pp+76v+Nm0=",
|
|
||||||
"owner": "yvbbrjdr",
|
|
||||||
"repo": "i3lock-fancy-rapid",
|
|
||||||
"rev": "6eeebd4caa177b82fa5010b5e8828cce3f89fb97",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "yvbbrjdr",
|
|
||||||
"repo": "i3lock-fancy-rapid",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lowdown-src": {
|
"lowdown-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -209,11 +184,11 @@
|
|||||||
"materia-theme": {
|
"materia-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1620818711,
|
"lastModified": 1638461758,
|
||||||
"narHash": "sha256-0eCAfm/MWXv6BbCl2vbVbvgv8DiUH09TAUhoKq7Ow0k=",
|
"narHash": "sha256-+E8eJQcDw4F12MmGrCoFUeGFZzYZWQtY7PVhXVAZRFY=",
|
||||||
"owner": "nana-4",
|
"owner": "nana-4",
|
||||||
"repo": "materia-theme",
|
"repo": "materia-theme",
|
||||||
"rev": "76cac96ca7fe45dc9e5b9822b0fbb5f4cad47984",
|
"rev": "af63425f9bbb2ac9bc4853a4357457d743c65308",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -248,50 +223,38 @@
|
|||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1636573809,
|
"lastModified": 1642777172,
|
||||||
"narHash": "sha256-fZqSolh+RfJnqK9zR9TFEMFII+ayo4V9DA21xuI9nhA=",
|
"narHash": "sha256-Sh37PkGIiMhhaiM33+TvacbgQHtg93YITMY0orGJ7y8=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "52a3b2ee6367306a3f17fe9a2d0e2e4096852e05",
|
"rev": "5f08db69d18ea5b868cbb58993822e7dd0307518",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nix",
|
"owner": "nixos",
|
||||||
"type": "indirect"
|
"repo": "nix",
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-direnv": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1634795676,
|
|
||||||
"narHash": "sha256-p2xWs0I1hrZLiWU1P4cCGNSRuhRsbTFxsMYNVWocS4I=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nix-direnv",
|
|
||||||
"rev": "a3d08b6c8fa2a976aba430c733f54cf97d9046b0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nix-direnv",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixos-rocm": {
|
"nix-alien": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_3"
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"poetry2nix": "poetry2nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1630800478,
|
"lastModified": 1642257542,
|
||||||
"narHash": "sha256-dHaXN5bdf1RTK9YpYscflmdBqz2XV01Lit0xXRjLDkc=",
|
"narHash": "sha256-znJjO+22bmYIcMvXTNoxkGrPyCEKhjNpwu/R4gLuKYY=",
|
||||||
"owner": "nixos-rocm",
|
"owner": "thiagokokada",
|
||||||
"repo": "nixos-rocm",
|
"repo": "nix-alien",
|
||||||
"rev": "cb12dc5cf144469b39f47b6be2e162f3202b142f",
|
"rev": "039e009b74b4310986696e28808342741079c7ee",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos-rocm",
|
"owner": "thiagokokada",
|
||||||
"ref": "4.3.x",
|
"repo": "nix-alien",
|
||||||
"repo": "nixos-rocm",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -325,13 +288,28 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-21_11": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1638371214,
|
||||||
|
"narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a640d8394f34714578f3e6335fc767d0755d78f9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"ref": "nixos-21.11",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-master": {
|
"nixpkgs-master": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1636683649,
|
"lastModified": 1642799162,
|
||||||
"narHash": "sha256-4wDfn9pmGX5WBEttGxYVYliZm2zeZeBLl0ytowHnvXE=",
|
"narHash": "sha256-6KJlDYBM2YUfHyjn3J3iCmNpjKIBUfmenfAGtmVWLoI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "77e7d796b838eae999b7649495770345b54825d2",
|
"rev": "af1309ca38c3d727e5100c18f66f19cf9c0530be",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -344,11 +322,11 @@
|
|||||||
"nixpkgs-mozilla": {
|
"nixpkgs-mozilla": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1636569584,
|
"lastModified": 1638887313,
|
||||||
"narHash": "sha256-iDFogua24bhFJZSxG/jhZbbNxDXuKP9S/pyRIYzrRPM=",
|
"narHash": "sha256-FMYV6rVtvSIfthgC1sK1xugh3y7muoQcvduMdriz4ag=",
|
||||||
"owner": "mozilla",
|
"owner": "mozilla",
|
||||||
"repo": "nixpkgs-mozilla",
|
"repo": "nixpkgs-mozilla",
|
||||||
"rev": "9f70f86d73fa97e043bebeb58e5676d157069cfb",
|
"rev": "7c1e8b1dd6ed0043fb4ee0b12b815256b0b9de6f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -375,17 +353,38 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1632411313,
|
"lastModified": 1642707142,
|
||||||
"narHash": "sha256-lekODc44lVo9/0EwGiX6LoEt2KhiPdcfNopealMJ7n4=",
|
"narHash": "sha256-BzH6xhnkn52yF4+A8C8slWFQRMInS5VYlzrH/rN1bnA=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "51bcdc4cdaac48535dabf0ad4642a66774c609ed",
|
"rev": "6f07605b6916abee5435ea1145a7541299a87c1b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-21.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "51bcdc4cdaac48535dabf0ad4642a66774c609ed",
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-wayland": {
|
||||||
|
"inputs": {
|
||||||
|
"cachix": "cachix",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1642775155,
|
||||||
|
"narHash": "sha256-yQMXrsAxYTbrSr5DGpCsyrWIeBbs/f0S9Uc0/fUABHo=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs-wayland",
|
||||||
|
"rev": "a38c5dfa2998e6dddd39a5e119672110a91b79a6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs-wayland",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -406,27 +405,26 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1630761588,
|
"lastModified": 1642799162,
|
||||||
"narHash": "sha256-7GXckvZy7DGh2KIyfdArqwnyeSc5Owy1fumEDQyd8eY=",
|
"narHash": "sha256-6KJlDYBM2YUfHyjn3J3iCmNpjKIBUfmenfAGtmVWLoI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a51aa6523bd8ee985bc70987909eff235900197a",
|
"rev": "af1309ca38c3d727e5100c18f66f19cf9c0530be",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1636443933,
|
"lastModified": 1642635915,
|
||||||
"narHash": "sha256-ABJmNQdzFWWxaqkb0C0kd9f/MmUtmnQrxm9sZPhgm/s=",
|
"narHash": "sha256-vabPA32j81xBO5m3+qXndWp5aqepe+vu96Wkd9UnngM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9e70e9f732fbb15872cb4ea11bd43c14328a0b69",
|
"rev": "6d8215281b2f87a5af9ed7425a26ac575da0438f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -436,14 +434,46 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1641528457,
|
||||||
|
"narHash": "sha256-FyU9E63n1W7Ql4pMnhW2/rO9OftWZ37pLppn/c1aisY=",
|
||||||
|
"path": "/nix/store/pwz0d92vl5hjrvhiri3qzazxjnf1r8wy-source",
|
||||||
|
"rev": "ff377a78794d412a35245e05428c8f95fef3951f",
|
||||||
|
"type": "path"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"poetry2nix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": "nixpkgs_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1642215333,
|
||||||
|
"narHash": "sha256-hOs6lr62ITT8gAnpj5C248K0PW4IrCuXzgoan+VUgiM=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "poetry2nix",
|
||||||
|
"rev": "7b5c8e3b838d534e0d4dcaa6bbe6530086ebf407",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "poetry2nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"qbittorrent-ee": {
|
"qbittorrent-ee": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1635705887,
|
"lastModified": 1641579458,
|
||||||
"narHash": "sha256-MiAfqcalfk6CWBtLtENnwc0W17MLSZOoLuzfu/xP4Pw=",
|
"narHash": "sha256-7jbG8kQkLyKP03Ta2LNIEctAEbVb4o/opWiaYP15ZAc=",
|
||||||
"owner": "c0re100",
|
"owner": "c0re100",
|
||||||
"repo": "qBittorrent-Enhanced-Edition",
|
"repo": "qBittorrent-Enhanced-Edition",
|
||||||
"rev": "a3955360cd527a641d4623fd84609bc072c574e2",
|
"rev": "fd047415f4fa9d99edabd4a0cb285bb8d30c8c50",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -454,21 +484,19 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"android-nixpkgs": "android-nixpkgs",
|
|
||||||
"base16": "base16",
|
"base16": "base16",
|
||||||
"base16-horizon-scheme": "base16-horizon-scheme",
|
"base16-horizon-scheme": "base16-horizon-scheme",
|
||||||
"base16-tokyonight-scheme": "base16-tokyonight-scheme",
|
"base16-tokyonight-scheme": "base16-tokyonight-scheme",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"i3lock-fancy-rapid": "i3lock-fancy-rapid",
|
|
||||||
"materia-theme": "materia-theme",
|
"materia-theme": "materia-theme",
|
||||||
"multimc-cracked": "multimc-cracked",
|
"multimc-cracked": "multimc-cracked",
|
||||||
"nix": "nix",
|
"nix": "nix",
|
||||||
"nix-direnv": "nix-direnv",
|
"nix-alien": "nix-alien",
|
||||||
"nixos-rocm": "nixos-rocm",
|
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nixpkgs-master": "nixpkgs-master",
|
"nixpkgs-master": "nixpkgs-master",
|
||||||
"nixpkgs-mozilla": "nixpkgs-mozilla",
|
"nixpkgs-mozilla": "nixpkgs-mozilla",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
|
"nixpkgs-wayland": "nixpkgs-wayland",
|
||||||
"qbittorrent-ee": "qbittorrent-ee",
|
"qbittorrent-ee": "qbittorrent-ee",
|
||||||
"rycee": "rycee",
|
"rycee": "rycee",
|
||||||
"simple-nixos-mailserver": "simple-nixos-mailserver",
|
"simple-nixos-mailserver": "simple-nixos-mailserver",
|
||||||
@ -482,11 +510,11 @@
|
|||||||
"rycee": {
|
"rycee": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1636603333,
|
"lastModified": 1642777133,
|
||||||
"narHash": "sha256-VnTFUNJZE2eNnjsPgTVqqHQtcHXe0udFBHPqXljRLwE=",
|
"narHash": "sha256-sJuwCblryqBK4oTsq/MSZIpKgaB4XpfHCfG1kzmKbHM=",
|
||||||
"owner": "rycee",
|
"owner": "rycee",
|
||||||
"repo": "nur-expressions",
|
"repo": "nur-expressions",
|
||||||
"rev": "12ffa46d3f18d1a439a63fb78a83db8e9637a12f",
|
"rev": "fdd004510ccd5fe3fd63a38124578a58b2b21c8e",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -502,14 +530,15 @@
|
|||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nixpkgs-21_05": "nixpkgs-21_05",
|
"nixpkgs-21_05": "nixpkgs-21_05",
|
||||||
|
"nixpkgs-21_11": "nixpkgs-21_11",
|
||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1636315032,
|
"lastModified": 1638911354,
|
||||||
"narHash": "sha256-hbMXt0/PYssN92hfZwIoAnavyBbcLEpHJS3eMAK6H6c=",
|
"narHash": "sha256-hNhzLOp+dApEY15vwLAQZu+sjEQbJcOXCaSfAT6lpsQ=",
|
||||||
"owner": "simple-nixos-mailserver",
|
"owner": "simple-nixos-mailserver",
|
||||||
"repo": "nixos-mailserver",
|
"repo": "nixos-mailserver",
|
||||||
"rev": "6e8142862f23ab99e1cc57838c02b733361e8d50",
|
"rev": "6e3a7b2ea6f0d68b82027b988aa25d3423787303",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -535,7 +564,7 @@
|
|||||||
},
|
},
|
||||||
"vscode-server-fixup": {
|
"vscode-server-fixup": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_3",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@ -575,11 +604,11 @@
|
|||||||
"zsh-cod": {
|
"zsh-cod": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1627976995,
|
"lastModified": 1642757985,
|
||||||
"narHash": "sha256-CJDZK/3TCk+Zb6IZk41L1crboED4FZFhrSJJmHF6yBk=",
|
"narHash": "sha256-gn1MXy2kRCZqYewsxr+ZRwhxwUlD6TM1bt0mRDYnRZ8=",
|
||||||
"owner": "dim-an",
|
"owner": "dim-an",
|
||||||
"repo": "cod",
|
"repo": "cod",
|
||||||
"rev": "5e815b558bbc1c2a48df090c9ab6d0dad8e6f551",
|
"rev": "de10c9bfff394dd59f302515776f1413f26e5a49",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -607,11 +636,11 @@
|
|||||||
"zsh-you-should-use": {
|
"zsh-you-should-use": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1628094370,
|
"lastModified": 1638894143,
|
||||||
"narHash": "sha256-hTJjeJT9szHl9HXDHaSEmkv3wOARORs7sQA8/MjkfIo=",
|
"narHash": "sha256-g4Fw0TwyajZnWQ8fvJvobyt98nRgg08uxK6yNEABo8Y=",
|
||||||
"owner": "MichaelAquilina",
|
"owner": "MichaelAquilina",
|
||||||
"repo": "zsh-you-should-use",
|
"repo": "zsh-you-should-use",
|
||||||
"rev": "ccc7e7f75bd7169758a1c931ea574b96b71aa9a0",
|
"rev": "773ae5f414b296b4100f1ab6668ecffdab795128",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
26
flake.nix
26
flake.nix
@ -4,17 +4,16 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
||||||
# nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-21.05";
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-21.11";
|
||||||
nixpkgs-stable.url = "github:nixos/nixpkgs/51bcdc4cdaac48535dabf0ad4642a66774c609ed";
|
nixpkgs-wayland = {
|
||||||
|
url = "github:nix-community/nixpkgs-wayland";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
nix.url = "github:nixos/nix";
|
nix.url = "github:nixos/nix";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
android-nixpkgs = {
|
|
||||||
url = "github:tadfisher/android-nixpkgs";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
base16.url = "github:alukardbf/base16-nix";
|
base16.url = "github:alukardbf/base16-nix";
|
||||||
base16-horizon-scheme = {
|
base16-horizon-scheme = {
|
||||||
url = "github:michael-ball/base16-horizon-scheme";
|
url = "github:michael-ball/base16-horizon-scheme";
|
||||||
@ -24,10 +23,6 @@
|
|||||||
url = "github:alukardbf/base16-tokyonight-scheme";
|
url = "github:alukardbf/base16-tokyonight-scheme";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
i3lock-fancy-rapid = {
|
|
||||||
url = "github:yvbbrjdr/i3lock-fancy-rapid";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
materia-theme = {
|
materia-theme = {
|
||||||
url = "github:nana-4/materia-theme";
|
url = "github:nana-4/materia-theme";
|
||||||
flake = false;
|
flake = false;
|
||||||
@ -40,19 +35,14 @@
|
|||||||
submodules = true;
|
submodules = true;
|
||||||
type = "git";
|
type = "git";
|
||||||
};
|
};
|
||||||
nixos-rocm = {
|
nix-alien = {
|
||||||
url = "github:nixos-rocm/nixos-rocm/4.3.x";
|
url = "github:thiagokokada/nix-alien";
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nixpkgs-mozilla = {
|
nixpkgs-mozilla = {
|
||||||
url = "github:mozilla/nixpkgs-mozilla";
|
url = "github:mozilla/nixpkgs-mozilla";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
nix-direnv = {
|
|
||||||
url = "github:nix-community/nix-direnv";
|
|
||||||
flake = false;
|
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
qbittorrent-ee = {
|
qbittorrent-ee = {
|
||||||
url = "github:c0re100/qBittorrent-Enhanced-Edition";
|
url = "github:c0re100/qBittorrent-Enhanced-Edition";
|
||||||
flake = false;
|
flake = false;
|
||||||
|
@ -28,12 +28,4 @@
|
|||||||
deviceSpecific.wireguard.enable = true;
|
deviceSpecific.wireguard.enable = true;
|
||||||
|
|
||||||
hardware.video.hidpi.enable = lib.mkForce false;
|
hardware.video.hidpi.enable = lib.mkForce false;
|
||||||
|
|
||||||
services.xserver.config = ''
|
|
||||||
Section "InputClass"
|
|
||||||
Identifier "C-Media USB Headphone Set"
|
|
||||||
MatchUSBID "0d8c:000c"
|
|
||||||
Option "Ignore" "true"
|
|
||||||
EndSection
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
@ -45,6 +45,23 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
activate-secrets = pkgs.writeShellScriptBin "activate-secrets" ''
|
||||||
|
set -euo pipefail
|
||||||
|
export PATH="${with pkgs; lib.makeBinPath [ gnupg git coreutils ]}:/run/wrappers/bin/:$PATH"
|
||||||
|
export SHELL=${pkgs.runtimeShell}
|
||||||
|
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
|
||||||
|
if [ -d "${password-store}/.git" ]; then
|
||||||
|
cd "${password-store}"; git pull
|
||||||
|
else
|
||||||
|
echo "${lib.escapeShellArg config.secretsConfig.repo}"
|
||||||
|
git clone ${
|
||||||
|
lib.escapeShellArg config.secretsConfig.repo
|
||||||
|
} "${password-store}"
|
||||||
|
fi
|
||||||
|
cat ${password-store}/spotify.gpg | ${pkgs.gnupg}/bin/gpg --decrypt > /dev/null
|
||||||
|
[ ! -z "${allServices}" ] && sudo systemctl restart ${allServices}
|
||||||
|
'';
|
||||||
|
|
||||||
decrypt = name: cfg:
|
decrypt = name: cfg:
|
||||||
with cfg; {
|
with cfg; {
|
||||||
"${name}-secrets" = rec {
|
"${name}-secrets" = rec {
|
||||||
@ -95,23 +112,6 @@ let
|
|||||||
(builtins.attrNames config.secrets-envsubst)
|
(builtins.attrNames config.secrets-envsubst)
|
||||||
++ map (name: "${name}-secrets.service")
|
++ map (name: "${name}-secrets.service")
|
||||||
(builtins.attrNames config.secrets));
|
(builtins.attrNames config.secrets));
|
||||||
|
|
||||||
activate-secrets = pkgs.writeShellScriptBin "activate-secrets" ''
|
|
||||||
set -euo pipefail
|
|
||||||
# Make sure card is available and unlocked
|
|
||||||
# echo fetch | gpg --card-edit --no-tty --command-fd=0
|
|
||||||
# ${pkgs.gnupg}/bin/gpg --card-status
|
|
||||||
if [ -d "${password-store}/.git" ]; then
|
|
||||||
cd "${password-store}"; ${pkgs.git}/bin/git pull
|
|
||||||
else
|
|
||||||
${pkgs.git}/bin/git clone ${lib.escapeShellArg config.secretsConfig.repo} "${password-store}"
|
|
||||||
fi
|
|
||||||
ln -sf ${
|
|
||||||
pkgs.writeShellScript "push" "${pkgs.git}/bin/git push origin master"
|
|
||||||
} "${password-store}/.git/hooks/post-commit"
|
|
||||||
cat ${password-store}/spotify.gpg | ${pkgs.gnupg}/bin/gpg --decrypt > /dev/null
|
|
||||||
sudo systemctl restart ${allServices}
|
|
||||||
'';
|
|
||||||
in {
|
in {
|
||||||
options.secrets = lib.mkOption {
|
options.secrets = lib.mkOption {
|
||||||
type = attrsOf (submodule secret);
|
type = attrsOf (submodule secret);
|
||||||
@ -121,15 +121,13 @@ in {
|
|||||||
options.secretsConfig = {
|
options.secretsConfig = {
|
||||||
repo = lib.mkOption {
|
repo = lib.mkOption {
|
||||||
type = str;
|
type = str;
|
||||||
default = "ssh://git@github.com/AlukardBF/pass";
|
default = "git@github.com:AlukardBF/pass.git";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config.systemd.services =
|
config.systemd.services =
|
||||||
mkMerge (concatLists (mapAttrsToList mkServices config.secrets));
|
mkMerge (concatLists (mapAttrsToList mkServices config.secrets));
|
||||||
|
|
||||||
config.environment.systemPackages = [ activate-secrets ];
|
|
||||||
|
|
||||||
config.security.sudo.extraRules = [{
|
config.security.sudo.extraRules = [{
|
||||||
users = [ "alukard" ];
|
users = [ "alukard" ];
|
||||||
commands = [{
|
commands = [{
|
||||||
@ -139,13 +137,43 @@ in {
|
|||||||
}];
|
}];
|
||||||
|
|
||||||
config.home-manager.users.alukard = {
|
config.home-manager.users.alukard = {
|
||||||
xsession.windowManager.i3 = {
|
systemd.user.services.activate-secrets = {
|
||||||
config.startup = [{ command = "activate-secrets"; }];
|
Service = {
|
||||||
|
ExecStart = "${activate-secrets}/bin/activate-secrets";
|
||||||
|
Type = "oneshot";
|
||||||
|
};
|
||||||
|
Unit = {
|
||||||
|
PartOf = [ "graphical-session-pre.target" ];
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "graphical-session-pre.target" ];
|
||||||
|
};
|
||||||
|
systemd.user.services.pass-store-sync = {
|
||||||
|
Service = {
|
||||||
|
Environment = [
|
||||||
|
"PASSWORD_STORE_DIR=${password-store}"
|
||||||
|
"PATH=${with pkgs; lib.makeBinPath [ pass inotify-tools gnupg git ]}"
|
||||||
|
];
|
||||||
|
ExecStart = toString (pkgs.writeShellScript "pass-store-sync" ''
|
||||||
|
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
|
||||||
|
while inotifywait "$PASSWORD_STORE_DIR" -r -e move -e close_write -e create -e delete --exclude .git; do
|
||||||
|
sleep 1
|
||||||
|
pass git add --all
|
||||||
|
pass git commit -m "$(date +%F)_$(date+%T)"
|
||||||
|
pass git pull --rebase
|
||||||
|
pass git push
|
||||||
|
done
|
||||||
|
'');
|
||||||
|
};
|
||||||
|
Unit = rec {
|
||||||
|
After = [ "activate-secrets.service" ];
|
||||||
|
Wants = After;
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "graphical-session-pre.target" ];
|
||||||
};
|
};
|
||||||
programs.password-store = {
|
programs.password-store = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.pass-nodmenu;
|
package = pkgs.pass-wayland;
|
||||||
settings.PASSWORD_STORE_DIR = password-store;
|
settings.PASSWORD_STORE_DIR = password-store;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -38,7 +38,7 @@
|
|||||||
messenger.cmd
|
messenger.cmd
|
||||||
"${pkgs.keepassxc}/bin/keepassxc --keyfile=/home/alukard/.passwords.key /home/alukard/nixos-config/misc/Passwords.kdbx"
|
"${pkgs.keepassxc}/bin/keepassxc --keyfile=/home/alukard/.passwords.key /home/alukard/nixos-config/misc/Passwords.kdbx"
|
||||||
"${term.cmd} -e spt"
|
"${term.cmd} -e spt"
|
||||||
"${pkgs.feh}/bin/feh --bg-fill ${/. + ../misc/wallpaper}"
|
# "${pkgs.feh}/bin/feh --bg-fill ${/. + ../misc/wallpaper}"
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
vo = "gpu";
|
vo = "gpu";
|
||||||
|
gpu-context = "wayland";
|
||||||
|
save-position-on-quit = "yes";
|
||||||
hwdec = if config.deviceSpecific.devInfo.gpu.vendor == "nvidia" then
|
hwdec = if config.deviceSpecific.devInfo.gpu.vendor == "nvidia" then
|
||||||
"vdpau"
|
"vdpau"
|
||||||
else
|
else
|
||||||
@ -11,12 +13,13 @@
|
|||||||
ytdl-format = if config.deviceSpecific.isLaptop then
|
ytdl-format = if config.deviceSpecific.isLaptop then
|
||||||
"bestvideo[height<=?1080]+bestaudio/best"
|
"bestvideo[height<=?1080]+bestaudio/best"
|
||||||
else
|
else
|
||||||
"bestvideo+bestaudio/best";
|
"bestvideo[height<=?2160]+bestaudio/best";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
home-manager.users.alukard.home.file.".config/youtube-dl/config" = {
|
# TODO: --cookies-from-browser
|
||||||
|
home-manager.users.alukard.home.file.".config/yt-dlp/config" = {
|
||||||
text = ''
|
text = ''
|
||||||
--cookie=/home/alukard/.config/yt-cookie
|
--cookies=/home/alukard/.config/yt-cookie
|
||||||
--mark-watched
|
--mark-watched
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -9,12 +9,15 @@ with config.deviceSpecific; {
|
|||||||
exa
|
exa
|
||||||
fd
|
fd
|
||||||
ffmpeg.bin
|
ffmpeg.bin
|
||||||
git-filter-repo
|
# git-filter-repo
|
||||||
# glib.bin # gio
|
glib
|
||||||
# gptfdisk
|
# gptfdisk
|
||||||
libqalculate
|
libqalculate
|
||||||
lm_sensors
|
lm_sensors
|
||||||
|
lnav
|
||||||
|
nix-alien
|
||||||
nix-prefetch-git
|
nix-prefetch-git
|
||||||
|
nix-index-update
|
||||||
p7zip
|
p7zip
|
||||||
# (p7zip.override { enableUnfree = true; })
|
# (p7zip.override { enableUnfree = true; })
|
||||||
pciutils
|
pciutils
|
||||||
@ -24,12 +27,11 @@ with config.deviceSpecific; {
|
|||||||
samba
|
samba
|
||||||
sd
|
sd
|
||||||
tealdeer
|
tealdeer
|
||||||
tidal-dl
|
# tidal-dl
|
||||||
unzip
|
unzip
|
||||||
usbutils
|
usbutils
|
||||||
wget
|
wget
|
||||||
xclip
|
yt-dlp
|
||||||
youtube-dl
|
|
||||||
zip
|
zip
|
||||||
|
|
||||||
# tui
|
# tui
|
||||||
@ -45,39 +47,45 @@ with config.deviceSpecific; {
|
|||||||
# gui
|
# gui
|
||||||
audacity
|
audacity
|
||||||
blueman
|
blueman
|
||||||
bookworm
|
# bookworm
|
||||||
discord
|
discord
|
||||||
element-desktop
|
element-desktop
|
||||||
feh
|
feh
|
||||||
gnome.eog
|
|
||||||
gparted
|
gparted
|
||||||
keepassxc
|
keepassxc
|
||||||
persepolis
|
# persepolis
|
||||||
pinta
|
pinta
|
||||||
qbittorrent
|
qbittorrent
|
||||||
|
qimgv
|
||||||
quodlibet
|
quodlibet
|
||||||
scrcpy
|
scrcpy
|
||||||
system-config-printer
|
system-config-printer
|
||||||
tdesktop
|
tdesktop
|
||||||
xarchiver
|
xarchiver
|
||||||
xfce4-14.thunar
|
|
||||||
xfce4-14.xfce4-taskmanager
|
|
||||||
youtube-to-mpv
|
youtube-to-mpv
|
||||||
zathura
|
zathura
|
||||||
zoom-us
|
|
||||||
|
# libsForQt5.networkmanager-qt
|
||||||
|
# networkmanagerapplet
|
||||||
|
xdg-utils
|
||||||
|
|
||||||
# awesome-shell
|
# awesome-shell
|
||||||
lnav
|
curlie
|
||||||
|
duf
|
||||||
|
zsh-z
|
||||||
] ++ lib.optionals (!(isVM || isISO)) [
|
] ++ lib.optionals (!(isVM || isISO)) [
|
||||||
libreoffice
|
libreoffice
|
||||||
] ++ lib.optionals isGaming [
|
] ++ lib.optionals isGaming [
|
||||||
# ceserver
|
# ceserver
|
||||||
# ckan
|
# ckan
|
||||||
|
gamescope
|
||||||
goverlay
|
goverlay
|
||||||
multimc
|
multimc
|
||||||
lutris
|
lutris
|
||||||
obs-studio
|
obs-studio
|
||||||
reshade-shaders
|
reshade-shaders
|
||||||
|
# (retroarch.override { cores = [ libretro.genesis-plus-gx ]; })
|
||||||
|
protontricks
|
||||||
vkBasalt
|
vkBasalt
|
||||||
# wine
|
# wine
|
||||||
# winetricks
|
# winetricks
|
||||||
|
6
profiles/applications/piper.nix
Normal file
6
profiles/applications/piper.nix
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{ config, pkgs, lib, ... }: {
|
||||||
|
config = lib.mkIf (config.device == "AMD-Workstation") {
|
||||||
|
services.ratbagd.enable = true;
|
||||||
|
home-manager.users.alukard.home.packages = [ pkgs.piper ];
|
||||||
|
};
|
||||||
|
}
|
@ -5,13 +5,14 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
defaultApplications.dmenu = {
|
defaultApplications.dmenu = {
|
||||||
cmd = "${pkgs.rofi}/bin/rofi -show run";
|
cmd = "${pkgs.rofi-wayland}/bin/rofi -show run";
|
||||||
desktop = "rofi";
|
desktop = "rofi";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.alukard = {
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.rofi-wayland;
|
||||||
font = "${thm.fonts.mono.family} ${thm.fontSizes.header.str}";
|
font = "${thm.fonts.mono.family} ${thm.fontSizes.header.str}";
|
||||||
terminal = config.defaultApplications.term.cmd;
|
terminal = config.defaultApplications.term.cmd;
|
||||||
theme = "${themeFile}";
|
theme = "${themeFile}";
|
||||||
|
@ -1,90 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
with config.lib.base16.theme;
|
|
||||||
with config.deviceSpecific;
|
|
||||||
let
|
|
||||||
thm = config.lib.base16.theme;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
defaultApplications.term = lib.mkIf (isISO || isVM) {
|
|
||||||
cmd = "${pkgs.rxvt-unicode}/bin/urxvt";
|
|
||||||
desktop = "urxvt";
|
|
||||||
};
|
|
||||||
home-manager.users.alukard = lib.mkIf (isISO || isVM) {
|
|
||||||
programs.urxvt = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = {
|
|
||||||
"font" = "xft:${thm.fonts.powerline.family}:style=Regular:size=${thm.fontSizes.small.str}";
|
|
||||||
"boldFont" = "xft:${thm.fonts.powerline.family}:style=Bold:size=${thm.fontSizes.small.str}";
|
|
||||||
"italicFont" = "xft:${thm.fonts.powerline.family}:style=Italic:size=${thm.fontSizes.small.str}";
|
|
||||||
"boldItalicfont" = "xft:${thm.fonts.powerline.family}:style=Bold Italic:size=${thm.fontSizes.small.str}";
|
|
||||||
|
|
||||||
"letterSpace" = "0";
|
|
||||||
"lineSpace" = "0";
|
|
||||||
"geometry" = "92x24";
|
|
||||||
"internalBorder" = "24";
|
|
||||||
"cursorBlink" = "true";
|
|
||||||
"cursorUnderline" = "false";
|
|
||||||
"saveline" = "2048";
|
|
||||||
"scrollBar" = "false";
|
|
||||||
"scrollBar_right" = "false";
|
|
||||||
"urgentOnBell" = "true";
|
|
||||||
"depth" = "24";
|
|
||||||
"iso14755" = "false";
|
|
||||||
|
|
||||||
"keysym.Shift-Up" = "command:\\033]720;1\\007";
|
|
||||||
"keysym.Shift-Down" = "command:\\033]721;1\\007";
|
|
||||||
"keysym.Control-Up" = "\\033[1;5A";
|
|
||||||
"keysym.Control-Down" = "\\033[1;5B";
|
|
||||||
"keysym.Control-Right" = "\\033[1;5C";
|
|
||||||
"keysym.Control-Left" = "\\033[1;5D";
|
|
||||||
|
|
||||||
"foreground" = "#${thm.base05-hex}";
|
|
||||||
"background" = "#${thm.base00-hex}";
|
|
||||||
"cursorColor" = "#${thm.base05-hex}";
|
|
||||||
"color0" = "#${thm.base00-hex}";
|
|
||||||
"color1" = "#${thm.base08-hex}";
|
|
||||||
"color2" = "#${thm.base0B-hex}";
|
|
||||||
"color3" = "#${thm.base0A-hex}";
|
|
||||||
"color4" = "#${thm.base0D-hex}";
|
|
||||||
"color5" = "#${thm.base0E-hex}";
|
|
||||||
"color6" = "#${thm.base0C-hex}";
|
|
||||||
"color7" = "#${thm.base05-hex}";
|
|
||||||
"color8" = "#${thm.base03-hex}";
|
|
||||||
"color9" = "#${thm.base08-hex}";
|
|
||||||
"color10" = "#${thm.base0B-hex}";
|
|
||||||
"color11" = "#${thm.base0A-hex}";
|
|
||||||
"color12" = "#${thm.base0D-hex}";
|
|
||||||
"color13" = "#${thm.base0E-hex}";
|
|
||||||
"color14" = "#${thm.base0C-hex}";
|
|
||||||
"color15" = "#${thm.base07-hex}";
|
|
||||||
"color16" = "#${thm.base09-hex}";
|
|
||||||
"color17" = "#${thm.base0F-hex}";
|
|
||||||
"color18" = "#${thm.base01-hex}";
|
|
||||||
"color19" = "#${thm.base02-hex}";
|
|
||||||
"color20" = "#${thm.base04-hex}";
|
|
||||||
"color21" = "#${thm.base06-hex}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xresources.properties = with config.lib.base16.theme; {
|
|
||||||
"*foreground" = "#${base05-hex}";
|
|
||||||
"*background" = "#${base00-hex}";
|
|
||||||
"*cursorColor" = "#${base05-hex}";
|
|
||||||
"*color0" = "#${base00-hex}";
|
|
||||||
"*color1" = "#${base08-hex}";
|
|
||||||
"*color2" = "#${base0B-hex}";
|
|
||||||
"*color3" = "#${base0A-hex}";
|
|
||||||
"*color4" = "#${base0D-hex}";
|
|
||||||
"*color5" = "#${base0E-hex}";
|
|
||||||
"*color6" = "#${base0C-hex}";
|
|
||||||
"*color7" = "#${base05-hex}";
|
|
||||||
"*color8" = "#${base03-hex}";
|
|
||||||
"*color9" = "#${base09-hex}";
|
|
||||||
"*color10" = "#${base01-hex}";
|
|
||||||
"*color11" = "#${base02-hex}";
|
|
||||||
"*color12" = "#${base04-hex}";
|
|
||||||
"*color13" = "#${base06-hex}";
|
|
||||||
"*color14" = "#${base0F-hex}";
|
|
||||||
"*color15" = "#${base07-hex}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.alukard = {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# (vivaldi.override { proprietaryCodecs = true; })
|
|
||||||
((vivaldi.overrideAttrs (oldAttrs: rec {
|
((vivaldi.overrideAttrs (oldAttrs: rec {
|
||||||
buildInputs = oldAttrs.buildInputs ++ [ pkgs.libglvnd pkgs.pipewire pkgs.wayland ];
|
buildInputs = oldAttrs.buildInputs ++ [ pkgs.libglvnd pkgs.pipewire pkgs.wayland ];
|
||||||
# --enable-features=UseOzonePlatform,UseSkiaRenderer,Vulkan --ozone-platform=wayland
|
# --enable-features=UseOzonePlatform,UseSkiaRenderer,Vulkan --ozone-platform=wayland
|
||||||
|
@ -8,107 +8,127 @@ in
|
|||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscode;
|
package = pkgs.vscode;
|
||||||
extensions = with pkgs.vscode-extensions; ([
|
extensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||||
alefragnani.project-manager
|
|
||||||
arrterian.nix-env-selector
|
|
||||||
bbenoist.nix
|
|
||||||
codezombiech.gitignore
|
|
||||||
coenraads.bracket-pair-colorizer-2
|
|
||||||
eamodio.gitlens
|
|
||||||
github.vscode-pull-request-github
|
|
||||||
mhutchie.git-graph
|
|
||||||
ms-vscode-remote.remote-ssh
|
|
||||||
naumovs.color-highlight
|
|
||||||
shardulm94.trailing-spaces
|
|
||||||
streetsidesoftware.code-spell-checker
|
|
||||||
tomoki1207.pdf
|
|
||||||
yzhang.markdown-all-in-one
|
|
||||||
]) ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
|
||||||
{
|
{
|
||||||
name = "awesome-flutter-snippets";
|
|
||||||
publisher = "nash";
|
|
||||||
version = "3.0.2";
|
|
||||||
sha256 = "sha256-GQ42tySMD74F0umBlfBCbcjRsop8lKn/9RrwFM40PwE=";
|
|
||||||
} {
|
|
||||||
name = "better-comments";
|
name = "better-comments";
|
||||||
publisher = "aaron-bond";
|
publisher = "aaron-bond";
|
||||||
version = "2.1.0";
|
version = "2.1.0";
|
||||||
sha256 = "sha256-l7MG2bpfTgVgC+xLal6ygbxrrRoNONzOWjs3fZeZtU4=";
|
sha256 = "0kmmk6bpsdrvbb7dqf0d3annpg41n9g6ljzc1dh0akjzpbchdcwp";
|
||||||
|
} {
|
||||||
|
name = "Bookmarks";
|
||||||
|
publisher = "alefragnani";
|
||||||
|
version = "13.2.2";
|
||||||
|
sha256 = "17fyk8hr9ml0fx6qfyrkd0hbsb9r9s4s95w3yzly2glbwpwn5mm5";
|
||||||
|
} {
|
||||||
|
name = "project-manager";
|
||||||
|
publisher = "alefragnani";
|
||||||
|
version = "12.4.0";
|
||||||
|
sha256 = "0q6zkz7pqz2prmr01h17h9a5q6cn6bjgcxggy69c84j8h2w905wy";
|
||||||
|
} {
|
||||||
|
name = "nix-env-selector";
|
||||||
|
publisher = "arrterian";
|
||||||
|
version = "1.0.7";
|
||||||
|
sha256 = "0mralimyzhyp4x9q98x3ck64ifbjqdp8cxcami7clvdvkmf8hxhf";
|
||||||
|
} {
|
||||||
|
name = "Nix";
|
||||||
|
publisher = "bbenoist";
|
||||||
|
version = "1.0.1";
|
||||||
|
sha256 = "0zd0n9f5z1f0ckzfjr38xw2zzmcxg1gjrava7yahg5cvdcw6l35b";
|
||||||
} {
|
} {
|
||||||
name = "better-toml";
|
name = "better-toml";
|
||||||
publisher = "bungcip";
|
publisher = "bungcip";
|
||||||
version = "0.3.2";
|
version = "0.3.2";
|
||||||
sha256 = "sha256-g+LfgjAnSuSj/nSmlPdB0t29kqTmegZB5B1cYzP8kCI=";
|
sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3";
|
||||||
} {
|
|
||||||
name = "bookmarks";
|
|
||||||
publisher = "alefragnani";
|
|
||||||
version = "13.2.2";
|
|
||||||
sha256 = "sha256-pdZi+eWLPuHp94OXpIlOOS29IGgze4dNd4DWlCGa3p0=";
|
|
||||||
} {
|
|
||||||
name = "codeacejumper";
|
|
||||||
publisher = "lucax88x";
|
|
||||||
version = "3.3.2";
|
|
||||||
sha256 = "sha256-Fltl6ryBK2g2WWxV2Ru74cSYwqxgfFGclLlm8ChwRQk=";
|
|
||||||
} {
|
|
||||||
name = "dart-code";
|
|
||||||
publisher = "dart-code";
|
|
||||||
version = "3.28.0";
|
|
||||||
sha256 = "sha256-m0cZLAlVtjfvkIXlFssDQcNhqpjRrW1JTaUsohnY/14=";
|
|
||||||
} {
|
|
||||||
name = "vscode-env";
|
|
||||||
publisher = "irongeek";
|
|
||||||
version = "0.1.0";
|
|
||||||
sha256 = "sha256-URq90lOFtPCNfSIl2NUwihwRQyqgDysGmBc3NG7o7vk=";
|
|
||||||
} {
|
|
||||||
name = "flutter";
|
|
||||||
publisher = "dart-code";
|
|
||||||
version = "3.28.0";
|
|
||||||
sha256 = "sha256-3+PGSuJe32F2i1g9+/6GkcSYEMsjXZMK4xv4xPjzXvM=";
|
|
||||||
} {
|
|
||||||
name = "flutter-tree";
|
|
||||||
publisher = "marcelovelasquez";
|
|
||||||
version = "1.0.0";
|
|
||||||
sha256 = "sha256-+gQH7so9m/HvO0tDKaiNTP+2pTCvNdecJK60sgTY9CE=";
|
|
||||||
} {
|
|
||||||
name = "gruvbox-material";
|
|
||||||
publisher = "sainnhe";
|
|
||||||
version = "6.4.6";
|
|
||||||
sha256 = "sha256-rm/S4SAZ/z8Svd0wZyaYOZUxcUSMmBE0xUk+16drrZ8=";
|
|
||||||
} {
|
|
||||||
name = "vscode-hexdump";
|
|
||||||
publisher = "slevesque";
|
|
||||||
version = "1.8.1";
|
|
||||||
sha256 = "sha256-BNPRXRiM0OujxUZhBHREtaa0VrbuhhQ2CG3PUCyxga8=";
|
|
||||||
} {
|
|
||||||
name = "material-icon-theme";
|
|
||||||
publisher = "pkief";
|
|
||||||
version = "4.10.0";
|
|
||||||
sha256 = "sha256-4CzjUz/n/lQ7tLXuKEzmSkSE1jinpTZWDy11KHq7P4U=";
|
|
||||||
} {
|
} {
|
||||||
name = "path-intellisense";
|
name = "path-intellisense";
|
||||||
publisher = "christian-kohler";
|
publisher = "christian-kohler";
|
||||||
version = "2.4.2";
|
version = "2.7.0";
|
||||||
sha256 = "sha256-bPemoDmhBANjbn19ThKTZEjKLbQ5SlVFJp22K4kNjag=";
|
sha256 = "11jbaz8dlr9zmamikgii6pvbncsm61bhkipfarlqrisgfk99im9w";
|
||||||
} {
|
} {
|
||||||
name = "plantuml";
|
name = "gitignore";
|
||||||
publisher = "jebbs";
|
publisher = "codezombiech";
|
||||||
version = "2.16.0";
|
version = "0.7.0";
|
||||||
sha256 = "sha256-E29zGwHzVTARVGKn0JHpyKx3NCBNUSUSngmUvi0Hfo8=";
|
sha256 = "0fm4sxx1cb679vn4v85dw8dfp5x0p74m9p2b56gqkvdap0f2q351";
|
||||||
} {
|
} {
|
||||||
name = "code-spell-checker-russian";
|
name = "dart-code";
|
||||||
publisher = "streetsidesoftware";
|
publisher = "Dart-Code";
|
||||||
version = "2.0.1";
|
version = "3.33.20220111";
|
||||||
sha256 = "sha256-GC1zQp/2BxPLrCBCgKhxHkvX0bM3OAYSvI2C9SSHthQ=";
|
sha256 = "14jc0vh7swn2ijmgc496wjfrk5mbv4yrjpzxq3n9z1l5390sz30x";
|
||||||
} {
|
} {
|
||||||
name = "tokyo-night";
|
name = "flutter";
|
||||||
publisher = "enkia";
|
publisher = "Dart-Code";
|
||||||
version = "0.7.9";
|
version = "3.32.0";
|
||||||
sha256 = "sha256-2+md3lkBew1u+XkAM4e7i4OMNvyyJlZA4OT3WvMUkfk=";
|
sha256 = "02zk6889n9m4s44ygnid28mg9bghrdcj0wg8ma1g1yqx7jv554l6";
|
||||||
} {
|
} {
|
||||||
name = "wal-theme";
|
name = "wal-theme";
|
||||||
publisher = "dlasagno";
|
publisher = "dlasagno";
|
||||||
version = "1.2.0";
|
version = "1.2.0";
|
||||||
sha256 = "sha256-X16N5ClNVLtWST64ybJUEIRo6WgDCzODhBA9ScAHI5w=";
|
sha256 = "17130z04jg8hhj1k62q3d3lni10hajrckf1y95bbnm2d57j8spjz";
|
||||||
|
} {
|
||||||
|
name = "gitlens";
|
||||||
|
publisher = "eamodio";
|
||||||
|
version = "11.7.0";
|
||||||
|
sha256 = "0apjjlfdwljqih394ggz2d8m599pyyjrb0b4cfcz83601b7hk3x6";
|
||||||
|
} {
|
||||||
|
name = "tokyo-night";
|
||||||
|
publisher = "enkia";
|
||||||
|
version = "0.8.4";
|
||||||
|
sha256 = "15ab2k0xs8kvws8zq0irch4cvq1dc0zr3xynj0qn78zzbgwq92c7";
|
||||||
|
} {
|
||||||
|
name = "vscode-pull-request-github";
|
||||||
|
publisher = "GitHub";
|
||||||
|
version = "0.35.2022012009";
|
||||||
|
sha256 = "0rbky4cy6r0nw32pqfjj854nj9kf3f5dc6v38mf4wvzmxd5nb6bj";
|
||||||
|
} {
|
||||||
|
name = "vscode-env";
|
||||||
|
publisher = "IronGeek";
|
||||||
|
version = "0.1.0";
|
||||||
|
sha256 = "1ygfx1p38dqpk032n3x0591i274a63axh992gn6z1d45ag9bs6ji";
|
||||||
|
} {
|
||||||
|
name = "plantuml";
|
||||||
|
publisher = "jebbs";
|
||||||
|
version = "2.17.2";
|
||||||
|
sha256 = "0yxnfq34g563w96dwfirqscjfclhzr48yb9cwfjjf0c0l638x9vv";
|
||||||
|
} {
|
||||||
|
name = "codeacejumper";
|
||||||
|
publisher = "lucax88x";
|
||||||
|
version = "3.3.2";
|
||||||
|
sha256 = "02a5f0lg0rmrjjf52z30mk19ii71pcdxjmbcb4v6haw1pkm6anqn";
|
||||||
|
} {
|
||||||
|
name = "flutter-tree";
|
||||||
|
publisher = "marcelovelasquez";
|
||||||
|
version = "1.0.0";
|
||||||
|
sha256 = "08glv02b5d5f4jfdfddg62jvdzscinl2jhsb7gpz36rxrbp0f17s";
|
||||||
|
} {
|
||||||
|
name = "git-graph";
|
||||||
|
publisher = "mhutchie";
|
||||||
|
version = "1.30.0";
|
||||||
|
sha256 = "000zhgzijf3h6abhv4p3cz99ykj6489wfn81j0s691prr8q9lxxh";
|
||||||
|
} {
|
||||||
|
name = "remote-ssh";
|
||||||
|
publisher = "ms-vscode-remote";
|
||||||
|
version = "0.71.2021121615";
|
||||||
|
sha256 = "1lh08157z7lialb0dxls9fhahmf5l9wz6x2anwrnycvs512lpr1p";
|
||||||
|
} {
|
||||||
|
name = "awesome-flutter-snippets";
|
||||||
|
publisher = "Nash";
|
||||||
|
version = "3.0.2";
|
||||||
|
sha256 = "009z6k719w0sypzsk53wiard3j3d8bq9b0g9s82vw3wc4jvkc3hr";
|
||||||
|
} {
|
||||||
|
name = "color-highlight";
|
||||||
|
publisher = "naumovs";
|
||||||
|
version = "2.5.0";
|
||||||
|
sha256 = "0ri1rylg0r9r1kdc67815gjlq5fwnb26xpyziva6a40brrbh70vm";
|
||||||
|
} {
|
||||||
|
name = "material-icon-theme";
|
||||||
|
publisher = "PKief";
|
||||||
|
version = "4.11.0";
|
||||||
|
sha256 = "1l2s8j645riqjmj09i3v71s8ycin5vd6brdp35z472fnk6wyi1y6";
|
||||||
|
} {
|
||||||
|
name = "gruvbox-material";
|
||||||
|
publisher = "sainnhe";
|
||||||
|
version = "6.5.0";
|
||||||
|
sha256 = "1r9kgwrh6jjp8i6aa07prhrb398d5isf9ics4wmdbvd6k0gnzf8n";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
userSettings = {
|
userSettings = {
|
||||||
@ -170,6 +190,8 @@ in
|
|||||||
"git-graph.repository.sign.commits" = true;
|
"git-graph.repository.sign.commits" = true;
|
||||||
"git-graph.repository.sign.tags" = true;
|
"git-graph.repository.sign.tags" = true;
|
||||||
"remote.SSH.configFile" = "/home/alukard/.ssh/remote_config";
|
"remote.SSH.configFile" = "/home/alukard/.ssh/remote_config";
|
||||||
|
"editor.bracketPairColorization.enabled" = true;
|
||||||
|
"editor.guides.bracketPairs" = "active";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
nixPath = lib.mkForce [ "self=/etc/self/compat" "nixpkgs=/etc/nixpkgs" ];
|
nixPath = lib.mkForce [ "self=/etc/self/compat" "nixpkgs=/etc/nixpkgs" ];
|
||||||
binaryCaches = [
|
binaryCaches = [
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
"https://nixos-rocm.cachix.org"
|
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
|
"https://nixpkgs-wayland.cachix.org"
|
||||||
];
|
];
|
||||||
binaryCachePublicKeys = [
|
binaryCachePublicKeys = [
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
"nixos-rocm.cachix.org-1:VEpsf7pRIijjd8csKjFNBGzkBqOmw8H9PRmgAq14LnE="
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
|
||||||
];
|
];
|
||||||
|
|
||||||
registry.self.flake = inputs.self;
|
registry.self.flake = inputs.self;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ pkgs, config, lib, inputs, ... }:
|
{ pkgs, config, lib, inputs, ... }:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
inherit (pkgs) system;
|
||||||
stable = import inputs.nixpkgs-stable ({
|
stable = import inputs.nixpkgs-stable ({
|
||||||
config = config.nixpkgs.config;
|
config = config.nixpkgs.config;
|
||||||
localSystem = { inherit system; };
|
localSystem = { inherit system; };
|
||||||
@ -12,8 +12,8 @@ let
|
|||||||
in
|
in
|
||||||
with lib; {
|
with lib; {
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
inputs.android-nixpkgs.overlay
|
|
||||||
inputs.nixpkgs-wayland.overlay
|
inputs.nixpkgs-wayland.overlay
|
||||||
|
inputs.nix-alien.overlay
|
||||||
(self: super:
|
(self: super:
|
||||||
rec {
|
rec {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
@ -21,7 +21,7 @@ with lib; {
|
|||||||
android-emulator = self.callPackage ./packages/android-emulator.nix { };
|
android-emulator = self.callPackage ./packages/android-emulator.nix { };
|
||||||
bibata-cursors = pkgs.callPackage ./packages/bibata-cursors.nix { };
|
bibata-cursors = pkgs.callPackage ./packages/bibata-cursors.nix { };
|
||||||
ceserver = pkgs.callPackage ./packages/ceserver.nix { };
|
ceserver = pkgs.callPackage ./packages/ceserver.nix { };
|
||||||
i3lock-fancy-rapid = pkgs.callPackage ./packages/i3lock-fancy-rapid.nix { };
|
gamescope = pkgs.callPackage ./packages/gamescope.nix { };
|
||||||
ibm-plex-powerline = pkgs.callPackage ./packages/ibm-plex-powerline.nix { };
|
ibm-plex-powerline = pkgs.callPackage ./packages/ibm-plex-powerline.nix { };
|
||||||
mpris-ctl = pkgs.callPackage ./packages/mpris-ctl.nix { };
|
mpris-ctl = pkgs.callPackage ./packages/mpris-ctl.nix { };
|
||||||
multimc = pkgs.qt5.callPackage ./packages/multimc.nix { multimc-repo = inputs.multimc-cracked; };
|
multimc = pkgs.qt5.callPackage ./packages/multimc.nix { multimc-repo = inputs.multimc-cracked; };
|
||||||
@ -33,6 +33,7 @@ with lib; {
|
|||||||
youtube-to-mpv = pkgs.callPackage ./packages/youtube-to-mpv.nix { term = config.defaultApplications.term.cmd; };
|
youtube-to-mpv = pkgs.callPackage ./packages/youtube-to-mpv.nix { term = config.defaultApplications.term.cmd; };
|
||||||
vivaldi = master.vivaldi;
|
vivaldi = master.vivaldi;
|
||||||
wine = super.wineWowPackages.staging;
|
wine = super.wineWowPackages.staging;
|
||||||
|
pass-secret-service = super.pass-secret-service.overrideAttrs (_: { installCheckPhase = null; });
|
||||||
qbittorrent = super.qbittorrent.overrideAttrs (old: rec {
|
qbittorrent = super.qbittorrent.overrideAttrs (old: rec {
|
||||||
version = "enchanced-edition";
|
version = "enchanced-edition";
|
||||||
src = inputs.qbittorrent-ee;
|
src = inputs.qbittorrent-ee;
|
||||||
@ -42,8 +43,8 @@ with lib; {
|
|||||||
src = super.fetchFromGitHub {
|
src = super.fetchFromGitHub {
|
||||||
owner = "digint";
|
owner = "digint";
|
||||||
repo = "btrbk";
|
repo = "btrbk";
|
||||||
rev = "cb38b7efa411f08fd3d7a65e19a8cef385eda0b8";
|
rev = "c5273a8745fa60fc52b3180fa210ec3048e6a419";
|
||||||
sha256 = "sha256-426bjK7EDq5LHb3vNS8XYnAuA6TUKXNOVrjGMR70bio=";
|
sha256 = "sha256-Q5KIndnXtTJmqVjmuucutWPggLey7ceT9sqeEInC8vw=";
|
||||||
};
|
};
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
wrapProgram $out/bin/btrbk \
|
wrapProgram $out/bin/btrbk \
|
||||||
|
@ -1,128 +0,0 @@
|
|||||||
{ stdenv, lib, runtimeShell
|
|
||||||
, name ? "android-emulator", sdk ? null, deviceType ? ""
|
|
||||||
, platformVersion ? "30", systemImageType ? "default", abiVersion ? "x86_64"
|
|
||||||
, enableGPU ? false, extraAVDFiles ? []
|
|
||||||
, app ? null, package ? null, activity ? null
|
|
||||||
, avdHomeDir ? null
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
inherit name;
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
|
|
||||||
cat > $out/bin/${name}-run << "EOF"
|
|
||||||
#!${runtimeShell} -e
|
|
||||||
|
|
||||||
# We need a TMPDIR
|
|
||||||
if [ "$TMPDIR" = "" ]
|
|
||||||
then
|
|
||||||
export TMPDIR=/tmp
|
|
||||||
fi
|
|
||||||
|
|
||||||
${if avdHomeDir == null then ''
|
|
||||||
# Store the virtual devices somewhere else, instead of polluting a user's HOME directory
|
|
||||||
export ANDROID_SDK_HOME=$(mktemp -d $TMPDIR/nix-android-vm-XXXX)
|
|
||||||
'' else ''
|
|
||||||
mkdir -p "${avdHomeDir}"
|
|
||||||
export ANDROID_SDK_HOME="${avdHomeDir}"
|
|
||||||
''}
|
|
||||||
|
|
||||||
# We need to specify the location of the Android SDK root folder
|
|
||||||
export ANDROID_SDK_ROOT=${sdk}
|
|
||||||
|
|
||||||
# We have to look for a free TCP port
|
|
||||||
|
|
||||||
echo "Looking for a free TCP port in range 5554-5584" >&2
|
|
||||||
|
|
||||||
for i in $(seq 5554 2 5584)
|
|
||||||
do
|
|
||||||
if [ -z "$(${sdk}/platform-tools/adb devices | grep emulator-$i)" ]
|
|
||||||
then
|
|
||||||
port=$i
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -z "$port" ]
|
|
||||||
then
|
|
||||||
echo "Unfortunately, the emulator port space is exhausted!" >&2
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "We have a free TCP port: $port" >&2
|
|
||||||
fi
|
|
||||||
|
|
||||||
export ANDROID_SERIAL="emulator-$port"
|
|
||||||
|
|
||||||
# Create a virtual android device for testing if it does not exist
|
|
||||||
# ${sdk}/cmdline-tools/latest/bin/avdmanager list target
|
|
||||||
|
|
||||||
if [ "$(${sdk}/cmdline-tools/latest/bin/avdmanager list avd | grep 'Name: ${name}')" = "" ]
|
|
||||||
then
|
|
||||||
# Create a virtual android device
|
|
||||||
yes "" | ${sdk}/cmdline-tools/latest/bin/avdmanager create avd -n "${name}" -k "system-images;android-${platformVersion};${systemImageType};${abiVersion}" -d "${deviceType}" $NIX_ANDROID_AVD_FLAGS
|
|
||||||
|
|
||||||
# fix wrong sdk path
|
|
||||||
sed -i "s|image.sysdir.1.\+|image.sysdir.1=${sdk}/system-images/android-${platformVersion}/${systemImageType}/${abiVersion}|" "$ANDROID_SDK_HOME/.android/avd/${name}.avd/config.ini"
|
|
||||||
|
|
||||||
${lib.optionalString enableGPU ''
|
|
||||||
# Enable GPU acceleration
|
|
||||||
echo "hw.gpu.enabled=yes" >> "$ANDROID_SDK_HOME/.android/avd/${name}.avd/config.ini"
|
|
||||||
''}
|
|
||||||
|
|
||||||
${lib.concatMapStrings (extraAVDFile: ''
|
|
||||||
ln -sf ${extraAVDFile} "$ANDROID_SDK_HOME/.android/avd/${name}.avd"
|
|
||||||
'') extraAVDFiles}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Launch the emulator
|
|
||||||
${sdk}/emulator/emulator -avd "${name}" -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS &
|
|
||||||
|
|
||||||
# Wait until the device has completely booted
|
|
||||||
echo "Waiting until the emulator has booted the device and the package manager is ready..." >&2
|
|
||||||
|
|
||||||
${sdk}/platform-tools/adb -s emulator-$port wait-for-device
|
|
||||||
|
|
||||||
echo "Device state has been reached" >&2
|
|
||||||
|
|
||||||
while [ -z "$(${sdk}/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ]
|
|
||||||
do
|
|
||||||
sleep 5
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "dev.bootcomplete property is 1" >&2
|
|
||||||
|
|
||||||
#while [ -z "$(${sdk}/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ]
|
|
||||||
#do
|
|
||||||
#sleep 5
|
|
||||||
#done
|
|
||||||
|
|
||||||
#echo "sys.boot_completed property is 1" >&2
|
|
||||||
|
|
||||||
echo "ready" >&2
|
|
||||||
|
|
||||||
${lib.optionalString (app != null) ''
|
|
||||||
# Install the App through the debugger, if it has not been installed yet
|
|
||||||
|
|
||||||
if [ -z "${package}" ] || [ "$(${sdk}/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ]
|
|
||||||
then
|
|
||||||
if [ -d "${app}" ]
|
|
||||||
then
|
|
||||||
appPath="$(echo ${app}/*.apk)"
|
|
||||||
else
|
|
||||||
appPath="${app}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
${sdk}/platform-tools/adb -s emulator-$port install "$appPath"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Start the application
|
|
||||||
${lib.optionalString (package != null && activity != null) ''
|
|
||||||
${sdk}/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity}
|
|
||||||
''}
|
|
||||||
''}
|
|
||||||
EOF
|
|
||||||
chmod +x $out/bin/${name}-run
|
|
||||||
'';
|
|
||||||
}
|
|
81
profiles/packages/gamescope.nix
Normal file
81
profiles/packages/gamescope.nix
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
{ lib, stdenv, fetchFromGitHub, meson, pkgconfig, libdrm, xorg
|
||||||
|
, wayland, wayland-protocols, libxkbcommon, libcap
|
||||||
|
, SDL2, mesa, libinput, pixman, xcbutilerrors, xcbutilwm, glslang
|
||||||
|
, ninja, makeWrapper, xwayland, libuuid, xcbutilrenderutil
|
||||||
|
, pipewire, stb, writeText, wlroots, vulkan-loader, vulkan-headers, libkrb5 }:
|
||||||
|
|
||||||
|
let
|
||||||
|
stbpc = writeText "stbpc" ''
|
||||||
|
prefix=${stb}
|
||||||
|
includedir=''${prefix}/include/stb
|
||||||
|
Cflags: -I''${includedir}
|
||||||
|
Name: stb
|
||||||
|
Version: ${stb.version}
|
||||||
|
Description: stb
|
||||||
|
'';
|
||||||
|
stb_ = stb.overrideAttrs (oldAttrs: rec {
|
||||||
|
installPhase = ''
|
||||||
|
${oldAttrs.installPhase}
|
||||||
|
install -Dm644 ${stbpc} $out/lib/pkgconfig/stb.pc
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
vulkan-headers_ = vulkan-headers.overrideAttrs (oldAttrs: rec {
|
||||||
|
version = "1.2.189.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "KhronosGroup";
|
||||||
|
repo = "Vulkan-Headers";
|
||||||
|
rev = "sdk-${version}";
|
||||||
|
sha256 = "1qggc7dv9jr83xr9w2h375wl3pz3rfgrk9hnrjmylkg9gz4p9q03";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
vulkan-loader_ = (vulkan-loader.overrideAttrs (oldAttrs: rec {
|
||||||
|
version = "1.2.189.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "KhronosGroup";
|
||||||
|
repo = "Vulkan-Loader";
|
||||||
|
rev = "sdk-${version}";
|
||||||
|
sha256 = "1745fdzi0n5qj2s41q6z1y52cq8pwswvh1a32d3n7kl6bhksagp6";
|
||||||
|
};
|
||||||
|
})).override { vulkan-headers = vulkan-headers_; };
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
pname = "gamescope";
|
||||||
|
version = "3.9.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Plagman";
|
||||||
|
repo = "gamescope";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "05a1sj1fl9wpb9jys515m96958cxmgim8i7zc5mn44rjijkfbfcb";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
substituteInPlace meson.build \
|
||||||
|
--replace "'examples=false'" "'examples=false', 'logind-provider=systemd', 'libseat=disabled'"
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/gamescope \
|
||||||
|
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libkrb5 ]}" \
|
||||||
|
--prefix PATH : "${lib.makeBinPath [ xwayland ]}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = with xorg; [
|
||||||
|
libX11 libXdamage libXcomposite libXrender libXext libXxf86vm
|
||||||
|
libXtst libdrm vulkan-loader_ wayland wayland-protocols
|
||||||
|
libxkbcommon libcap SDL2 mesa libinput pixman xcbutilerrors
|
||||||
|
xcbutilwm libXi libXres libuuid xcbutilrenderutil xwayland
|
||||||
|
pipewire wlroots libkrb5
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [ meson pkgconfig glslang ninja makeWrapper stb_ ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "The micro-compositor formerly known as steamcompmgr";
|
||||||
|
license = licenses.bsd2;
|
||||||
|
homepage = src.meta.homepage;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,25 +0,0 @@
|
|||||||
{ stdenv, fetchFromGitHub, i3lock, xorg, inputs, pkgs }:
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "i3lock-fancy-rapid";
|
|
||||||
src = inputs.i3lock-fancy-rapid;
|
|
||||||
# src = fetchFromGitHub {
|
|
||||||
# owner = "yvbbrjdr";
|
|
||||||
# repo = "i3lock-fancy-rapid";
|
|
||||||
# rev = "c67f09bc8a48798c7c820d7d4749240b10865ce0";
|
|
||||||
# sha256 = "0jhvlj6v6wx70239pgkjxd42z1s2bzfg886ra6n1rzsdclf4rkc6";
|
|
||||||
# };
|
|
||||||
buildInputs = [ i3lock xorg.libX11 ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp i3lock-fancy-rapid $out/bin/i3lock-fancy-rapid
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with pkgs.lib; {
|
|
||||||
description = "A faster implementation of i3lock-fancy. It is blazing fast and provides a fully configurable box blur. It uses linear-time box blur and accelerates using OpenMP.";
|
|
||||||
homepage = https://github.com/yvbbrjdr/i3lock-fancy-rapid;
|
|
||||||
maintainers = with maintainers; [ ];
|
|
||||||
license = licenses.bsd3;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
@ -19,7 +19,7 @@ let
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
version = "5.1.3";
|
version = "6.0.0";
|
||||||
in fetchzip {
|
in fetchzip {
|
||||||
name = "ibm-plex-powerline-${version}";
|
name = "ibm-plex-powerline-${version}";
|
||||||
|
|
||||||
@ -33,6 +33,6 @@ in fetchzip {
|
|||||||
rm -f $out/share/fonts/opentype/IBMPlex*
|
rm -f $out/share/fonts/opentype/IBMPlex*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sha256 = "sha256-Ur3pG3t9sjboJ2AFAcffFfVJhRQBOtvZ0aulFyMZJts=";
|
sha256 = "sha256-doBe3rNMrPjNG7zRGuCAV7w1iT49A7UROjtMapcjXUk=";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
{ stdenv, pkgs, term }:
|
{ stdenv, pkgs, term }:
|
||||||
let
|
let
|
||||||
yt-mpv = pkgs.writeShellScriptBin "yt-mpv" ''
|
yt-mpv = pkgs.writeShellScriptBin "yt-mpv" ''
|
||||||
if [[ "$1" != "--no-video" ]]; then
|
if [[ "$1" != "--no-video" ]]; then
|
||||||
${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(${pkgs.xclip}/bin/xclip -o)"
|
${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(${pkgs.wl-clipboard}/bin/wl-paste)"
|
||||||
${pkgs.mpv}/bin/mpv --fs "$(${pkgs.xclip}/bin/xclip -o)"
|
${pkgs.mpv}/bin/mpv --fs "$(${pkgs.wl-clipboard}/bin/wl-paste)"
|
||||||
else
|
else
|
||||||
${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Audio" "$(${pkgs.xclip}/bin/xclip -o)"
|
${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Audio" "$(${pkgs.wl-clipboard}/bin/wl-paste)"
|
||||||
${term} -e ${pkgs.mpv}/bin/mpv --no-video "$(${pkgs.xclip}/bin/xclip -o)"
|
${term} -e ${pkgs.mpv}/bin/mpv --no-video "$(${pkgs.wl-clipboard}/bin/wl-paste)"
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "youtube-to-mpv";
|
name = "youtube-to-mpv";
|
||||||
|
26
profiles/servers/gitea.nix
Normal file
26
profiles/servers/gitea.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
{
|
||||||
|
secrets.gitea = {
|
||||||
|
owner = "gitea";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.gitea = {
|
||||||
|
enable = true;
|
||||||
|
appName = "AtaraxiaDev Gitea Instance";
|
||||||
|
cookieSecure = true;
|
||||||
|
database = {
|
||||||
|
type = "postgres";
|
||||||
|
passwordFile = config.secrets.gitea.decrypted;
|
||||||
|
};
|
||||||
|
disableRegistration = true;
|
||||||
|
domain = "code.ataraxiadev.com";
|
||||||
|
httpPort = 6000;
|
||||||
|
lfs.enable = true;
|
||||||
|
rootUrl = "https://code.ataraxiadev.com";
|
||||||
|
settings = {
|
||||||
|
server = {
|
||||||
|
SSH_DOMAIN = "gitea.ataraxiadev.com";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -104,11 +104,16 @@
|
|||||||
'';
|
'';
|
||||||
locations."/mautrix-telegram/" = {
|
locations."/mautrix-telegram/" = {
|
||||||
proxyPass = "http://localhost:29317";
|
proxyPass = "http://localhost:29317";
|
||||||
};
|
};
|
||||||
locations."/_matrix" = {
|
locations."/_matrix" = {
|
||||||
proxyPass = "http://localhost:13748";
|
proxyPass = "http://localhost:13748";
|
||||||
};
|
};
|
||||||
} // default;
|
} // default;
|
||||||
|
"code.ataraxiadev.com" = {
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://localhost:6000";
|
||||||
|
};
|
||||||
|
} // default;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -28,12 +28,6 @@ with config.deviceSpecific; {
|
|||||||
interval = "weekly";
|
interval = "weekly";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.redshift = {
|
|
||||||
enable = true;
|
|
||||||
temperature.day = 6500;
|
|
||||||
temperature.night = 3000;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.thermald.enable = isLaptop;
|
services.thermald.enable = isLaptop;
|
||||||
|
|
||||||
services.tlp = {
|
services.tlp = {
|
||||||
@ -69,6 +63,14 @@ with config.deviceSpecific; {
|
|||||||
|
|
||||||
home-manager.users.alukard.services.udiskie.enable = true;
|
home-manager.users.alukard.services.udiskie.enable = true;
|
||||||
|
|
||||||
|
home-manager.users.alukard.services.gammastep = {
|
||||||
|
enable = true;
|
||||||
|
latitude = 48.79;
|
||||||
|
longitude = 44.78;
|
||||||
|
temperature.day = 6500;
|
||||||
|
temperature.night = 3000;
|
||||||
|
};
|
||||||
|
|
||||||
services.upower.enable = true;
|
services.upower.enable = true;
|
||||||
|
|
||||||
systemd.services.systemd-udev-settle.enable = false;
|
systemd.services.systemd-udev-settle.enable = false;
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }: {
|
|
||||||
home-manager.users.alukard = rec {
|
|
||||||
imports = [ inputs.android-nixpkgs.hmModule ];
|
|
||||||
|
|
||||||
android-sdk = {
|
|
||||||
enable = true;
|
|
||||||
path = "${config.home-manager.users.alukard.home.homeDirectory}/.android/sdk";
|
|
||||||
packages = sdk: with sdk; [
|
|
||||||
build-tools-31-0-0
|
|
||||||
build-tools-29-0-2
|
|
||||||
cmdline-tools-latest
|
|
||||||
patcher-v4
|
|
||||||
platform-tools
|
|
||||||
platforms-android-30
|
|
||||||
|
|
||||||
|
|
||||||
emulator
|
|
||||||
system-images-android-30-google-apis-x86-64
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
ANDROID_HOME = android-sdk.path;
|
|
||||||
ANDROID_SDK_ROOT = android-sdk.path;
|
|
||||||
JAVA_HOME = pkgs.jdk11.home;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = let
|
|
||||||
android-emulator = pkgs.android-emulator.override {
|
|
||||||
name = "flutter-emulator";
|
|
||||||
avdHomeDir = config.home-manager.users.alukard.home.homeDirectory;
|
|
||||||
sdk = android-sdk.path;
|
|
||||||
platformVersion = "30";
|
|
||||||
systemImageType = "google_apis";
|
|
||||||
abiVersion = "x86_64";
|
|
||||||
deviceType = "pixel";
|
|
||||||
# enableGPU = true;
|
|
||||||
};
|
|
||||||
in [
|
|
||||||
pkgs.flutter
|
|
||||||
android-emulator
|
|
||||||
# jdk11
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
ANDROID_HOME = config.home-manager.users.alukard.android-sdk.path;
|
|
||||||
ANDROID_SDK_ROOT = config.home-manager.users.alukard.android-sdk.path;
|
|
||||||
JAVA_HOME = pkgs.jdk11.home;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
{ pkgs, config, lib, ... }:
|
|
||||||
let
|
|
||||||
thm = config.lib.base16.theme;
|
|
||||||
in {
|
|
||||||
home-manager.users.alukard = {
|
|
||||||
services.dunst = {
|
|
||||||
enable = true;
|
|
||||||
iconTheme = {
|
|
||||||
name = "${thm.iconTheme}";
|
|
||||||
package = thm.iconPackage;
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
geometry = "500x5-30+50";
|
|
||||||
transparency = 10;
|
|
||||||
frame_color = "#${thm.base05-hex}";
|
|
||||||
separator_color = "#${thm.base05-hex}";
|
|
||||||
font = "${thm.fonts.main.family} ${thm.fontSizes.normal.str}";
|
|
||||||
padding = 15;
|
|
||||||
horizontal_padding = 17;
|
|
||||||
word_wrap = true;
|
|
||||||
follow = "keyboard";
|
|
||||||
format = ''
|
|
||||||
%s %p %I
|
|
||||||
%b'';
|
|
||||||
markup = "full";
|
|
||||||
};
|
|
||||||
|
|
||||||
urgency_low = {
|
|
||||||
background = "#${thm.base01-hex}";
|
|
||||||
foreground = "#${thm.base05-hex}";
|
|
||||||
timeout = 8;
|
|
||||||
};
|
|
||||||
|
|
||||||
urgency_normal = {
|
|
||||||
background = "#${thm.base01-hex}";
|
|
||||||
foreground = "#${thm.base08-hex}";
|
|
||||||
timeout = 12;
|
|
||||||
};
|
|
||||||
|
|
||||||
urgency_critical = {
|
|
||||||
background = "#${thm.base01-hex}";
|
|
||||||
foreground = "#${thm.base0D-hex}";
|
|
||||||
timeout = 20;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xsession.windowManager.i3.config.startup =
|
|
||||||
[{ command = "${pkgs.dunst}/bin/dunst"; }];
|
|
||||||
};
|
|
||||||
}
|
|
@ -31,8 +31,9 @@ in {
|
|||||||
};
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
gtk.iconCache.enable = true;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
services.dbus.packages = with pkgs; [ gnome3.dconf gcr ];
|
services.dbus.packages = with pkgs; [ dconf gcr ];
|
||||||
home-manager.users.alukard = {
|
home-manager.users.alukard = {
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -49,10 +50,6 @@ in {
|
|||||||
size = thm.fontSizes.normal.int;
|
size = thm.fontSizes.normal.int;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
home.sessionVariables.XDG_DATA_DIRS = [
|
|
||||||
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
|
|
||||||
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
|
|
||||||
];
|
|
||||||
home.sessionVariables.GTK_THEME = "Generated";
|
home.sessionVariables.GTK_THEME = "Generated";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,194 +0,0 @@
|
|||||||
{ pkgs, config, lib, ... }:
|
|
||||||
let
|
|
||||||
thm = config.lib.base16.theme;
|
|
||||||
apps = config.defaultApplications;
|
|
||||||
# lock = pkgs.writeShellScript "lock" "sudo /run/current-system/sw/bin/lock";
|
|
||||||
in {
|
|
||||||
environment.sessionVariables._JAVA_AWT_WM_NONREPARENTING = "1";
|
|
||||||
|
|
||||||
home-manager.users.alukard.xsession.windowManager.i3 = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.i3-gaps;
|
|
||||||
config = rec {
|
|
||||||
assigns = {
|
|
||||||
"" = [
|
|
||||||
{ class = "spotify"; }
|
|
||||||
{ title = "spt"; }
|
|
||||||
];
|
|
||||||
"" = [
|
|
||||||
{ class = "^Telegram"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
fonts = {
|
|
||||||
names = [ "${thm.fonts.main.family}" ];
|
|
||||||
style = "Regular";
|
|
||||||
size = thm.fontSizes.micro.float;
|
|
||||||
};
|
|
||||||
|
|
||||||
bars = [ ];
|
|
||||||
|
|
||||||
colors = rec {
|
|
||||||
background = "#${thm.base00-hex}";
|
|
||||||
unfocused = {
|
|
||||||
text = "#${thm.base02-hex}";
|
|
||||||
border = "#${thm.base01-hex}";
|
|
||||||
background = "#${thm.base00-hex}";
|
|
||||||
childBorder = "#${thm.base01-hex}";
|
|
||||||
indicator = "#${thm.base07-hex}";
|
|
||||||
};
|
|
||||||
focusedInactive = unfocused;
|
|
||||||
urgent = unfocused // {
|
|
||||||
text = "#${thm.base05-hex}";
|
|
||||||
border = "#${thm.base09-hex}";
|
|
||||||
childBorder = "#${thm.base09-hex}";
|
|
||||||
};
|
|
||||||
focused = unfocused // {
|
|
||||||
childBorder = "#${thm.base03-hex}";
|
|
||||||
border = "#${thm.base03-hex}";
|
|
||||||
background = "#${thm.base01-hex}";
|
|
||||||
text = "#${thm.base05-hex}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gaps = {
|
|
||||||
inner = 6;
|
|
||||||
smartGaps = true;
|
|
||||||
smartBorders = "on";
|
|
||||||
};
|
|
||||||
focus.mouseWarping = false;
|
|
||||||
focus.followMouse = false;
|
|
||||||
modifier = "Mod4";
|
|
||||||
window = {
|
|
||||||
border = 1;
|
|
||||||
titlebar = false;
|
|
||||||
hideEdgeBorders = "smart";
|
|
||||||
commands = [
|
|
||||||
{
|
|
||||||
command = "border pixel 2px";
|
|
||||||
criteria = { window_role = "popup"; };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "move to workspace ";
|
|
||||||
criteria = { class = "Spotify"; };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable";
|
|
||||||
criteria = { instance = "origin.exe"; };
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
startup = lib.mkIf (!config.deviceSpecific.isISO) (map (command: { inherit command; }) config.startupApplications);
|
|
||||||
keybindings = let
|
|
||||||
script = name: content: "exec ${pkgs.writeScript name content}";
|
|
||||||
workspaces = (builtins.genList (x: [ (toString x) (toString x) ]) 10)
|
|
||||||
++ [ [ "c" "" ] [ "t" "" ] ];
|
|
||||||
in ({
|
|
||||||
"${modifier}+q" = "kill";
|
|
||||||
"${modifier}+Shift+q" = "move container to workspace temp; [workspace=__focused__] kill; workspace temp; move container to workspace temp; workspace temp";
|
|
||||||
"${modifier}+w" = "exec ${apps.dmenu.cmd}";
|
|
||||||
"${modifier}+Return" = "exec ${apps.term.cmd}";
|
|
||||||
"${modifier}+e" = "exec ${apps.editor.cmd}";
|
|
||||||
"${modifier}+o" = "layout toggle all";
|
|
||||||
|
|
||||||
"${modifier}+Left" = "focus child; focus left";
|
|
||||||
"${modifier}+Right" = "focus child; focus right";
|
|
||||||
"${modifier}+Up" = "focus child; focus up";
|
|
||||||
"${modifier}+Down" = "focus child; focus down";
|
|
||||||
"${modifier}+Control+Left" = "focus parent; focus left";
|
|
||||||
"${modifier}+Control+Right" = "focus parent; focus right";
|
|
||||||
"${modifier}+Control+Up" = "focus parent; focus up";
|
|
||||||
"${modifier}+Control+Down" = "focus parent; focus down";
|
|
||||||
"${modifier}+Shift+Up" = "move up";
|
|
||||||
"${modifier}+Shift+Down" = "move down";
|
|
||||||
"${modifier}+Shift+Right" = "move right";
|
|
||||||
"${modifier}+Shift+Left" = "move left";
|
|
||||||
|
|
||||||
"${modifier}+bracketleft" = "workspace prev";
|
|
||||||
"${modifier}+bracketright" = "workspace next";
|
|
||||||
|
|
||||||
"${modifier}+f" = "fullscreen toggle";
|
|
||||||
"${modifier}+r" = "mode resize";
|
|
||||||
"${modifier}+Shift+f" = "floating toggle";
|
|
||||||
"${modifier}+Escape" = "exec ${apps.monitor.cmd}";
|
|
||||||
|
|
||||||
"${modifier}+j" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl prev";
|
|
||||||
"${modifier}+k" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl pp";
|
|
||||||
"${modifier}+l" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl next";
|
|
||||||
"${modifier}+m" = "exec ${pkgs.pamixer}/bin/pamixer -t";
|
|
||||||
"${modifier}+comma" = "exec ${pkgs.pamixer}/bin/pamixer -d 5";
|
|
||||||
"${modifier}+period" = "exec ${pkgs.pamixer}/bin/pamixer -i 5";
|
|
||||||
"${modifier}+Shift+comma" = "exec ${pkgs.pamixer}/bin/pamixer -d 2";
|
|
||||||
"${modifier}+Shift+period" = "exec ${pkgs.pamixer}/bin/pamixer -i 2";
|
|
||||||
"${modifier}+i" = "exec ${pkgs.pavucontrol}/bin/pavucontrol";
|
|
||||||
|
|
||||||
"${modifier}+d" = "exec ${apps.fm.cmd}";
|
|
||||||
"${modifier}+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv";
|
|
||||||
"${modifier}+Shift+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv --no-video";
|
|
||||||
|
|
||||||
"${modifier}+Shift+l" = "exec ${pkgs.i3lock-fancy-rapid}/bin/i3lock-fancy-rapid 8 3";
|
|
||||||
|
|
||||||
"${modifier}+Print" = script "screenshot"
|
|
||||||
"${pkgs.maim}/bin/maim ~/Pictures/$(date +%s).png";
|
|
||||||
"${modifier}+Control+Print" = script "screenshot-copy"
|
|
||||||
"${pkgs.maim}/bin/maim | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png";
|
|
||||||
"--release ${modifier}+Shift+Print" = script "screenshot-area"
|
|
||||||
"${pkgs.maim}/bin/maim -s ~/Pictures/$(date +%s).png";
|
|
||||||
"--release ${modifier}+Control+Shift+Print" = script "screenshot-area-copy"
|
|
||||||
"${pkgs.maim}/bin/maim -s | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png";
|
|
||||||
|
|
||||||
"${modifier}+x" = "move workspace to output right";
|
|
||||||
"${modifier}+F5" = "reload";
|
|
||||||
"${modifier}+Shift+F5" = "exit";
|
|
||||||
"${modifier}+Shift+h" = "layout splith";
|
|
||||||
"${modifier}+Shift+v" = "layout splitv";
|
|
||||||
"${modifier}+h" = "split h";
|
|
||||||
"${modifier}+v" = "split v";
|
|
||||||
"${modifier}+F1" = "move to scratchpad";
|
|
||||||
"${modifier}+F2" = "scratchpad show";
|
|
||||||
"${modifier}+F12" = "exec xset dpms force off";
|
|
||||||
|
|
||||||
"XF86AudioPlay" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl pp";
|
|
||||||
"XF86AudioNext" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl next";
|
|
||||||
"XF86AudioPrev" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl prev";
|
|
||||||
"XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -d 5";
|
|
||||||
"XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 5";
|
|
||||||
"XF86AudioMute" = "exec ${pkgs.pamixer}/bin/pamixer -t";
|
|
||||||
"Shift+XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -d 2";
|
|
||||||
"Shift+XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 2";
|
|
||||||
"--release button2" = "kill";
|
|
||||||
"--whole-window ${modifier}+button2" = "kill";
|
|
||||||
|
|
||||||
} // builtins.listToAttrs (builtins.map (x: {
|
|
||||||
name = "${modifier}+${builtins.elemAt x 0}";
|
|
||||||
value = "workspace ${builtins.elemAt x 1}";
|
|
||||||
}) workspaces) // builtins.listToAttrs (builtins.map (x: {
|
|
||||||
name = "${modifier}+Shift+${builtins.elemAt x 0}";
|
|
||||||
value = "move container to workspace ${builtins.elemAt x 1}";
|
|
||||||
}) workspaces)
|
|
||||||
);
|
|
||||||
workspaceLayout = "tabbed";
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
default_border pixel 1
|
|
||||||
hide_edge_borders smart
|
|
||||||
|
|
||||||
# Set colors
|
|
||||||
set $base00 #${thm.base00-hex}
|
|
||||||
set $base01 #${thm.base01-hex}
|
|
||||||
set $base02 #${thm.base02-hex}
|
|
||||||
set $base03 #${thm.base03-hex}
|
|
||||||
set $base04 #${thm.base04-hex}
|
|
||||||
set $base05 #${thm.base05-hex}
|
|
||||||
set $base06 #${thm.base06-hex}
|
|
||||||
set $base07 #${thm.base07-hex}
|
|
||||||
set $base08 #${thm.base08-hex}
|
|
||||||
set $base09 #${thm.base09-hex}
|
|
||||||
set $base0A #${thm.base0A-hex}
|
|
||||||
set $base0B #${thm.base0B-hex}
|
|
||||||
set $base0C #${thm.base0C-hex}
|
|
||||||
set $base0D #${thm.base0D-hex}
|
|
||||||
set $base0E #${thm.base0E-hex}
|
|
||||||
set $base0F #${thm.base0F-hex}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
@ -4,16 +4,17 @@ let
|
|||||||
thm = config.lib.base16.theme;
|
thm = config.lib.base16.theme;
|
||||||
in {
|
in {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.alukard = {
|
||||||
xsession.windowManager.i3.config.bars = [{
|
# xsession.windowManager.i3.config.bars = [{
|
||||||
|
wayland.windowManager.sway.config.bars = [{
|
||||||
id = "default";
|
id = "default";
|
||||||
|
position = "top";
|
||||||
|
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-top.toml";
|
||||||
|
workspaceNumbers = false;
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [ "${thm.fonts.powerline.family}" "${thm.fonts.icon.family}" "${thm.fonts.iconFallback.family}" ];
|
names = [ "${thm.fonts.powerline.family}" "${thm.fonts.icon.family}" "${thm.fonts.iconFallback.family}" ];
|
||||||
style = "Regular";
|
style = "Regular";
|
||||||
size = thm.fontSizes.micro.float;
|
size = thm.fontSizes.micro.float;
|
||||||
};
|
};
|
||||||
position = "top";
|
|
||||||
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs";
|
|
||||||
workspaceNumbers = false;
|
|
||||||
colors = let
|
colors = let
|
||||||
default = {
|
default = {
|
||||||
background = "#${thm.base00-hex}";
|
background = "#${thm.base00-hex}";
|
||||||
@ -29,143 +30,101 @@ in {
|
|||||||
urgentWorkspace = default // { text = "#${thm.base09-hex}"; };
|
urgentWorkspace = default // { text = "#${thm.base09-hex}"; };
|
||||||
bindingMode = default // { text = "#${thm.base0A-hex}"; };
|
bindingMode = default // { text = "#${thm.base0A-hex}"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
}];
|
}];
|
||||||
|
|
||||||
xdg.configFile."i3status-rust/config.toml".text = lib.concatStrings [''
|
programs.i3status-rust = {
|
||||||
|
enable = true;
|
||||||
[theme]
|
bars.top = {
|
||||||
name = "solarized-dark"
|
settings = {
|
||||||
[theme.overrides]
|
theme = {
|
||||||
idle_bg = "#${thm.base00-hex}"
|
name = "solarized-dark";
|
||||||
idle_fg = "#${thm.base05-hex}"
|
overrides = {
|
||||||
info_bg = "#${thm.base0C-hex}"
|
idle_bg = "#${thm.base00-hex}";
|
||||||
info_fg = "#${thm.base00-hex}"
|
idle_fg = "#${thm.base05-hex}";
|
||||||
good_bg = "#${thm.base0B-hex}"
|
info_bg = "#${thm.base0C-hex}";
|
||||||
good_fg = "#${thm.base00-hex}"
|
info_fg = "#${thm.base00-hex}";
|
||||||
warning_bg = "#${thm.base0A-hex}"
|
good_bg = "#${thm.base0B-hex}";
|
||||||
warning_fg = "#${thm.base00-hex}"
|
good_fg = "#${thm.base00-hex}";
|
||||||
critical_bg = "#${thm.base08-hex}"
|
warning_bg = "#${thm.base0A-hex}";
|
||||||
critical_fg = "#${thm.base00-hex}"
|
warning_fg = "#${thm.base00-hex}";
|
||||||
|
critical_bg = "#${thm.base08-hex}";
|
||||||
|
critical_fg = "#${thm.base00-hex}";
|
||||||
# Material Icons Cheatsheet [https://shanfan.github.io/material-icons-cheatsheet/]
|
};
|
||||||
# Font Awesome Cheatsheet [https://fontawesome.com/icons?d=gallery&m=free]
|
};
|
||||||
[icons]
|
icons = {
|
||||||
name = "awesome5"
|
name = "awesome5";
|
||||||
[icons.overrides]
|
overrides = {
|
||||||
backlight_empty = " 🌑 "
|
backlight_empty = " 🌑 ";
|
||||||
backlight_full = " 🌕 "
|
backlight_full = " 🌕 ";
|
||||||
backlight_partial1 = " 🌘 "
|
backlight_partial1 = " 🌘 ";
|
||||||
backlight_partial2 = " 🌗 "
|
backlight_partial2 = " 🌗 ";
|
||||||
backlight_partial3 = " 🌖 "
|
backlight_partial3 = " 🌖 ";
|
||||||
# bat_charging = ""
|
cpu = "";
|
||||||
# bat_discharging = ""
|
net_wired = "";
|
||||||
# bat_full = ""
|
net_wireless = "";
|
||||||
# bat = ""
|
};
|
||||||
# cogs = ""
|
};
|
||||||
cpu = ""
|
};
|
||||||
# gpu = ""
|
blocks = [
|
||||||
# mail = ""
|
{
|
||||||
memory_mem = ""
|
block = "net";
|
||||||
memory_swap = ""
|
device = if config.device == "Dell-Laptop" then
|
||||||
music_next = ""
|
"wlo1"
|
||||||
music_pause = ""
|
else if config.device == "AMD-Workstation" then
|
||||||
music_play = ""
|
"enp9s0"
|
||||||
music_prev = ""
|
else "";
|
||||||
music = ""
|
}
|
||||||
net_down = ""
|
] ++ lib.optionals config.deviceSpecific.isLaptop [
|
||||||
net_up = ""
|
{
|
||||||
### net_up = ""
|
block = "battery";
|
||||||
net_wired = ""
|
interval = 10;
|
||||||
net_wireless = ""
|
format = "{percentage} {time}";
|
||||||
### net_wired = ""
|
}
|
||||||
### net_wireless = ""
|
{
|
||||||
# ping = ""
|
block = "backlight";
|
||||||
# thermometer = ""
|
}
|
||||||
# time = ""
|
] ++ [
|
||||||
# toggle_off = ""
|
{
|
||||||
# toggle_on = ""
|
block = "custom";
|
||||||
# update = ""
|
command = "${scripts.weather}";
|
||||||
# uptime = ""
|
interval = 600;
|
||||||
volume_empty = ""
|
}
|
||||||
volume_full = ""
|
{
|
||||||
volume_half = ""
|
block = "sound";
|
||||||
volume_muted = ""
|
driver = "auto";
|
||||||
# weather_clouds = ""
|
}
|
||||||
# weather_default = ""
|
{
|
||||||
# weather_rain = ""
|
block = "temperature";
|
||||||
# weather_snow = ""
|
# collapsed = false;
|
||||||
# weather_sun = ""
|
chip = if config.device == "Dell-Laptop" then
|
||||||
# weather_thunder = ""
|
"*-isa-*"
|
||||||
# xrandr = ""
|
else if config.device == "AMD-Workstation" then
|
||||||
|
"*-pci-*"
|
||||||
# [[block]]
|
else "*-pci-*";
|
||||||
# block = "music"
|
}
|
||||||
# buttons = ["play", "next"]
|
{
|
||||||
|
block = "cpu";
|
||||||
[[block]]
|
interval = 1;
|
||||||
block = "net"
|
format = "{utilization} {frequency}";
|
||||||
''
|
}
|
||||||
(if config.device == "Dell-Laptop" then ''
|
{
|
||||||
device = "wlo1"
|
block = "custom";
|
||||||
'' else "")
|
command = "${scripts.df}";
|
||||||
(if config.device == "AMD-Workstation" then ''
|
interval = 60;
|
||||||
device = "enp9s0"
|
}
|
||||||
'' else "")
|
{
|
||||||
(if config.deviceSpecific.isLaptop then ''
|
block = "memory";
|
||||||
[[block]]
|
display_type = "memory";
|
||||||
block = "battery"
|
format_mem = "{mem_avail;G}";
|
||||||
interval = 10
|
format_swap = "{swap_free;G}";
|
||||||
format = "{percentage} {time}"
|
}
|
||||||
|
{
|
||||||
[[block]]
|
block = "time";
|
||||||
block = "backlight"
|
interval = 1;
|
||||||
'' else "")
|
format = "%a %Y/%m/%d %T";
|
||||||
''
|
}
|
||||||
[[block]]
|
];
|
||||||
block = "custom"
|
};
|
||||||
command = "${scripts.weather}"
|
};
|
||||||
interval = 600
|
|
||||||
|
|
||||||
[[block]]
|
|
||||||
block = "sound"
|
|
||||||
driver = "auto"
|
|
||||||
''
|
|
||||||
(if config.device == "Dell-Laptop" then ''
|
|
||||||
|
|
||||||
[[block]]
|
|
||||||
block = "custom"
|
|
||||||
command = "${scripts.cputemp}"
|
|
||||||
interval = 5
|
|
||||||
|
|
||||||
'' else "")
|
|
||||||
''
|
|
||||||
[[block]]
|
|
||||||
block = "cpu"
|
|
||||||
interval = 1
|
|
||||||
format = "{utilization} {frequency}"
|
|
||||||
|
|
||||||
[[block]]
|
|
||||||
block = "memory"
|
|
||||||
display_type = "memory"
|
|
||||||
format_mem = "{mem_avail;G}"
|
|
||||||
format_swap = "{swap_free;G}"
|
|
||||||
|
|
||||||
[[block]]
|
|
||||||
block = "custom"
|
|
||||||
command = "${scripts.df}"
|
|
||||||
interval = 60
|
|
||||||
|
|
||||||
[[block]]
|
|
||||||
block = "custom"
|
|
||||||
command = "${scripts.vpn-status}"
|
|
||||||
interval = 60
|
|
||||||
|
|
||||||
[[block]]
|
|
||||||
block = "time"
|
|
||||||
interval = 1
|
|
||||||
format = "%a %Y/%m/%d %T"
|
|
||||||
''];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
{ pkgs, lib, config, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
with config.lib.base16.theme; {
|
with config.lib.base16.theme; {
|
||||||
xdg.portal.enable = true;
|
|
||||||
services.dbus.packages =
|
services.dbus.packages =
|
||||||
[ pkgs.systemd iconPackage ];
|
[ pkgs.systemd iconPackage ];
|
||||||
services.udev.packages = [ pkgs.libmtp pkgs.media-player-info ];
|
services.udev.packages = [ pkgs.libmtp pkgs.media-player-info ];
|
||||||
|
@ -15,8 +15,8 @@ with config.deviceSpecific; {
|
|||||||
|
|
||||||
location = lib.mkIf (!isServer) {
|
location = lib.mkIf (!isServer) {
|
||||||
provider = "manual";
|
provider = "manual";
|
||||||
latitude = 48.78583;
|
latitude = 48.79;
|
||||||
longitude = 44.77973;
|
longitude = 44.78;
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.alukard = {
|
||||||
|
30
profiles/workspace/mako.nix
Normal file
30
profiles/workspace/mako.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ pkgs, config, ... }: {
|
||||||
|
home-manager.users.alukard = {
|
||||||
|
systemd.user.services.mako = {
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.mako}/bin/mako";
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "sway-session.target" ];
|
||||||
|
};
|
||||||
|
Unit = {
|
||||||
|
After = [ "sway-session.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.mako = with config.lib.base16; {
|
||||||
|
enable = true;
|
||||||
|
layer = "overlay";
|
||||||
|
font = "${theme.fonts.mono.family} ${theme.fontSizes.normal.str}";
|
||||||
|
width = 500;
|
||||||
|
height = 80;
|
||||||
|
defaultTimeout = 10000;
|
||||||
|
maxVisible = 10;
|
||||||
|
backgroundColor = "#${theme.base00-hex}AA";
|
||||||
|
textColor = "#${theme.base05-hex}";
|
||||||
|
borderColor = "#${theme.base0D-hex}AA";
|
||||||
|
progressColor = "over #${theme.base0B-hex}";
|
||||||
|
iconPath = "${theme.iconPackage}/share/icons/${theme.iconTheme}";
|
||||||
|
maxIconSize = 24;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -11,6 +11,22 @@
|
|||||||
news.display = "silent";
|
news.display = "silent";
|
||||||
systemd.user.startServices = true;
|
systemd.user.startServices = true;
|
||||||
home.stateVersion = "21.11";
|
home.stateVersion = "21.11";
|
||||||
|
|
||||||
|
#TODO: Move to another file
|
||||||
|
services.pass-secret-service.enable = true;
|
||||||
|
systemd.user.services.pass-secret-service = {
|
||||||
|
Service = {
|
||||||
|
ExecStart = lib.mkForce
|
||||||
|
"${pkgs.pass-secret-service}/bin/pass_secret_service --path ${config.environment.variables.PASSWORD_STORE_DIR}";
|
||||||
|
Type = "dbus";
|
||||||
|
BusName = "org.freedesktop.secrets";
|
||||||
|
};
|
||||||
|
Unit = rec {
|
||||||
|
Wants = [ "gpg-agent.service" "activate-secrets.service" ];
|
||||||
|
After = Wants;
|
||||||
|
PartOf = [ "graphical-session-pre.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "21.11";
|
system.stateVersion = "21.11";
|
||||||
|
304
profiles/workspace/sway/default.nix
Executable file
304
profiles/workspace/sway/default.nix
Executable file
@ -0,0 +1,304 @@
|
|||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
let
|
||||||
|
thm = config.lib.base16.theme;
|
||||||
|
apps = config.defaultApplications;
|
||||||
|
# lock_fork =
|
||||||
|
# pkgs.writeShellScript "lock_fork" "sudo /run/current-system/sw/bin/lock &";
|
||||||
|
# lock = pkgs.writeShellScript "lock"
|
||||||
|
# "swaymsg 'output * dpms off'; sudo /run/current-system/sw/bin/lock; swaymsg 'output * dpms on'";
|
||||||
|
in {
|
||||||
|
programs.sway.enable = true;
|
||||||
|
programs.sway.wrapperFeatures.gtk = true;
|
||||||
|
programs.sway.extraPackages = lib.mkForce (with pkgs; [
|
||||||
|
swayidle
|
||||||
|
swaylock-effects
|
||||||
|
xwayland
|
||||||
|
wl-clipboard
|
||||||
|
libsForQt5.qt5.qtwayland
|
||||||
|
gsettings_desktop_schemas
|
||||||
|
]);
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = with pkgs; [ xdg-desktop-portal-wlr xdg-desktop-portal-gtk ];
|
||||||
|
gtkUsePortal = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.alukard.extraGroups = [ "sway" ];
|
||||||
|
|
||||||
|
environment.loginShellInit = lib.mkAfter ''
|
||||||
|
[[ "$(tty)" == /dev/tty1 ]] && {
|
||||||
|
pass unlock
|
||||||
|
exec sway 2> /tmp/sway.debug.log
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
home-manager.users.alukard.wayland.windowManager.sway = let
|
||||||
|
gsettings = "${pkgs.glib}/bin/gsettings";
|
||||||
|
gnomeSchema = "org.gnome.desktop.interface";
|
||||||
|
importGsettings = pkgs.writeShellScript "import_gsettings.sh" ''
|
||||||
|
config="/home/alukard/.config/gtk-3.0/settings.ini"
|
||||||
|
if [ ! -f "$config" ]; then exit 1; fi
|
||||||
|
gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||||
|
icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||||
|
cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||||
|
font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||||
|
${gsettings} set ${gnomeSchema} gtk-theme "$gtk_theme"
|
||||||
|
${gsettings} set ${gnomeSchema} icon-theme "$icon_theme"
|
||||||
|
${gsettings} set ${gnomeSchema} cursor-theme "$cursor_theme"
|
||||||
|
${gsettings} set ${gnomeSchema} font-name "$font_name"
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
config = rec {
|
||||||
|
assigns = {
|
||||||
|
# "" = [
|
||||||
|
# { class = "Chromium"; }
|
||||||
|
# { app_id = "firefox"; }
|
||||||
|
# { class = "Firefox"; }
|
||||||
|
# ];
|
||||||
|
"" = [
|
||||||
|
{ class = "spotify"; }
|
||||||
|
{ title = "spt"; }
|
||||||
|
];
|
||||||
|
"" = [
|
||||||
|
{ class = "^Telegram"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
fonts = {
|
||||||
|
names = [ "${thm.fonts.main.family}" ];
|
||||||
|
style = "Regular";
|
||||||
|
size = thm.fontSizes.micro.float;
|
||||||
|
};
|
||||||
|
|
||||||
|
bars = [ ];
|
||||||
|
|
||||||
|
colors = rec {
|
||||||
|
background = "#${thm.base00-hex}";
|
||||||
|
unfocused = {
|
||||||
|
text = "#${thm.base02-hex}";
|
||||||
|
border = "#${thm.base01-hex}";
|
||||||
|
background = "#${thm.base00-hex}";
|
||||||
|
childBorder = "#${thm.base01-hex}";
|
||||||
|
indicator = "#${thm.base07-hex}";
|
||||||
|
};
|
||||||
|
focusedInactive = unfocused;
|
||||||
|
urgent = unfocused // {
|
||||||
|
text = "#${thm.base05-hex}";
|
||||||
|
border = "#${thm.base09-hex}";
|
||||||
|
childBorder = "#${thm.base09-hex}";
|
||||||
|
};
|
||||||
|
focused = unfocused // {
|
||||||
|
childBorder = "#${thm.base03-hex}";
|
||||||
|
border = "#${thm.base03-hex}";
|
||||||
|
background = "#${thm.base01-hex}";
|
||||||
|
text = "#${thm.base05-hex}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gaps = {
|
||||||
|
inner = 15;
|
||||||
|
smartGaps = true;
|
||||||
|
smartBorders = "on";
|
||||||
|
};
|
||||||
|
focus.followMouse = false;
|
||||||
|
focus.forceWrapping = false;
|
||||||
|
modifier = "Mod4";
|
||||||
|
window = {
|
||||||
|
border = 0;
|
||||||
|
titlebar = false;
|
||||||
|
commands = [
|
||||||
|
{
|
||||||
|
command = "border pixel 2px";
|
||||||
|
criteria = { window_role = "popup"; };
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "sticky enable";
|
||||||
|
criteria = { floating = ""; };
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "move to workspace ";
|
||||||
|
criteria = { class = "Spotify"; };
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable";
|
||||||
|
criteria = { instance = "origin.exe"; };
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
startup = (map (command: { inherit command; }) config.startupApplications)
|
||||||
|
++ [
|
||||||
|
{ command = "${importGsettings}"; always = true; }
|
||||||
|
{
|
||||||
|
always = true;
|
||||||
|
command = ''
|
||||||
|
swayidle -w timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' '';
|
||||||
|
}
|
||||||
|
# {
|
||||||
|
# command =
|
||||||
|
# "swayidle -w before-sleep '${lock_fork}' lock '${lock_fork}' unlock 'pkill -9 swaylock'";
|
||||||
|
# }
|
||||||
|
];
|
||||||
|
|
||||||
|
keybindings = let
|
||||||
|
script = name: content: "exec ${pkgs.writeScript name content}";
|
||||||
|
workspaces = (builtins.genList (x: [ (toString x) (toString x) ]) 10)
|
||||||
|
++ [ [ "c" "" ] [ "t" "" ] ];
|
||||||
|
in ({
|
||||||
|
"${modifier}+q" = "kill";
|
||||||
|
"${modifier}+Shift+q" =
|
||||||
|
"move container to workspace temp; [workspace=__focused__] kill; workspace temp; move container to workspace temp; workspace temp";
|
||||||
|
"${modifier}+w" = "exec ${apps.dmenu.cmd}";
|
||||||
|
"${modifier}+Return" = "exec ${apps.term.cmd}";
|
||||||
|
"${modifier}+e" = "exec ${apps.editor.cmd}";
|
||||||
|
"${modifier}+o" = "layout toggle all";
|
||||||
|
|
||||||
|
"${modifier}+Left" = "focus child; focus left";
|
||||||
|
"${modifier}+Right" = "focus child; focus right";
|
||||||
|
"${modifier}+Up" = "focus child; focus up";
|
||||||
|
"${modifier}+Down" = "focus child; focus down";
|
||||||
|
"${modifier}+Control+Left" = "focus parent; focus left";
|
||||||
|
"${modifier}+Control+Right" = "focus parent; focus right";
|
||||||
|
"${modifier}+Control+Up" = "focus parent; focus up";
|
||||||
|
"${modifier}+Control+Down" = "focus parent; focus down";
|
||||||
|
"${modifier}+Shift+Up" = "move up";
|
||||||
|
"${modifier}+Shift+Down" = "move down";
|
||||||
|
"${modifier}+Shift+Right" = "move right";
|
||||||
|
"${modifier}+Shift+Left" = "move left";
|
||||||
|
|
||||||
|
"${modifier}+bracketleft" = "workspace prev";
|
||||||
|
"${modifier}+bracketright" = "workspace next";
|
||||||
|
|
||||||
|
# "${modifier}+a" = "focus child; focus left";
|
||||||
|
# "${modifier}+d" = "focus child; focus right";
|
||||||
|
# "${modifier}+w" = "focus child; focus up";
|
||||||
|
# "${modifier}+s" = "focus child; focus down";
|
||||||
|
# "${modifier}+Control+a" = "focus parent; focus left";
|
||||||
|
# "${modifier}+Control+d" = "focus parent; focus right";
|
||||||
|
# "${modifier}+Control+w" = "focus parent; focus up";
|
||||||
|
# "${modifier}+Control+s" = "focus parent; focus down";
|
||||||
|
# "${modifier}+Shift+w" = "move up";
|
||||||
|
# "${modifier}+Shift+s" = "move down";
|
||||||
|
# "${modifier}+Shift+d" = "move right";
|
||||||
|
# "${modifier}+Shift+a" = "move left";
|
||||||
|
|
||||||
|
"${modifier}+f" = "fullscreen toggle; floating toggle";
|
||||||
|
"${modifier}+r" = "mode resize";
|
||||||
|
"${modifier}+Shift+f" = "floating toggle";
|
||||||
|
|
||||||
|
"${modifier}+Escape" = "exec ${apps.monitor.cmd}";
|
||||||
|
|
||||||
|
"${modifier}+j" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl prev";
|
||||||
|
"${modifier}+k" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl pp";
|
||||||
|
"${modifier}+l" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl next";
|
||||||
|
"${modifier}+Shift+j" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl --player Spotify prev";
|
||||||
|
"${modifier}+Shift+k" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl --player Spotify pp";
|
||||||
|
"${modifier}+Shift+l" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl --player Spotify next";
|
||||||
|
"${modifier}+m" = "exec ${pkgs.pamixer}/bin/pamixer -t";
|
||||||
|
"${modifier}+comma" = "exec ${pkgs.pamixer}/bin/pamixer -d 5";
|
||||||
|
"${modifier}+period" = "exec ${pkgs.pamixer}/bin/pamixer -i 5";
|
||||||
|
"${modifier}+Shift+comma" = "exec ${pkgs.pamixer}/bin/pamixer -d 2";
|
||||||
|
"${modifier}+Shift+period" = "exec ${pkgs.pamixer}/bin/pamixer -i 2";
|
||||||
|
"${modifier}+i" = "exec ${pkgs.pavucontrol}/bin/pavucontrol";
|
||||||
|
|
||||||
|
"${modifier}+d" = "exec ${apps.fm.cmd}";
|
||||||
|
"${modifier}+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv";
|
||||||
|
"${modifier}+Shift+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv --no-video";
|
||||||
|
|
||||||
|
"${modifier}+Print" = script "screenshot"
|
||||||
|
"${pkgs.grim}/bin/grim Pictures/$(date +'%Y-%m-%d+%H:%M:%S').png";
|
||||||
|
|
||||||
|
"${modifier}+Control+Print" = script "screenshot-copy"
|
||||||
|
"${pkgs.grim}/bin/grim - | ${pkgs.wl-clipboard}/bin/wl-copy";
|
||||||
|
|
||||||
|
"--release ${modifier}+Shift+Print" = script "screenshot-area" ''
|
||||||
|
${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" Pictures/$(date +'%Y-%m-%d+%H:%M:%S').png'';
|
||||||
|
|
||||||
|
"--release ${modifier}+Control+Shift+Print" =
|
||||||
|
script "screenshot-area-copy" ''
|
||||||
|
${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.wl-clipboard}/bin/wl-copy'';
|
||||||
|
|
||||||
|
"${modifier}+x" = "focus output right";
|
||||||
|
"${modifier}+Shift+x" = "move workspace to output right";
|
||||||
|
"${modifier}+F5" = "reload";
|
||||||
|
"${modifier}+Shift+F5" = "exit";
|
||||||
|
"${modifier}+Shift+h" = "layout splith";
|
||||||
|
"${modifier}+Shift+v" = "layout splitv";
|
||||||
|
"${modifier}+h" = "split h";
|
||||||
|
"${modifier}+v" = "split v";
|
||||||
|
"${modifier}+F1" = "move to scratchpad";
|
||||||
|
"${modifier}+F2" = "scratchpad show";
|
||||||
|
"${modifier}+F11" = "output * dpms off";
|
||||||
|
"${modifier}+F12" = "output * dpms on";
|
||||||
|
# "${modifier}+End" = "exec ${lock}";
|
||||||
|
"${modifier}+p" = "sticky toggle";
|
||||||
|
"${modifier}+backslash" =
|
||||||
|
script "0x0" ''wl-paste | curl -F"file=@-" https://0x0.st | wl-copy'';
|
||||||
|
"${modifier}+b" = "focus mode_toggle";
|
||||||
|
|
||||||
|
"XF86AudioPlay" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl pp";
|
||||||
|
"XF86AudioNext" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl next";
|
||||||
|
"XF86AudioPrev" = "exec ${pkgs.mpris-ctl}/bin/mpris-ctl prev";
|
||||||
|
"XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -d 5";
|
||||||
|
"XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 5";
|
||||||
|
"XF86AudioMute" = "exec ${pkgs.pamixer}/bin/pamixer -t";
|
||||||
|
"Shift+XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -d 2";
|
||||||
|
"Shift+XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 2";
|
||||||
|
"button2" = "kill";
|
||||||
|
"--whole-window ${modifier}+button2" = "kill";
|
||||||
|
} // builtins.listToAttrs (builtins.map (x: {
|
||||||
|
name = "${modifier}+${builtins.elemAt x 0}";
|
||||||
|
value = "workspace ${builtins.elemAt x 1}";
|
||||||
|
}) workspaces) // builtins.listToAttrs (builtins.map (x: {
|
||||||
|
name = "${modifier}+Shift+${builtins.elemAt x 0}";
|
||||||
|
value = "move container to workspace ${builtins.elemAt x 1}";
|
||||||
|
}) workspaces));
|
||||||
|
keycodebindings = { };
|
||||||
|
workspaceLayout = "tabbed";
|
||||||
|
workspaceAutoBackAndForth = true;
|
||||||
|
input = {
|
||||||
|
"type:touchpad" = {
|
||||||
|
accel_profile = "adaptive";
|
||||||
|
dwt = "enabled";
|
||||||
|
middle_emulation = "enabled";
|
||||||
|
natural_scroll = "enabled";
|
||||||
|
tap = "enabled";
|
||||||
|
};
|
||||||
|
"type:mouse" = {
|
||||||
|
accel_profile = "flat";
|
||||||
|
natural_scroll = "disabled";
|
||||||
|
};
|
||||||
|
"type:keyboard" = {
|
||||||
|
xkb_layout = "us,ru";
|
||||||
|
xkb_options = "grp:win_space_toggle";
|
||||||
|
};
|
||||||
|
"3468:12:C-Media_USB_Headphone_Set" = {
|
||||||
|
events = "disabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
output = {
|
||||||
|
"*".bg = "${/. + ../../../misc/wallpaper} fill";
|
||||||
|
"*".scale = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
wrapperFeatures = { gtk = true; };
|
||||||
|
xwayland = true;
|
||||||
|
extraConfig = ''
|
||||||
|
default_border pixel 1
|
||||||
|
hide_edge_borders --i3 smart
|
||||||
|
exec pkill swaynag
|
||||||
|
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||||||
|
'';
|
||||||
|
extraSessionCommands = ''
|
||||||
|
# export SDL_VIDEODRIVER=wayland
|
||||||
|
export GDK_BACKEND=wayland
|
||||||
|
export QT_QPA_PLATFORM=wayland-egl
|
||||||
|
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||||
|
export XDG_CURRENT_DESKTOP=sway
|
||||||
|
export XDG_SESSION_DESKTOP=sway
|
||||||
|
export XDG_SESSION_TYPE=wayland
|
||||||
|
export _JAVA_AWT_WM_NONPARENTING=1
|
||||||
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
10
profiles/workspace/tor.nix
Normal file
10
profiles/workspace/tor.nix
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{ config, pkgs, lib, ... }: {
|
||||||
|
services.tor = {
|
||||||
|
enable = true;
|
||||||
|
client.enable = true;
|
||||||
|
};
|
||||||
|
services.privoxy = {
|
||||||
|
enable = true;
|
||||||
|
enableTor = true;
|
||||||
|
};
|
||||||
|
}
|
@ -10,7 +10,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
XDG_CURRENT_DESKTOP = "X-Generic";
|
# XDG_CURRENT_DESKTOP = "X-Generic";
|
||||||
DE = "generic";
|
DE = "generic";
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -43,8 +43,8 @@
|
|||||||
shellAliases = {
|
shellAliases = {
|
||||||
"clr" = "clear";
|
"clr" = "clear";
|
||||||
"weather" = "curl wttr.in/Volzhskiy";
|
"weather" = "curl wttr.in/Volzhskiy";
|
||||||
"rede" = "systemctl --user start redshift.service &";
|
"rede" = "systemctl --user start gammastep.service &";
|
||||||
"redd" = "systemctl --user stop redshift.service &";
|
"redd" = "systemctl --user stop gammastep.service &";
|
||||||
"show-packages" = "_ nix-store -q --references /run/current-system/sw";
|
"show-packages" = "_ nix-store -q --references /run/current-system/sw";
|
||||||
"nsp" = "nix-shell --run zsh -p";
|
"nsp" = "nix-shell --run zsh -p";
|
||||||
"grep" = "${pkgs.ripgrep}/bin/rg";
|
"grep" = "${pkgs.ripgrep}/bin/rg";
|
||||||
|
@ -4,7 +4,8 @@ let
|
|||||||
in
|
in
|
||||||
with config.deviceSpecific; {
|
with config.deviceSpecific; {
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = false;
|
||||||
|
# enable = true;
|
||||||
|
|
||||||
# TODO: Disable natural scrolling for external mouse
|
# TODO: Disable natural scrolling for external mouse
|
||||||
libinput = {
|
libinput = {
|
||||||
|
@ -21,27 +21,28 @@
|
|||||||
kitty
|
kitty
|
||||||
mangohud
|
mangohud
|
||||||
mpv
|
mpv
|
||||||
ncmpcpp
|
# ncmpcpp
|
||||||
packages
|
packages
|
||||||
|
piper
|
||||||
rofi
|
rofi
|
||||||
spotify
|
spotify
|
||||||
steam
|
steam
|
||||||
syncthing
|
syncthing
|
||||||
# urxvt
|
|
||||||
vivaldi
|
vivaldi
|
||||||
vscode
|
vscode
|
||||||
|
|
||||||
cursor
|
cursor
|
||||||
direnv
|
direnv
|
||||||
dunst
|
|
||||||
fonts
|
fonts
|
||||||
gtk
|
gtk
|
||||||
i3
|
|
||||||
i3status-rust
|
i3status-rust
|
||||||
kde
|
kde
|
||||||
light
|
light
|
||||||
|
mako
|
||||||
nix-index
|
nix-index
|
||||||
picom
|
picom
|
||||||
print-scan
|
print-scan
|
||||||
|
tor
|
||||||
|
sway
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
kitty
|
kitty
|
||||||
|
|
||||||
coturn
|
coturn
|
||||||
|
gitea
|
||||||
mailserver
|
mailserver
|
||||||
matrix-synapse
|
matrix-synapse
|
||||||
nginx
|
nginx
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
imports = with inputs.self.nixosModules; with inputs.self.nixosProfiles; [
|
imports = with inputs.self.nixosModules; with inputs.self.nixosProfiles; [
|
||||||
./desktop.nix
|
./desktop.nix
|
||||||
|
|
||||||
flutter
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
90
scripts/vscode_update_extensions.sh
Executable file
90
scripts/vscode_update_extensions.sh
Executable file
@ -0,0 +1,90 @@
|
|||||||
|
#! /usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i bash -p curl jq unzip
|
||||||
|
# shellcheck shell=bash
|
||||||
|
set -eu -o pipefail
|
||||||
|
|
||||||
|
# can be added to your configuration with the following command and snippet:
|
||||||
|
# $ ./pkgs/misc/vscode-extensions/update_installed_exts.sh > extensions.nix
|
||||||
|
#
|
||||||
|
# packages = with pkgs;
|
||||||
|
# (vscode-with-extensions.override {
|
||||||
|
# vscodeExtensions = map
|
||||||
|
# (extension: vscode-utils.buildVscodeMarketplaceExtension {
|
||||||
|
# mktplcRef = {
|
||||||
|
# inherit (extension) name publisher version sha256;
|
||||||
|
# };
|
||||||
|
# })
|
||||||
|
# (import ./extensions.nix).extensions;
|
||||||
|
# })
|
||||||
|
# ]
|
||||||
|
|
||||||
|
# Helper to just fail with a message and non-zero exit code.
|
||||||
|
function fail() {
|
||||||
|
echo "$1" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Helper to clean up after ourselves if we're killed by SIGINT.
|
||||||
|
function clean_up() {
|
||||||
|
TDIR="${TMPDIR:-/tmp}"
|
||||||
|
echo "Script killed, cleaning up tmpdirs: $TDIR/vscode_exts_*" >&2
|
||||||
|
rm -Rf "$TDIR/vscode_exts_*"
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_vsixpkg() {
|
||||||
|
N="$1.$2"
|
||||||
|
|
||||||
|
# Create a tempdir for the extension download.
|
||||||
|
EXTTMP=$(mktemp -d -t vscode_exts_XXXXXXXX)
|
||||||
|
|
||||||
|
URL="https://$1.gallery.vsassets.io/_apis/public/gallery/publisher/$1/extension/$2/latest/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage"
|
||||||
|
|
||||||
|
# Quietly but delicately curl down the file, blowing up at the first sign of trouble.
|
||||||
|
curl --silent --show-error --fail -X GET -o "$EXTTMP/$N.zip" "$URL"
|
||||||
|
# Unpack the file we need to stdout then pull out the version
|
||||||
|
VER=$(jq -r '.version' <(unzip -qc "$EXTTMP/$N.zip" "extension/package.json"))
|
||||||
|
# Calculate the SHA
|
||||||
|
SHA=$(nix-hash --flat --base32 --type sha256 "$EXTTMP/$N.zip")
|
||||||
|
|
||||||
|
# Clean up.
|
||||||
|
rm -Rf "$EXTTMP"
|
||||||
|
# I don't like 'rm -Rf' lurking in my scripts but this seems appropriate.
|
||||||
|
|
||||||
|
cat <<-EOF
|
||||||
|
{
|
||||||
|
name = "$2";
|
||||||
|
publisher = "$1";
|
||||||
|
version = "$VER";
|
||||||
|
sha256 = "$SHA";
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
# See if we can find our `code` binary somewhere.
|
||||||
|
if [ $# -ne 0 ]; then
|
||||||
|
CODE=$1
|
||||||
|
else
|
||||||
|
CODE=$(command -v code || command -v codium)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$CODE" ]; then
|
||||||
|
# Not much point continuing.
|
||||||
|
fail "VSCode executable not found"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Try to be a good citizen and clean up after ourselves if we're killed.
|
||||||
|
trap clean_up SIGINT
|
||||||
|
|
||||||
|
# Begin the printing of the nix expression that will house the list of extensions.
|
||||||
|
printf '{ extensions = [\n'
|
||||||
|
|
||||||
|
# Note that we are only looking to update extensions that are already installed.
|
||||||
|
for i in $($CODE --list-extensions)
|
||||||
|
do
|
||||||
|
OWNER=$(echo "$i" | cut -d. -f1)
|
||||||
|
EXT=$(echo "$i" | cut -d. -f2)
|
||||||
|
|
||||||
|
get_vsixpkg "$OWNER" "$EXT"
|
||||||
|
done
|
||||||
|
# Close off the nix expression.
|
||||||
|
printf '];\n}'
|
Loading…
x
Reference in New Issue
Block a user