qtile
This commit is contained in:
parent
7a1488860b
commit
b07d950147
27 changed files with 3330 additions and 169 deletions
287
flake.lock
generated
287
flake.lock
generated
|
@ -41,27 +41,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"anyrun": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1692476235,
|
||||
"narHash": "sha256-NGUDp/24HCIVWE0xZNHIdzz3q2WDk7MQz1wC7ub/e2U=",
|
||||
"owner": "Kirottu",
|
||||
"repo": "anyrun",
|
||||
"rev": "76af3eb198f376303194c31a83f2399a043acf1b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Kirottu",
|
||||
"repo": "anyrun",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
|
@ -103,11 +82,11 @@
|
|||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688772518,
|
||||
"narHash": "sha256-ol7gZxwvgLnxNSZwFTDJJ49xVY5teaSvF7lzlo3YQfM=",
|
||||
"lastModified": 1693439040,
|
||||
"narHash": "sha256-t2nOxBcP0Q/XJt6Ild4v0hJ49OSl9F3nE1cdIT4xsDg=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "8b08e96c9af8c6e3a2b69af5a7fa168750fcf88e",
|
||||
"rev": "174604795d316b75777e28185c3a4918bc69b399",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -176,7 +155,7 @@
|
|||
"all-cabal-json": "all-cabal-json",
|
||||
"crane": "crane_3",
|
||||
"devshell": "devshell_2",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-utils-pre-commit": "flake-utils-pre-commit",
|
||||
"ghc-utils": "ghc-utils",
|
||||
"gomod2nix": "gomod2nix",
|
||||
|
@ -315,27 +294,6 @@
|
|||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"anyrun",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685662779,
|
||||
"narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"persway",
|
||||
|
@ -357,16 +315,52 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1693611461,
|
||||
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1693611461,
|
||||
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1692799911,
|
||||
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=",
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44",
|
||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -413,11 +407,11 @@
|
|||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687709756,
|
||||
"narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=",
|
||||
"lastModified": 1689068808,
|
||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7",
|
||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -539,11 +533,11 @@
|
|||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1692817399,
|
||||
"narHash": "sha256-gbLru0aup6iI0JnDGMQd1jsb8H6IJUNr/Xln3/ouAZc=",
|
||||
"lastModified": 1695693919,
|
||||
"narHash": "sha256-ik3qDGRspMyx1LP/m/Bc2O9LTpDIeg3x4Y2EJBin1tQ=",
|
||||
"owner": "helix-editor",
|
||||
"repo": "helix",
|
||||
"rev": "c9694f680f97823ac9b893239a78bf45bfee0403",
|
||||
"rev": "01e281ce107e57cc1865a0e09e89a8e8c79f2a4e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -559,11 +553,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1692763155,
|
||||
"narHash": "sha256-qMrGKZ8c/q/mHO3ZdrcBPwiVVXPLLgXjY98Ejqb5kAA=",
|
||||
"lastModified": 1695708052,
|
||||
"narHash": "sha256-QiWOrZcCmY+zH2NVM6/opZaMRMgam9u+qVYycKLqL10=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "6a20e40acaebf067da682661aa67da8b36812606",
|
||||
"rev": "dd88dbc69438384bd94f8282584a86798750028c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -584,11 +578,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1693000981,
|
||||
"narHash": "sha256-1FnbFJ6vWfCmucD74o+KjnASEySeyhCKlE54ldp5PwU=",
|
||||
"lastModified": 1695668783,
|
||||
"narHash": "sha256-pXVei5KZMxALQ8ibx0oqbfh5N/FI3VzJHodDNAh41xE=",
|
||||
"owner": "JakeStanger",
|
||||
"repo": "ironbar",
|
||||
"rev": "6c38ff29c4b4c74d8200ad41d8b0d4075952aade",
|
||||
"rev": "0c0163cfa1a8c0286edf231507026dd6f5798644",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -633,11 +627,11 @@
|
|||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1690373729,
|
||||
"narHash": "sha256-e136hTT7LqQ2QjOTZQMW+jnsevWwBpMj78u6FRUsH9I=",
|
||||
"lastModified": 1692351612,
|
||||
"narHash": "sha256-KTGonidcdaLadRnv9KFgwSMh1ZbXoR/OBmPjeNMhFwU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "d9a33d69a9c421d64c8d925428864e93be895dcc",
|
||||
"rev": "78789c30d64dea2396c9da516bbcc8db3a475207",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -653,11 +647,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1692503351,
|
||||
"narHash": "sha256-FdG0wnizM9mAUgi58KP1tXaX4ogVooPDS6VwsGEqZ9s=",
|
||||
"lastModified": 1695526222,
|
||||
"narHash": "sha256-/NwZz3QcVplrfiDKk1thYg1EIHLSNucVHNUi2uwO3RI=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "4becac130db930e9de8c3fe58bfa245c119b9eeb",
|
||||
"rev": "25d6369c232bbea1ec1f90226fd17982e7a0a647",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -721,11 +715,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1690833316,
|
||||
"narHash": "sha256-+YU+/pTJmVKNW12R07/SJiTn7PQk90xwCI4D2PfLRPs=",
|
||||
"lastModified": 1693355128,
|
||||
"narHash": "sha256-+ZoAny3ZxLcfMaUoLVgL9Ywb/57wP+EtsdNGuXUJrwg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9418167277f665de6f4a29f414d438cf39c55b9e",
|
||||
"rev": "a63a64b593dcf2fe05f7c5d666eb395950f36bc9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -748,6 +742,42 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"dir": "lib",
|
||||
"lastModified": 1693471703,
|
||||
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"dir": "lib",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_3": {
|
||||
"locked": {
|
||||
"dir": "lib",
|
||||
"lastModified": 1693471703,
|
||||
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"dir": "lib",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1678872516,
|
||||
|
@ -766,11 +796,11 @@
|
|||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1692986144,
|
||||
"narHash": "sha256-M4VFpy7Av9j+33HF5nIGm0k2+DXXW4qSSKdidIKg5jY=",
|
||||
"lastModified": 1695559356,
|
||||
"narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "74e5bdc5478ebbe7ba5849f0d765f92757bb9dbf",
|
||||
"rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -798,11 +828,27 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1693003285,
|
||||
"narHash": "sha256-5nm4yrEHKupjn62MibENtfqlP6pWcRTuSKrMiH9bLkc=",
|
||||
"lastModified": 1695360818,
|
||||
"narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5690c4271f2998c304a45c91a0aeb8fb69feaea7",
|
||||
"rev": "e35dcc04a3853da485a396bdd332217d0ac9054f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1695644571,
|
||||
"narHash": "sha256-asS9dCCdlt1lPq0DLwkVBbVoEKuEuz+Zi3DG7pR/RxA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6500b4580c2a1f3d0f980d32d285739d8e156d92",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -814,11 +860,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1693057602,
|
||||
"narHash": "sha256-EGNBYNeEO9pcF8e8QSt+SyJf4goBpC1E7D69hFJ3r70=",
|
||||
"lastModified": 1695733013,
|
||||
"narHash": "sha256-dyQjcUNqZk7kR3exhwDvpZV4U/1gJNNtbypacMGMJyA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "4c58adf6f6d01ee9392343f578f8c701aa0373b5",
|
||||
"rev": "4af599c0027f63d4812df1a7835a3fe71e26ea12",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -939,9 +985,77 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pywlroots": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"pywlroots-src": "pywlroots-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-W8zExI9+M6/4XcyncAFpnLvr+lNgDXMTZ1Nfb6JtkIU=",
|
||||
"path": "pywlroots",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "pywlroots",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"pywlroots-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1694810594,
|
||||
"narHash": "sha256-TjOYziToYqXbhAK+h/h00/e7oPluDsGaBP3DJ68jPXM=",
|
||||
"owner": "flacjacket",
|
||||
"repo": "pywlroots",
|
||||
"rev": "fca5c8142930ed4a6c23a906e77813207d993480",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "flacjacket",
|
||||
"repo": "pywlroots",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"qtile": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pywlroots": "pywlroots",
|
||||
"qtile-src": "qtile-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-tldqXihJfgtVFVvUKNfa01TnMfN9+1/8RMoHfczYsKY=",
|
||||
"path": "flakes/qtile",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "flakes/qtile",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"qtile-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1695682843,
|
||||
"narHash": "sha256-8Dqe2OoFND6n9d++uxgEcUffVT8V5/g9fXqszJ/IpEU=",
|
||||
"owner": "qtile",
|
||||
"repo": "qtile",
|
||||
"rev": "ad5d0538c51c7ba57ef8520b45b2728fe6caa3a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "qtile",
|
||||
"repo": "qtile",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"anyrun": "anyrun",
|
||||
"flake-utils": "flake-utils",
|
||||
"helix": "helix",
|
||||
"home-manager": "home-manager",
|
||||
|
@ -953,6 +1067,7 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"nur": "nur",
|
||||
"persway": "persway",
|
||||
"qtile": "qtile",
|
||||
"rust-overlay": "rust-overlay_3"
|
||||
}
|
||||
},
|
||||
|
@ -1029,11 +1144,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688351637,
|
||||
"narHash": "sha256-CLTufJ29VxNOIZ8UTg0lepsn3X03AmopmaLTTeHDCL4=",
|
||||
"lastModified": 1691374719,
|
||||
"narHash": "sha256-HCodqnx1Mi2vN4f3hjRPc7+lSQy18vRn8xWW68GeQOg=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "f9b92316727af9e6c7fee4a761242f7f46880329",
|
||||
"rev": "b520a3889b24aaf909e287d19d406862ced9ffc9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1052,11 +1167,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1693015707,
|
||||
"narHash": "sha256-SFr93DYn502sVT9nB5U8/cKg1INyEk/jCeq8tHioz7Y=",
|
||||
"lastModified": 1695694299,
|
||||
"narHash": "sha256-0CucEiOZzOVHwmGDJKNXLj7aDYOqbRtqChp9nbGrh18=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "e90223633068a44f0fb62374e0fa360ccc987292",
|
||||
"rev": "c89a55d2d91cf55234466934b25deeffa365188a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
38
flake.nix
38
flake.nix
|
@ -45,6 +45,12 @@
|
|||
};
|
||||
|
||||
nix-rice.url = "github:bertof/nix-rice";
|
||||
|
||||
qtile = {
|
||||
url = "path:flakes/qtile";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
outputs = {
|
||||
|
@ -56,6 +62,7 @@
|
|||
ironbar,
|
||||
persway,
|
||||
helix,
|
||||
qtile,
|
||||
nix-index-database,
|
||||
nix-rice,
|
||||
nix-std,
|
||||
|
@ -65,40 +72,9 @@
|
|||
forAllSystems = nixpkgs.lib.genAttrs [
|
||||
"x86_64-linux"
|
||||
];
|
||||
overlays = import ./overlay.nix {inherit inputs;};
|
||||
|
||||
in rec {
|
||||
overlays = import ./overlay.nix {inherit inputs;};
|
||||
|
||||
homeConfigurations = {
|
||||
"twitchin" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = (import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
overlays = [
|
||||
inputs.nur.overlay
|
||||
outputs.overlays.additions
|
||||
outputs.overlays.pkg-sets
|
||||
outputs.overlays.wlroots
|
||||
outputs.overlays.sway-unwrapped
|
||||
outputs.overlays.sway
|
||||
inputs.nix-rice.overlays.default
|
||||
outputs.overlays.rice
|
||||
inputs.helix.overlays.default
|
||||
inputs.persway.overlays.default
|
||||
# inputs.eww.overlays.default
|
||||
];
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = _: true;
|
||||
};
|
||||
});
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./home/twitchin.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
nixosConfigurations = {
|
||||
"quiver" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
|
|
176
flakes/kile/flake.lock
generated
Normal file
176
flakes/kile/flake.lock
generated
Normal file
|
@ -0,0 +1,176 @@
|
|||
{
|
||||
"nodes": {
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1693787605,
|
||||
"narHash": "sha256-rwq5U8dy+a9JFny/73L0SJu1GfWwATMPMTp7D+mjHy8=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "8b4f7a4dab2120cf41e7957a28a853f45016bd9d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1692799911,
|
||||
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"kile-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1693732213,
|
||||
"narHash": "sha256-QK6oJ4YpncUJvJWfnSFnz9OeMKf3CPz/P4vjOkJ8pmQ=",
|
||||
"owner": "snakedye",
|
||||
"repo": "kile",
|
||||
"rev": "683efdd637afca25bcb61b3e8140f7485ac50939",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"owner": "snakedye",
|
||||
"repo": "kile",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1694593561,
|
||||
"narHash": "sha256-WSaIQZ5s9N9bDFkEMTw6P9eaZ9bv39ZhsiW12GtTNM0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1697b7d480449b01111e352021f46e5879e47643",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"kile-src": "kile-src",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"crane",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"crane",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1693707092,
|
||||
"narHash": "sha256-HR1EnynBSPqbt+04/yxxqsG1E3n6uXrOl7SPco/UnYo=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "98ccb73e6eefc481da6039ee57ad8818d1ca8d56",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
62
flakes/kile/flake.nix
Normal file
62
flakes/kile/flake.nix
Normal file
|
@ -0,0 +1,62 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
|
||||
crane = {
|
||||
url = "github:ipetkov/crane";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
|
||||
kile-src = {
|
||||
url = "gitlab:snakedye/kile";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, crane, flake-utils, kile-src, ... }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
# import nixpkgs {
|
||||
# inherit system;
|
||||
# };
|
||||
|
||||
craneLib = crane.lib.${system};
|
||||
kile = craneLib.buildPackage {
|
||||
src = kile-src;
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
wayland
|
||||
];
|
||||
|
||||
# Additional environment variables can be set directly
|
||||
# MY_CUSTOM_VAR = "some value";
|
||||
};
|
||||
in
|
||||
{
|
||||
checks = {
|
||||
inherit kile;
|
||||
};
|
||||
|
||||
packages.default = kile;
|
||||
|
||||
apps.default = flake-utils.lib.mkApp {
|
||||
drv = kile;
|
||||
};
|
||||
|
||||
devShells.default = craneLib.devShell {
|
||||
# Inherit inputs from checks.
|
||||
checks = self.checks.${system};
|
||||
|
||||
# Additional dev-shell environment variables can be set directly
|
||||
# MY_CUSTOM_DEVELOPMENT_VAR = "something else";
|
||||
|
||||
# Extra inputs can be added here; cargo and rustc are provided by default.
|
||||
packages = [
|
||||
# pkgs.ripgrep
|
||||
];
|
||||
};
|
||||
});
|
||||
}
|
167
flakes/qtile/flake.lock
generated
Normal file
167
flakes/qtile/flake.lock
generated
Normal file
|
@ -0,0 +1,167 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1693611461,
|
||||
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1693611461,
|
||||
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1695644571,
|
||||
"narHash": "sha256-asS9dCCdlt1lPq0DLwkVBbVoEKuEuz+Zi3DG7pR/RxA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6500b4580c2a1f3d0f980d32d285739d8e156d92",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"dir": "lib",
|
||||
"lastModified": 1693471703,
|
||||
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"dir": "lib",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"dir": "lib",
|
||||
"lastModified": 1693471703,
|
||||
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"dir": "lib",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1695644571,
|
||||
"narHash": "sha256-asS9dCCdlt1lPq0DLwkVBbVoEKuEuz+Zi3DG7pR/RxA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6500b4580c2a1f3d0f980d32d285739d8e156d92",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pywlroots": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"pywlroots-src": "pywlroots-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-W8zExI9+M6/4XcyncAFpnLvr+lNgDXMTZ1Nfb6JtkIU=",
|
||||
"path": "pywlroots",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "pywlroots",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"pywlroots-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1694810594,
|
||||
"narHash": "sha256-TjOYziToYqXbhAK+h/h00/e7oPluDsGaBP3DJ68jPXM=",
|
||||
"owner": "flacjacket",
|
||||
"repo": "pywlroots",
|
||||
"rev": "fca5c8142930ed4a6c23a906e77813207d993480",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "flacjacket",
|
||||
"repo": "pywlroots",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"qtile-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1695682843,
|
||||
"narHash": "sha256-8Dqe2OoFND6n9d++uxgEcUffVT8V5/g9fXqszJ/IpEU=",
|
||||
"owner": "qtile",
|
||||
"repo": "qtile",
|
||||
"rev": "ad5d0538c51c7ba57ef8520b45b2728fe6caa3a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "qtile",
|
||||
"repo": "qtile",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pywlroots": "pywlroots",
|
||||
"qtile-src": "qtile-src"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
80
flakes/qtile/flake.nix
Normal file
80
flakes/qtile/flake.nix
Normal file
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
|
||||
qtile-src = {
|
||||
url = "github:qtile/qtile";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
pywlroots = {
|
||||
url = "path:pywlroots";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = inputs@{ flake-parts, qtile-src, pywlroots, ... }:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
systems = [ "x86_64-linux" ];
|
||||
perSystem = { config, self', inputs', pkgs, system, ...}: {
|
||||
packages.qtile = with pkgs; with pkgs.python3Packages; buildPythonPackage rec {
|
||||
pname = "qtile";
|
||||
version = "unstable-${inputs.qtile-src.lastModifiedDate}";
|
||||
src = inputs.qtile-src;
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = "0.23.0";
|
||||
postPatch = ''
|
||||
substituteInPlace libqtile/pangocffi.py \
|
||||
--replace libgobject-2.0.so.0 ${pkgs.glib.out}/lib/libgobject-2.0.so.0 \
|
||||
--replace libpangocairo-1.0.so.0 ${pkgs.pango.out}/lib/libpangocairo-1.0.so.0 \
|
||||
--replace libpango-1.0.so.0 ${pkgs.pango.out}/lib/libpango-1.0.so.0
|
||||
substituteInPlace libqtile/backend/x11/xcursors.py \
|
||||
--replace libxcb-cursor.so.0 ${pkgs.xcb-util-cursor.out}/lib/libxcb-cursor.so.0
|
||||
substituteInPlace libqtile/backend/wayland/cffi/cairo_buffer.py \
|
||||
--replace drm_fourcc.h libdrm/drm_fourcc.h
|
||||
substituteInPlace libqtile/backend/wayland/cffi/build.py \
|
||||
--replace /usr/include/pixman-1 ${lib.getDev pkgs.pixman}/include \
|
||||
--replace /usr/include/libdrm ${lib.getDev pkgs.libdrm}/include/libdrm
|
||||
'';
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
setuptools-scm
|
||||
setuptools
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
xcffib
|
||||
(cairocffi.override { withXcffib = true; })
|
||||
python-dateutil
|
||||
dbus-python
|
||||
dbus-next
|
||||
mpd2
|
||||
psutil
|
||||
pulsectl-asyncio
|
||||
pyxdg
|
||||
pygobject3
|
||||
pywayland
|
||||
inputs'.pywlroots.packages.default
|
||||
xkbcommon
|
||||
];
|
||||
buildInputs = [
|
||||
libinput
|
||||
libxkbcommon
|
||||
libdrm
|
||||
wayland
|
||||
xorg.xcbutilwm
|
||||
(wlroots.overrideAttrs (wf: wp: {
|
||||
postPatch =
|
||||
wp.postPatch
|
||||
+ ''
|
||||
substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();"
|
||||
'';
|
||||
}))
|
||||
];
|
||||
makeWrapperArgs = [
|
||||
"--suffix PATH : ${lib.makeBinPath [ mypy ]}"
|
||||
];
|
||||
doCheck = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
81
flakes/qtile/pywlroots/flake.lock
generated
Normal file
81
flakes/qtile/pywlroots/flake.lock
generated
Normal file
|
@ -0,0 +1,81 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1693611461,
|
||||
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1695644571,
|
||||
"narHash": "sha256-asS9dCCdlt1lPq0DLwkVBbVoEKuEuz+Zi3DG7pR/RxA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6500b4580c2a1f3d0f980d32d285739d8e156d92",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"dir": "lib",
|
||||
"lastModified": 1693471703,
|
||||
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"dir": "lib",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pywlroots-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1694810594,
|
||||
"narHash": "sha256-TjOYziToYqXbhAK+h/h00/e7oPluDsGaBP3DJ68jPXM=",
|
||||
"owner": "flacjacket",
|
||||
"repo": "pywlroots",
|
||||
"rev": "fca5c8142930ed4a6c23a906e77813207d993480",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "flacjacket",
|
||||
"repo": "pywlroots",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pywlroots-src": "pywlroots-src"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
49
flakes/qtile/pywlroots/flake.nix
Normal file
49
flakes/qtile/pywlroots/flake.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
|
||||
pywlroots-src = {
|
||||
url = "github:flacjacket/pywlroots";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
outputs = inputs@{ flake-parts, pywlroots-src, ... }:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
systems = [ "x86_64-linux" ];
|
||||
perSystem = { config, self', inputs', pkgs, system, ...}: {
|
||||
packages.default = with pkgs; with pkgs.python3Packages; buildPythonPackage rec {
|
||||
pname = "pywlroots";
|
||||
version = "unstable-${inputs.pywlroots-src.lastModifiedDate}";
|
||||
format = "setuptools";
|
||||
disable = pythonOlder "3.7";
|
||||
src = inputs.pywlroots-src;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
propagatedNativeBuildInputs = [ cffi ];
|
||||
buildInputs = [ libinput libxkbcommon pixman xorg.libxcb xorg.xcbutilwm udev wayland
|
||||
((wlroots_0_16.override {xwayland = xwayland; enableXWayland = true;}).overrideAttrs (wf: wp: {
|
||||
postPatch =
|
||||
wp.postPatch
|
||||
+ ''
|
||||
substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();"
|
||||
'';
|
||||
}))
|
||||
];
|
||||
propagatedBuildInputs = [ cffi pywayland xkbcommon
|
||||
];
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
postBuild = ''
|
||||
${python3.pythonForBuild.interpreter} wlroots/ffi_build.py
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "wlroots" ];
|
||||
passthru.test = { inherit qtile; };
|
||||
};
|
||||
};
|
||||
|
||||
}; #/mkFlake
|
||||
}
|
0
header.sh
Normal file → Executable file
0
header.sh
Normal file → Executable file
|
@ -0,0 +1 @@
|
|||
/nix/store/dn5wzc9a8hrpml66i6kz5f3q6dr3jjmk-source
|
|
@ -0,0 +1 @@
|
|||
/nix/store/p58d2j0ac7zvja5jl14xzbc19fakjxh2-source
|
|
@ -0,0 +1 @@
|
|||
/nix/store/p7iz0r8gs6ppkhj83zjmwyd21k8b7v3y-source
|
|
@ -0,0 +1 @@
|
|||
/nix/store/xdms5kxx5gzkjfsfkaz3akvh0y8vqx1r-source
|
|
@ -0,0 +1 @@
|
|||
/nix/store/yj1wxm9hh8610iyzqnz75kvs6xl8j3my-source
|
|
@ -0,0 +1 @@
|
|||
/nix/store/ipg70lcppm6g4xs075am8pgihccvg3sr-nix-shell-env
|
File diff suppressed because one or more lines are too long
1
home/dots/qtile/.envrc
Normal file
1
home/dots/qtile/.envrc
Normal file
|
@ -0,0 +1 @@
|
|||
use flake
|
12
home/dots/qtile/autostart.sh
Executable file
12
home/dots/qtile/autostart.sh
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
ckb-next -c -b &
|
||||
mullvad connect &
|
||||
xrdb -l ~/.Xresources &
|
||||
|
||||
# for later..
|
||||
# gsettings set org.gnome.desktop.interface gtk-theme '${rice.gtk-theme.name}'";}
|
||||
# gsettings set org.gnome.desktop.interface font-name '${rice.fonts.sans.name}'";}
|
||||
# gsettings set org.gnome.desktop.interface icon-theme '${rice.icons.name}'";}
|
||||
|
||||
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL; systemctl --user start qtile-session.target
|
175
home/dots/qtile/config.py
Executable file
175
home/dots/qtile/config.py
Executable file
|
@ -0,0 +1,175 @@
|
|||
#!/usr/bin/env python3
|
||||
# import coconut.api
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import importlib
|
||||
import subprocess
|
||||
import sys
|
||||
import os
|
||||
from typing import List
|
||||
|
||||
from libqtile import bar, hook, layout, qtile, utils, widget
|
||||
from libqtile.backend import base
|
||||
from libqtile.lazy import lazy
|
||||
from libqtile.config import Key, Match, Screen, Click, Drag, Group, ScratchPad, DropDown
|
||||
|
||||
# import qtile_extras.widget as extra_widgets
|
||||
|
||||
assert qtile is not None
|
||||
|
||||
from typing import Any
|
||||
from libqtile.core.manager import Qtile
|
||||
|
||||
from libqtile.backend.wayland import InputConfig
|
||||
|
||||
wl_input_rules = {
|
||||
"type:keyboard": InputConfig(kb_options="caps:escape"),
|
||||
"*": InputConfig(accel_profile="flat", pointer_accel="0.0"),
|
||||
}
|
||||
mod = "mod4"
|
||||
|
||||
|
||||
class Apps:
|
||||
term = "kitty"
|
||||
launcher = "fuzzel"
|
||||
browser = "firefox"
|
||||
fm = "thunar"
|
||||
logout = "wlogout"
|
||||
noti = "swaync-client -t"
|
||||
ss = '''grim -g "$(slurp)" -t png -o "~/Pictures/$(date +%F_%H-%m-%S).png" && notify-send "Screenshot taken."'''
|
||||
passmgr = "keepassxc"
|
||||
|
||||
|
||||
class OSD:
|
||||
mute = "swayosd --output-volume mute-toggle"
|
||||
vol_up = "swayosd --output-volume raise"
|
||||
vol_down = "swayosd --output-volume lower"
|
||||
next = "playerctl next"
|
||||
prev = "playerctl prev"
|
||||
stop = "playerctl stop"
|
||||
play = "playerctl play-pause"
|
||||
brightup = "swayosd --brightness raise"
|
||||
brightdown = "swayosd --brightness lower"
|
||||
|
||||
|
||||
keys = [
|
||||
Key([mod], "Return", lazy.spawn(Apps.term)),
|
||||
Key([mod], "d", lazy.spawn(Apps.launcher)),
|
||||
Key([mod], "f", lazy.spawn(Apps.browser)),
|
||||
Key([mod], "e", lazy.spawn(Apps.fm)),
|
||||
Key([mod, "Shift"], "e", lazy.spawn(Apps.logout)),
|
||||
Key([mod], "n", lazy.spawn(Apps.noti)),
|
||||
Key([mod, "Shift"], "s", lazy.spawn(Apps.ss)),
|
||||
Key([], "XF86AudioMute", lazy.spawn(OSD.mute)),
|
||||
Key([], "XF86AudioRaiseVolume", lazy.spawn(OSD.vol_up)),
|
||||
Key([], "XF86AudioLowerVolume", lazy.spawn(OSD.vol_down)),
|
||||
Key([], "XF86AudioStop", lazy.spawn(OSD.stop)),
|
||||
Key([], "XF86AudioPlay", lazy.spawn(OSD.play)),
|
||||
Key([], "XF86AudioPrev", lazy.spawn(OSD.prev)),
|
||||
Key([], "XF86AudioNext", lazy.spawn(OSD.next)),
|
||||
Key([], "XF86MonBrightnessUp", lazy.spawn(OSD.brightup)),
|
||||
Key([], "XF86MonBrightnessDown", lazy.spawn(OSD.brightdown)),
|
||||
Key([mod, "shift"], "q", lazy.window.kill()),
|
||||
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
|
||||
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
|
||||
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
|
||||
Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
|
||||
Key(
|
||||
[mod, "shift"], "h", lazy.layout.shuffle_left(), desc="Move window to the left"
|
||||
),
|
||||
Key(
|
||||
[mod, "shift"],
|
||||
"l",
|
||||
lazy.layout.shuffle_right(),
|
||||
desc="Move window to the right",
|
||||
),
|
||||
Key([mod, "shift"], "j", lazy.layout.shuffle_down(), desc="Move window down"),
|
||||
Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"),
|
||||
Key([mod, "control"], "h", lazy.layout.grow_left(), desc="Grow window to the left"),
|
||||
Key(
|
||||
[mod, "control"], "l", lazy.layout.grow_right(), desc="Grow window to the right"
|
||||
),
|
||||
Key([mod, "control"], "j", lazy.layout.grow_down(), desc="Grow window down"),
|
||||
Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"),
|
||||
Key([mod], "space", lazy.window.toggle_floating()),
|
||||
Key([mod, "shift"], "space", lazy.window.toggle_fullscreen()),
|
||||
Key([mod], "Tab", lazy.layout.next_layout()),
|
||||
]
|
||||
|
||||
|
||||
groups = [Group(i) for i in "123456"]
|
||||
|
||||
for i in groups:
|
||||
keys.extend(
|
||||
[
|
||||
# mod1 + letter of group = switch to group
|
||||
Key(
|
||||
[mod],
|
||||
i.name,
|
||||
lazy.group[i.name].toscreen(),
|
||||
desc="Switch to group {}".format(i.name),
|
||||
),
|
||||
# mod1 + shift + letter of group = move focused window to group
|
||||
Key(
|
||||
[mod, "shift"],
|
||||
i.name,
|
||||
lazy.window.togroup(i.name),
|
||||
desc="move focused window to group {}".format(i.name),
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
groups.append(ScratchPad("scratch", [
|
||||
DropDown("term", Apps.term, width=0.8, height=0.45, x=0.2, y=0.0),
|
||||
DropDown("pass", Apps.passmgr, width=0.5, height=0.5, x=0.25, y=0.25),
|
||||
]))
|
||||
|
||||
keys.extend([
|
||||
Key([mod], 'grave', lazy.group['scratch'].dropdown_toggle('term')),
|
||||
Key([mod], 'minus', lazy.group['scratch'].dropdown_toggle('pass')),
|
||||
])
|
||||
|
||||
layouts = [
|
||||
layout.Bsp(margin_on_single=0),
|
||||
layout.Slice(fallback=layout.Bsp(), side="top", width=1280),
|
||||
]
|
||||
|
||||
widget_defaults = dict(
|
||||
font="Inria Sans",
|
||||
fontsize=12,
|
||||
)
|
||||
|
||||
mouse = [
|
||||
Drag([mod], "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position()),
|
||||
Drag([mod], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()),
|
||||
]
|
||||
|
||||
screens = [
|
||||
Screen(
|
||||
top = bar.Bar(
|
||||
[
|
||||
widget.GroupBox(),
|
||||
widget.WindowTabs(),
|
||||
widget.CurrentLayout(),
|
||||
# widget.Volume(),
|
||||
# widget.Systray(),
|
||||
widget.Clock()
|
||||
# widget.Clock('%B %d %a %I:%M %p'),
|
||||
],
|
||||
16,
|
||||
)
|
||||
)
|
||||
]
|
||||
|
||||
dgroups_key_binder = None
|
||||
dgroups_app_rules: List[str] = []
|
||||
follow_mouse_focus = True
|
||||
bring_front_click = False
|
||||
cursor_warp = True
|
||||
focus_on_window_activation = "smart"
|
||||
|
||||
@hook.subscribe.startup
|
||||
def autostart():
|
||||
home = os.path.expanduser("~/.config/qtile/autostart.sh")
|
||||
subprocess.Popen([home])
|
78
home/dots/qtile/flake.lock
generated
Normal file
78
home/dots/qtile/flake.lock
generated
Normal file
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1695559356,
|
||||
"narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1695318763,
|
||||
"narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e12483116b3b51a185a33a272bf351e357ba9a99",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"utils": "utils"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
29
home/dots/qtile/flake.nix
Normal file
29
home/dots/qtile/flake.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-unstable, utils, ... }:
|
||||
utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
stable = import nixpkgs { inherit system; };
|
||||
unstable = import nixpkgs-unstable { inherit system; };
|
||||
in
|
||||
{
|
||||
devShell = with unstable; with unstable.python3Packages; mkShell {
|
||||
buildInputs = [
|
||||
python-lsp-server
|
||||
mypy
|
||||
pylsp-mypy
|
||||
black
|
||||
pydantic
|
||||
coconut
|
||||
stable.python3Packages.qtile-extras
|
||||
stable.python3Packages.qtile
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
166
home/dots/river/init
Executable file
166
home/dots/river/init
Executable file
|
@ -0,0 +1,166 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This is the example configuration file for river.
|
||||
#
|
||||
# If you wish to edit this, you will probably want to copy it to
|
||||
# $XDG_CONFIG_HOME/river/init or $HOME/.config/river/init first.
|
||||
#
|
||||
# See the river(1), riverctl(1), and kile(1) man pages for complete
|
||||
# documentation.
|
||||
|
||||
# Note: the "Super" modifier is also known as Logo, GUI, Windows, Mod4, etc.
|
||||
|
||||
# MY BINDS
|
||||
|
||||
riverctl map normal Super Return spawn kitty
|
||||
riverctl map normal Super D spawn fuzzel
|
||||
riverctl map normal Super E spawn thunar
|
||||
riverctl map normal Super F spawn firefox
|
||||
riverctl map normal Super+Shift E spawn wlogout
|
||||
riverctl map normal Super+Shift S spawn grim -g "$(slurp)" -t png -o ~/Pictures/$(date +%F_%H-%m-%S).png && notify-send "Screenshot taken."
|
||||
riverctl map normal Super+Shift+Ctrl S spawn kooha
|
||||
|
||||
# Super+Q to close the focused view
|
||||
riverctl map normal Super+Shift Q close
|
||||
|
||||
# Super+J and Super+K to focus the next/previous view in the layout stack
|
||||
riverctl map normal Super J focus-view next
|
||||
riverctl map normal Super K focus-view previous
|
||||
|
||||
# Super+Shift+J and Super+Shift+K to swap the focused view with the next/previous
|
||||
# view in the layout stack
|
||||
riverctl map normal Super+Shift J swap next
|
||||
riverctl map normal Super+Shift K swap previous
|
||||
|
||||
# Super+Period and Super+Comma to focus the next/previous output
|
||||
riverctl map normal Super Period focus-output next
|
||||
riverctl map normal Super Comma focus-output previous
|
||||
|
||||
# Super+Shift+{Period,Comma} to send the focused view to the next/previous output
|
||||
riverctl map normal Super+Shift Period send-to-output next
|
||||
riverctl map normal Super+Shift Comma send-to-output previous
|
||||
|
||||
# Super+Return to bump the focused view to the top of the layout stack
|
||||
riverctl map normal Super+Shift Return zoom
|
||||
|
||||
# Super+H and Super+L to decrease/increase the main ratio of kile(1)
|
||||
riverctl map normal Super H send-layout-cmd kile "main-ratio -0.05"
|
||||
riverctl map normal Super L send-layout-cmd kile "main-ratio +0.05"
|
||||
|
||||
# Super+Shift+H and Super+Shift+L to increment/decrement the main count of kile(1)
|
||||
riverctl map normal Super+Shift H send-layout-cmd kile "main-count +1"
|
||||
riverctl map normal Super+Shift L send-layout-cmd kile "main-count -1"
|
||||
|
||||
# Super+Alt+{H,J,K,L} to move views
|
||||
riverctl map normal Super+Alt H move left 100
|
||||
riverctl map normal Super+Alt J move down 100
|
||||
riverctl map normal Super+Alt K move up 100
|
||||
riverctl map normal Super+Alt L move right 100
|
||||
|
||||
# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
|
||||
riverctl map normal Super+Alt+Control H snap left
|
||||
riverctl map normal Super+Alt+Control J snap down
|
||||
riverctl map normal Super+Alt+Control K snap up
|
||||
riverctl map normal Super+Alt+Control L snap right
|
||||
|
||||
# Super+Alt+Shift+{H,J,K,L} to resize views
|
||||
riverctl map normal Super+Alt+Shift H resize horizontal -100
|
||||
riverctl map normal Super+Alt+Shift J resize vertical 100
|
||||
riverctl map normal Super+Alt+Shift K resize vertical -100
|
||||
riverctl map normal Super+Alt+Shift L resize horizontal 100
|
||||
|
||||
# Super + Left Mouse Button to move views
|
||||
riverctl map-pointer normal Super BTN_LEFT move-view
|
||||
|
||||
# Super + Right Mouse Button to resize views
|
||||
riverctl map-pointer normal Super BTN_RIGHT resize-view
|
||||
|
||||
# Super + Middle Mouse Button to toggle float
|
||||
riverctl map-pointer normal Super BTN_MIDDLE toggle-float
|
||||
|
||||
for i in $(seq 1 9)
|
||||
do
|
||||
tags=$((1 << ($i - 1)))
|
||||
|
||||
# Super+[1-9] to focus tag [0-8]
|
||||
riverctl map normal Super $i set-focused-tags $tags
|
||||
|
||||
# Super+Shift+[1-9] to tag focused view with tag [0-8]
|
||||
riverctl map normal Super+Shift $i set-view-tags $tags
|
||||
|
||||
# Super+Control+[1-9] to toggle focus of tag [0-8]
|
||||
riverctl map normal Super+Control $i toggle-focused-tags $tags
|
||||
|
||||
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
|
||||
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
|
||||
done
|
||||
|
||||
# Super+0 to focus all tags
|
||||
# Super+Shift+0 to tag focused view with all tags
|
||||
all_tags=$(((1 << 32) - 1))
|
||||
riverctl map normal Super 0 set-focused-tags $all_tags
|
||||
riverctl map normal Super+Shift 0 set-view-tags $all_tags
|
||||
|
||||
# Super+Space to toggle float
|
||||
riverctl map normal Super Space toggle-float
|
||||
|
||||
# Super+F to toggle fullscreen
|
||||
riverctl map normal Super+Shift Space toggle-fullscreen
|
||||
|
||||
# Super+{Up,Right,Down,Left} to change layout orientation
|
||||
riverctl map normal Super Up send-layout-cmd kile "main-location top"
|
||||
riverctl map normal Super Right send-layout-cmd kile "main-location right"
|
||||
riverctl map normal Super Down send-layout-cmd kile "main-location bottom"
|
||||
riverctl map normal Super Left send-layout-cmd kile "main-location left"
|
||||
|
||||
# Declare a passthrough mode. This mode has only a single mapping to return to
|
||||
# normal mode. This makes it useful for testing a nested wayland compositor
|
||||
riverctl declare-mode passthrough
|
||||
|
||||
# Super+F11 to enter passthrough mode
|
||||
riverctl map normal Super F11 enter-mode passthrough
|
||||
|
||||
# Super+F11 to return to normal mode
|
||||
riverctl map passthrough Super F11 enter-mode normal
|
||||
|
||||
# Various media key mapping examples for both normal and locked mode which do
|
||||
# not have a modifier
|
||||
for mode in normal locked
|
||||
do
|
||||
# Eject the optical drive (well if you still have one that is)
|
||||
riverctl map $mode None XF86Eject spawn 'eject -T'
|
||||
|
||||
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
|
||||
riverctl map $mode None XF86AudioRaiseVolume spawn 'swayosd --output-volume raise'
|
||||
riverctl map $mode None XF86AudioLowerVolume spawn 'swayosd --output-volume lower'
|
||||
riverctl map $mode None XF86AudioMute spawn 'swayosd --output-volume mute-toggle'
|
||||
|
||||
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
|
||||
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
|
||||
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
|
||||
|
||||
# Control screen backlight brightness with light (https://github.com/haikarainen/light)
|
||||
riverctl map $mode None XF86MonBrightnessUp spawn 'light -A 5'
|
||||
riverctl map $mode None XF86MonBrightnessDown spawn 'light -U 5'
|
||||
done
|
||||
|
||||
# Set background and border color
|
||||
riverctl background-color 0x#BGCOLOUR
|
||||
riverctl border-color-focused 0x#BORDERCOLOUR
|
||||
riverctl border-color-unfocused 0x#UNFOCUSEDCOLOUR
|
||||
|
||||
# Set keyboard repeat rate
|
||||
riverctl set-repeat 50 300
|
||||
|
||||
# Make all views with an app-id that starts with "float" and title "foo" start floating.
|
||||
# riverctl rule-add float -app-id 'float*' -title 'foo'
|
||||
|
||||
# Make all views with app-id "bar" and any title use client-side decorations
|
||||
# riverctl rule-add csd -app-id "bar"
|
||||
|
||||
# Set the default layout generator to be kile and start it.
|
||||
# River will send the process group of the init executable SIGTERM on exit.
|
||||
riverctl default-layout kile
|
||||
kile &
|
7
home/dots/river/layout.kl
Normal file
7
home/dots/river/layout.kl
Normal file
|
@ -0,0 +1,7 @@
|
|||
const ver Vertical
|
||||
const hor Horizontal
|
||||
|
||||
const vsplit (ver | hor ([1 - 0.5] *hsplit))
|
||||
const hsplit (hor | ver ([1 - 0.5] *vsplit))
|
||||
|
||||
const default vsplit
|
|
@ -60,12 +60,8 @@ in {
|
|||
|
||||
mpv
|
||||
|
||||
river
|
||||
|
||||
gtk-engine-murrine
|
||||
|
||||
persway
|
||||
flashfocus
|
||||
]
|
||||
++ pkgs.rice.fonts.pkgs
|
||||
++ pkgs.rice.icons.pkgs;
|
||||
|
@ -90,7 +86,7 @@ in {
|
|||
};
|
||||
|
||||
programs.ironbar = with pkgs.rice; {
|
||||
enable = true;
|
||||
# enable = true;
|
||||
config = {
|
||||
anchor_to_edges = true;
|
||||
position = "top";
|
||||
|
@ -205,7 +201,7 @@ in {
|
|||
{command = "${lib.getExe' ckb-next "ckb-next"} -c -b";}
|
||||
{command = "${lib.getExe' mullvad "mullvad"} connect";}
|
||||
{command = "${lib.getExe' xorg.xrdb "xrdb"} -l ~/.Xresources";}
|
||||
{command = "${lib.getExe' flashfocus "flashfocus"} -o 0.97 -t 175 -n 30 --no-flash-fullscreen -l on_open_close";}
|
||||
{command = "${lib.getExe' flashfocus "flashfocus"} -o 0.95 -t 175 -n 30 --no-flash-fullscreen -l on_open_close";}
|
||||
{command = "${lib.getExe' glib.bin "gsettings"} set org.gnome.desktop.interface gtk-theme '${rice.gtk-theme.name}'";}
|
||||
{command = "${lib.getExe' glib.bin "gsettings"} set org.gnome.desktop.interface font-name '${rice.fonts.sans.name}'";}
|
||||
{command = "${lib.getExe' glib.bin "gsettings"} set org.gnome.desktop.interface icon-theme '${rice.icons.name}'";}
|
||||
|
@ -310,26 +306,31 @@ in {
|
|||
builtins.mapAttrs (name: cmd: {
|
||||
Unit = {
|
||||
Description = "${name}";
|
||||
Requires = ["sway-session.target"];
|
||||
Requires = [ "graphical-session.target" "qtile-session.target" ];
|
||||
After = [ "graphical-session.target" "qtile-session.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = cmd;
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["sway-session.target"];
|
||||
WantedBy = ["qtile-session.target"];
|
||||
};
|
||||
})
|
||||
{
|
||||
swaybg = "${lib.getExe swaybg} -i ${rice.bg.image} -m fill";
|
||||
# QT APPS CANT THEME PROPERLY HOW EMBARASSING
|
||||
# keepassxc = "${lib.getExe' keepassxc "keepassxc"}";
|
||||
# ckb-next = "${lib.getExe' ckb-next "ckb-next"} -c -b";
|
||||
swayosd = "${lib.getExe' swayosd "swayosd"} --max-volume 100";
|
||||
swaync = "${lib.getExe swaynotificationcenter}";
|
||||
persway = "${lib.getExe' persway "persway"} daemon -d spiral";
|
||||
# PYTHON APP CANT RUN AS SYSTEMD SERVICE HOW EMBARASSING
|
||||
flashfocus = "${lib.getExe flashfocus} -o 0.95 -t 175 -n 30 --no-flash-fullscreen -l on_open_close";
|
||||
# persway = "${lib.getExe' persway "persway"} daemon -d spiral";
|
||||
# nb. python or qt apps fail as sd services, use wm to launch
|
||||
};
|
||||
systemd.user.targets.qtile-session = {
|
||||
Unit = {
|
||||
BindsTo = [ "graphical-session.target" ];
|
||||
Wants = [ "graphical-session-pre.target" "xdg-desktop-autostart.target" ];
|
||||
After = [ "graphical-session-pre.target" ];
|
||||
Before = [ "xdg-desktop-autostart.target" ];
|
||||
};
|
||||
};
|
||||
|
||||
xdg.enable = true;
|
||||
xresources.properties = with palette-hex; {
|
||||
|
@ -358,11 +359,13 @@ in {
|
|||
xdg.configFile =
|
||||
builtins.mapAttrs (name: value: {
|
||||
enable = true;
|
||||
text = builtins.readFile value;
|
||||
source = value;
|
||||
})
|
||||
{
|
||||
"swaync/config.json" = dots/swaync/config.json;
|
||||
"swaync/configSchema.json" = dots/swaync/configSchema.json;
|
||||
"qtile/config.py" = dots/qtile/config.py;
|
||||
"qtile/autostart.sh" = dots/qtile/autostart.sh;
|
||||
}
|
||||
// {
|
||||
"swaync/style.css" = {
|
||||
|
|
13
overlay.nix
13
overlay.nix
|
@ -10,10 +10,11 @@
|
|||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
rice = import ./rice.nix;
|
||||
podman-stable = final: prev: {podman-stable = final.stable.podman;};
|
||||
|
||||
wlroots = final: prev: {
|
||||
wlroots = final.unstable.wlroots_0_16.overrideAttrs (wfinal: wprev: {
|
||||
wlroots = final.unstable.wlroots.overrideAttrs (wfinal: wprev: {
|
||||
postPatch =
|
||||
wprev.postPatch
|
||||
+ ''
|
||||
|
@ -21,6 +22,7 @@
|
|||
'';
|
||||
});
|
||||
};
|
||||
|
||||
sway-unwrapped = final: prev: {
|
||||
sway-unwrapped =
|
||||
(final.unstable.sway-unwrapped.override {
|
||||
|
@ -34,6 +36,7 @@
|
|||
}
|
||||
);
|
||||
};
|
||||
|
||||
sway = final: prev: {
|
||||
sway = final.unstable.sway.override {
|
||||
sway-unwrapped = final.sway-unwrapped;
|
||||
|
@ -41,9 +44,5 @@
|
|||
withGtkWrapper = true;
|
||||
};
|
||||
};
|
||||
river = final: prev: {
|
||||
river = final.unstable.river.override {
|
||||
wlroots = final.wlroots;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
diff --git a/sway/main.c b/sway/main.c
|
||||
index 85bc2f1..0129a58 100644
|
||||
index 85bc2f1c..a2f76590 100644
|
||||
--- a/sway/main.c
|
||||
+++ b/sway/main.c
|
||||
@@ -58,16 +58,25 @@ void detect_proprietary(int allow_unsupported_gpu) {
|
||||
size_t line_size = 0;
|
||||
while (getline(&line, &line_size, f) != -1) {
|
||||
if (strncmp(line, "nvidia ", 7) == 0) {
|
||||
@@ -50,41 +50,7 @@ void sig_handler(int signal) {
|
||||
}
|
||||
|
||||
void detect_proprietary(int allow_unsupported_gpu) {
|
||||
- FILE *f = fopen("/proc/modules", "r");
|
||||
- if (!f) {
|
||||
- return;
|
||||
- }
|
||||
- char *line = NULL;
|
||||
- size_t line_size = 0;
|
||||
- while (getline(&line, &line_size, f) != -1) {
|
||||
- if (strncmp(line, "nvidia ", 7) == 0) {
|
||||
- if (allow_unsupported_gpu) {
|
||||
- sway_log(SWAY_ERROR,
|
||||
- "!!! Proprietary Nvidia drivers are in use !!!");
|
||||
|
@ -16,25 +24,24 @@ index 85bc2f1..0129a58 100644
|
|||
- "--unsupported-gpu and DO NOT report issues.");
|
||||
- exit(EXIT_FAILURE);
|
||||
- }
|
||||
+ sway_log(SWAY_INFO,
|
||||
+ "Thank you, based Nvidia user! o7"
|
||||
+ );
|
||||
+ sway_log(SWAY_INFO,
|
||||
+ " _ ___ __ "
|
||||
+ );
|
||||
+ sway_log(SWAY_INFO,
|
||||
+ " ____ _ __(_)___/ (_)___ _ _________ _____/ /_______"
|
||||
+ );
|
||||
+ sway_log(SWAY_INFO,
|
||||
+ " / __ \\ | / / / __ / / __ `/ / ___/ __ \\/ ___/ //_/ ___/"
|
||||
+ );
|
||||
+ sway_log(SWAY_INFO,
|
||||
+ " / / / / |/ / / /_/ / / /_/ / / / / /_/ / /__/ ,< (__ ) "
|
||||
+ );
|
||||
+ sway_log(SWAY_INFO,
|
||||
+ "/_/ /_/|___/_/\\__,_/_/\\__,_/ /_/ \\____/\\___/_/|_/____/ "
|
||||
+ );
|
||||
+
|
||||
break;
|
||||
}
|
||||
if (strstr(line, "fglrx")) {
|
||||
- break;
|
||||
- }
|
||||
- if (strstr(line, "fglrx")) {
|
||||
- if (allow_unsupported_gpu) {
|
||||
- sway_log(SWAY_ERROR,
|
||||
- "!!! Proprietary AMD drivers are in use !!!");
|
||||
- } else {
|
||||
- sway_log(SWAY_ERROR, "Proprietary AMD drivers do NOT support "
|
||||
- "Wayland. Use radeon. To try anyway, launch sway with "
|
||||
- "--unsupported-gpu and DO NOT report issues.");
|
||||
- exit(EXIT_FAILURE);
|
||||
- }
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- free(line);
|
||||
- fclose(f);
|
||||
+ return;
|
||||
}
|
||||
|
||||
void run_as_ipc_client(char *command, char *socket_path) {
|
||||
|
|
|
@ -34,15 +34,15 @@
|
|||
trusted-users = ["bolt" "plank"];
|
||||
experimental-features = "nix-command flakes";
|
||||
substitute = true;
|
||||
substituters = ["https://anyrun.cachix.org" "https://jakestanger.cachix.org"];
|
||||
substituters = ["https://jakestanger.cachix.org"];
|
||||
trusted-public-keys = [
|
||||
"jakestanger.cachix.org-1:VWJE7AWNe5/KOEvCQRxoE8UsI2Xs2nHULJ7TEjYm7mM="
|
||||
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
|
||||
];
|
||||
|
||||
nix.extraOptions = ''
|
||||
|
@ -87,11 +87,23 @@
|
|||
|
||||
services.udisks2.enable = true;
|
||||
|
||||
services.xserver.windowManager.qtile = {
|
||||
enable = true;
|
||||
backend = "wayland";
|
||||
package = inputs.qtile.packages.x86_64-linux.default;
|
||||
configFile = null; # using hm instead
|
||||
extraPackages = python3Packages: with python3Packages; [
|
||||
pkgs.stable.python3Packages.qtile-extras
|
||||
coconut
|
||||
];
|
||||
};
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${lib.getExe pkgs.greetd.tuigreet} -r -g \"what's good\" --time --sessions ${pkgs.sway}/share/wayland-sessions";
|
||||
# command = "${lib.getExe pkgs.greetd.tuigreet} -r -g \"what's good\" --time --cmd sway";
|
||||
command = "${lib.getExe pkgs.greetd.tuigreet} -r -g \"what's good\" --time --cmd \"qtile start -b wayland\"";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue