qtile float centring and tweaks

This commit is contained in:
atagen 2023-10-19 14:29:33 +11:00
parent 79c9f90e53
commit 6cff59b7ef
16 changed files with 776 additions and 164 deletions

195
flake.lock generated
View file

@ -78,6 +78,22 @@
"type": "github"
}
},
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
@ -101,11 +117,11 @@
"nixpkgs-lib": "nixpkgs-lib_3"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
"type": "github"
},
"original": {
@ -154,16 +170,17 @@
"nixpkgs-lib": "nixpkgs-lib_6"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
@ -206,6 +223,24 @@
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1681202837,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
@ -252,11 +287,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1695693919,
"narHash": "sha256-ik3qDGRspMyx1LP/m/Bc2O9LTpDIeg3x4Y2EJBin1tQ=",
"lastModified": 1697539588,
"narHash": "sha256-veWkq42czNVzppmXMhd97BFbCbWGrkVSfMP3sVkLbcM=",
"owner": "helix-editor",
"repo": "helix",
"rev": "01e281ce107e57cc1865a0e09e89a8e8c79f2a4e",
"rev": "fc16449efe58a49c15e19c9fde6584d8625493fd",
"type": "github"
},
"original": {
@ -272,11 +307,11 @@
]
},
"locked": {
"lastModified": 1695708052,
"narHash": "sha256-QiWOrZcCmY+zH2NVM6/opZaMRMgam9u+qVYycKLqL10=",
"lastModified": 1697555443,
"narHash": "sha256-nsq8A+adEdN7bvVdz09LFyrHkTW5GtOzo/ctlHhyaaE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "dd88dbc69438384bd94f8282584a86798750028c",
"rev": "b3acf1dc78b38a2fe03b287fead44d7ad25ac7c5",
"type": "github"
},
"original": {
@ -308,11 +343,11 @@
]
},
"locked": {
"lastModified": 1695526222,
"narHash": "sha256-/NwZz3QcVplrfiDKk1thYg1EIHLSNucVHNUi2uwO3RI=",
"lastModified": 1697340827,
"narHash": "sha256-XlrR68N7jyaZ0bs8TPrhqcWG0IPG3pbjrKzJMpYOsos=",
"owner": "Mic92",
"repo": "nix-index-database",
"rev": "25d6369c232bbea1ec1f90226fd17982e7a0a647",
"rev": "29977d0796c058bbcfb2df5b18eb5badf1711007",
"type": "github"
},
"original": {
@ -321,10 +356,35 @@
"type": "github"
}
},
"nix-rice": {
"nix-ld-rs": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": [
"rust-overlay"
]
},
"locked": {
"lastModified": 1692825040,
"narHash": "sha256-01V6wiLzXe2acXPriiHnn/MMQpwYXcneC0tIqbdcny8=",
"owner": "nix-community",
"repo": "nix-ld-rs",
"rev": "35987e7f70ca6845489e8abc6e7897775c01a5c4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-ld-rs",
"type": "github"
}
},
"nix-rice": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_4",
"kitty-themes-src": "kitty-themes-src",
"nixpkgs-lib": "nixpkgs-lib",
"pre-commit-hooks": "pre-commit-hooks"
@ -364,11 +424,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1695137077,
"narHash": "sha256-wJ8EpYjsqrR4GFAF67wJKmZd4q86KuODWAag4acQL5Q=",
"lastModified": 1697038389,
"narHash": "sha256-hbzFPXyQQxJObRdb+CsylUXii29UfFV7866WWgWYs6Y=",
"owner": "nix-community",
"repo": "nixd",
"rev": "e8f144ca50fe71e74d247e5308ae7ce122f0a0e6",
"rev": "29904e121cc775e7caaf4fffa6bc7da09376a43b",
"type": "github"
},
"original": {
@ -429,11 +489,11 @@
"nixpkgs-lib_3": {
"locked": {
"dir": "lib",
"lastModified": 1693471703,
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
"lastModified": 1696019113,
"narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
"rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a",
"type": "github"
},
"original": {
@ -483,11 +543,11 @@
"nixpkgs-lib_6": {
"locked": {
"dir": "lib",
"lastModified": 1693471703,
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
"lastModified": 1696019113,
"narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
"rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a",
"type": "github"
},
"original": {
@ -516,11 +576,11 @@
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1695559356,
"narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=",
"lastModified": 1697226376,
"narHash": "sha256-cumLLb1QOUtWieUnLGqo+ylNt3+fU8Lcv5Zl+tYbRUE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0",
"rev": "898cb2064b6e98b8c5499f37e81adbdf2925f7c5",
"type": "github"
},
"original": {
@ -548,11 +608,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1695360818,
"narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=",
"lastModified": 1697456312,
"narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e35dcc04a3853da485a396bdd332217d0ac9054f",
"rev": "ca012a02bf8327be9e488546faecae5e05d7d749",
"type": "github"
},
"original": {
@ -580,11 +640,11 @@
},
"nur": {
"locked": {
"lastModified": 1695733013,
"narHash": "sha256-dyQjcUNqZk7kR3exhwDvpZV4U/1gJNNtbypacMGMJyA=",
"lastModified": 1697572048,
"narHash": "sha256-jS93XeYHl0HtnQ09tulbdeygjFHYYXHDozQ7AZP8aaU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "4af599c0027f63d4812df1a7835a3fe71e26ea12",
"rev": "641022140ba8b6339d9f39bc13dd81aa4ac0f0e7",
"type": "github"
},
"original": {
@ -595,7 +655,7 @@
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-compat": "flake-compat_4",
"flake-utils": [
"nix-rice",
"flake-utils"
@ -630,7 +690,7 @@
},
"locked": {
"lastModified": 1,
"narHash": "sha256-UWrgMhmt1I9du1arlBji6l0ijm/33L1B7J3mi68n4oc=",
"narHash": "sha256-TohP8yXFcSpQzFL7evx7D1wVqvCEgmF5qtnSdaCqCso=",
"path": "pywlroots",
"type": "path"
},
@ -663,11 +723,11 @@
],
"pywlroots": "pywlroots",
"qtile-src": "qtile-src",
"scenefx": "scenefx_2"
"smartfloat": "smartfloat"
},
"locked": {
"lastModified": 1,
"narHash": "sha256-gHjQFJhVXzDanky68EkmfRp07oOO/fDsynukTcVbc0M=",
"narHash": "sha256-JK4fwHyPBVulc+go0yJdPJ8zJzY/6NxV96/l/09eRT8=",
"path": "flakes/qtile",
"type": "path"
},
@ -679,11 +739,11 @@
"qtile-src": {
"flake": false,
"locked": {
"lastModified": 1695927044,
"narHash": "sha256-Z0EpAYJu01lH1BOJXONynGZmSk7nEqmPj15JXflkGaE=",
"lastModified": 1697524288,
"narHash": "sha256-5KUPyCAyev++MWudkrEDMWTgVQTue5IdH9HMnATWuxI=",
"owner": "qtile",
"repo": "qtile",
"rev": "17f20d65920502d9e4920eae50c036984fd49a25",
"rev": "5a1af7fd65b5fb0d4afb97bb82007cf082044d73",
"type": "github"
},
"original": {
@ -698,6 +758,7 @@
"helix": "helix",
"home-manager": "home-manager",
"nix-index-database": "nix-index-database",
"nix-ld-rs": "nix-ld-rs",
"nix-rice": "nix-rice",
"nix-std": "nix-std",
"nixd": "nixd",
@ -743,11 +804,11 @@
]
},
"locked": {
"lastModified": 1695694299,
"narHash": "sha256-0CucEiOZzOVHwmGDJKNXLj7aDYOqbRtqChp9nbGrh18=",
"lastModified": 1697508761,
"narHash": "sha256-QKWiXUlnke+EiJw3pek1l7xyJ4YsxYXZeQJt/YLgjvA=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "c89a55d2d91cf55234466934b25deeffa365188a",
"rev": "6f74c92caaf2541641b50ec623676430101d1fd4",
"type": "github"
},
"original": {
@ -789,39 +850,22 @@
"type": "github"
}
},
"scenefx-src_2": {
"flake": false,
"locked": {
"lastModified": 1691347738,
"narHash": "sha256-c/zRWz6njC3RsHzIcWpd5m7CXGprrIhKENpaQVH7Owk=",
"owner": "wlrfx",
"repo": "scenefx",
"rev": "b929a2bbadf467864796ad4ec90882ce86cfebff",
"type": "github"
},
"original": {
"owner": "wlrfx",
"repo": "scenefx",
"type": "github"
}
},
"scenefx_2": {
"smartfloat": {
"inputs": {
"flake-parts": "flake-parts_5",
"nixpkgs": [
"qtile",
"nixpkgs"
],
"scenefx-src": "scenefx-src_2"
]
},
"locked": {
"lastModified": 1,
"narHash": "sha256-MjNre2IVsdGHgumTqojSngsCKSZQPcri01ZikXbyTqQ=",
"path": "scenefx",
"narHash": "sha256-hKPB0q1CYMXpH2kvCs8oCmNcRRoOj1JJDECGGY2A1AU=",
"path": "smartfloat",
"type": "path"
},
"original": {
"path": "scenefx",
"path": "smartfloat",
"type": "path"
}
},
@ -869,6 +913,21 @@
"repo": "default",
"type": "github"
}
},
"systems_4": {
"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",

View file

@ -39,6 +39,12 @@
nixd.url = "github:nix-community/nixd";
nix-ld-rs = {
url = "github:nix-community/nix-ld-rs";
inputs.nixpkgs.follows = "nixpkgs";
inputs.rust-overlay.follows = "rust-overlay";
};
qtile = {
url = "path:flakes/qtile";
inputs.nixpkgs.follows = "nixpkgs";
@ -54,6 +60,7 @@
helix,
qtile,
nixd,
nix-ld-rs,
nix-index-database,
nix-rice,
nix-std,

View file

@ -5,11 +5,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
"type": "github"
},
"original": {
@ -58,25 +58,26 @@
"nixpkgs-lib": "nixpkgs-lib_4"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1695830400,
"narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=",
"lastModified": 1697456312,
"narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2",
"rev": "ca012a02bf8327be9e488546faecae5e05d7d749",
"type": "github"
},
"original": {
@ -89,11 +90,11 @@
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1693471703,
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
"lastModified": 1696019113,
"narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
"rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a",
"type": "github"
},
"original": {
@ -143,11 +144,11 @@
"nixpkgs-lib_4": {
"locked": {
"dir": "lib",
"lastModified": 1693471703,
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
"lastModified": 1696019113,
"narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
"rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a",
"type": "github"
},
"original": {
@ -185,7 +186,7 @@
},
"locked": {
"lastModified": 1,
"narHash": "sha256-UWrgMhmt1I9du1arlBji6l0ijm/33L1B7J3mi68n4oc=",
"narHash": "sha256-TohP8yXFcSpQzFL7evx7D1wVqvCEgmF5qtnSdaCqCso=",
"path": "pywlroots",
"type": "path"
},
@ -213,11 +214,11 @@
"qtile-src": {
"flake": false,
"locked": {
"lastModified": 1695927044,
"narHash": "sha256-Z0EpAYJu01lH1BOJXONynGZmSk7nEqmPj15JXflkGaE=",
"lastModified": 1697524288,
"narHash": "sha256-5KUPyCAyev++MWudkrEDMWTgVQTue5IdH9HMnATWuxI=",
"owner": "qtile",
"repo": "qtile",
"rev": "17f20d65920502d9e4920eae50c036984fd49a25",
"rev": "5a1af7fd65b5fb0d4afb97bb82007cf082044d73",
"type": "github"
},
"original": {
@ -232,7 +233,7 @@
"nixpkgs": "nixpkgs",
"pywlroots": "pywlroots",
"qtile-src": "qtile-src",
"scenefx": "scenefx_2"
"smartfloat": "smartfloat"
}
},
"scenefx": {
@ -268,38 +269,21 @@
"type": "github"
}
},
"scenefx-src_2": {
"flake": false,
"locked": {
"lastModified": 1691347738,
"narHash": "sha256-c/zRWz6njC3RsHzIcWpd5m7CXGprrIhKENpaQVH7Owk=",
"owner": "wlrfx",
"repo": "scenefx",
"rev": "b929a2bbadf467864796ad4ec90882ce86cfebff",
"type": "github"
},
"original": {
"owner": "wlrfx",
"repo": "scenefx",
"type": "github"
}
},
"scenefx_2": {
"smartfloat": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": [
"nixpkgs"
],
"scenefx-src": "scenefx-src_2"
]
},
"locked": {
"lastModified": 1,
"narHash": "sha256-MjNre2IVsdGHgumTqojSngsCKSZQPcri01ZikXbyTqQ=",
"path": "scenefx",
"narHash": "sha256-hKPB0q1CYMXpH2kvCs8oCmNcRRoOj1JJDECGGY2A1AU=",
"path": "smartfloat",
"type": "path"
},
"original": {
"path": "scenefx",
"path": "smartfloat",
"type": "path"
}
}

View file

@ -14,10 +14,15 @@
inputs.nixpkgs.follows = "nixpkgs";
};
scenefx = {
url = "path:scenefx";
smartfloat = {
url = "path:smartfloat";
inputs.nixpkgs.follows = "nixpkgs";
};
# scenefx = {
# url = "path:scenefx";
# inputs.nixpkgs.follows = "nixpkgs";
# };
};
outputs = inputs @ {
@ -35,9 +40,9 @@
pkgs,
system,
...
}: {
packages.qtile = with pkgs;
with pkgs.python3Packages;
}: rec {
packages.qtile-unwrapped = with pkgs;
with python3Packages;
buildPythonPackage rec {
pname = "qtile";
version = "unstable-${inputs.qtile-src.lastModifiedDate}";
@ -55,6 +60,8 @@
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
cp ${inputs'.smartfloat.packages.default} libqtile/layout/smartfloat.py
echo from libqtile.layout.smartfloat import SmartFloat >> libqtile/layout/__init__.py
'';
nativeBuildInputs = [
pkg-config
@ -82,7 +89,7 @@
libdrm
wayland
xorg.xcbutilwm
inputs'.scenefx.packages.default
# inputs'.scenefx.packages.default
(wlroots.overrideAttrs (wf: wp: {
postPatch =
wp.postPatch
@ -97,6 +104,13 @@
];
doCheck = false;
};
packages.qtile = with pkgs;
with python3Packages;
(python3.withPackages (_: [packages.qtile-unwrapped])).overrideAttrs (_: {
inherit (packages.qtile-unwrapped) pname version meta;
name = with packages.qtile-unwrapped; "${pname}-${version}";
passthru.unwrapped = packages.qtile-unwrapped;
});
};
};
}

380
flakes/qtile/smartfloat/flake.lock generated Normal file
View file

@ -0,0 +1,380 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
"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"
}
},
"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-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_4"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-parts_5": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_5"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1696193975,
"narHash": "sha256-mnQjUcYgp9Guu3RNVAB2Srr1TqKcPpRXmJf4LJk6KRY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fdd898f8f79e8d2f99ed2ab6b3751811ef683242",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1696019113,
"narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a",
"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-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-lib_4": {
"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_5": {
"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": 1695830400,
"narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1695830400,
"narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pywlroots": {
"inputs": {
"flake-parts": "flake-parts_3",
"nixpkgs": [
"qtile",
"nixpkgs"
],
"pywlroots-src": "pywlroots-src",
"scenefx": "scenefx"
},
"locked": {
"lastModified": 1,
"narHash": "sha256-UWrgMhmt1I9du1arlBji6l0ijm/33L1B7J3mi68n4oc=",
"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_2",
"pywlroots": "pywlroots",
"qtile-src": "qtile-src",
"scenefx": "scenefx_2"
},
"locked": {
"lastModified": 1,
"narHash": "sha256-rdGt6waCz54AHCuxudA/tXu+enyPSYu7uQyMsbnpxRg=",
"path": "../",
"type": "path"
},
"original": {
"path": "../",
"type": "path"
}
},
"qtile-src": {
"flake": false,
"locked": {
"lastModified": 1695927044,
"narHash": "sha256-Z0EpAYJu01lH1BOJXONynGZmSk7nEqmPj15JXflkGaE=",
"owner": "qtile",
"repo": "qtile",
"rev": "17f20d65920502d9e4920eae50c036984fd49a25",
"type": "github"
},
"original": {
"owner": "qtile",
"repo": "qtile",
"type": "github"
}
},
"root": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs",
"qtile": "qtile"
}
},
"scenefx": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": "nixpkgs_3",
"scenefx-src": "scenefx-src"
},
"locked": {
"lastModified": 1,
"narHash": "sha256-MjNre2IVsdGHgumTqojSngsCKSZQPcri01ZikXbyTqQ=",
"path": "../scenefx",
"type": "path"
},
"original": {
"path": "../scenefx",
"type": "path"
}
},
"scenefx-src": {
"flake": false,
"locked": {
"lastModified": 1691347738,
"narHash": "sha256-c/zRWz6njC3RsHzIcWpd5m7CXGprrIhKENpaQVH7Owk=",
"owner": "wlrfx",
"repo": "scenefx",
"rev": "b929a2bbadf467864796ad4ec90882ce86cfebff",
"type": "github"
},
"original": {
"owner": "wlrfx",
"repo": "scenefx",
"type": "github"
}
},
"scenefx-src_2": {
"flake": false,
"locked": {
"lastModified": 1691347738,
"narHash": "sha256-c/zRWz6njC3RsHzIcWpd5m7CXGprrIhKENpaQVH7Owk=",
"owner": "wlrfx",
"repo": "scenefx",
"rev": "b929a2bbadf467864796ad4ec90882ce86cfebff",
"type": "github"
},
"original": {
"owner": "wlrfx",
"repo": "scenefx",
"type": "github"
}
},
"scenefx_2": {
"inputs": {
"flake-parts": "flake-parts_5",
"nixpkgs": [
"qtile",
"nixpkgs"
],
"scenefx-src": "scenefx-src_2"
},
"locked": {
"lastModified": 1,
"narHash": "sha256-MjNre2IVsdGHgumTqojSngsCKSZQPcri01ZikXbyTqQ=",
"path": "scenefx",
"type": "path"
},
"original": {
"path": "scenefx",
"type": "path"
}
}
},
"root": "root",
"version": 7
}

View file

@ -0,0 +1,35 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
};
outputs = inputs @ {flake-parts, ...}:
flake-parts.lib.mkFlake {inherit inputs;} {
systems = ["x86_64-linux"];
perSystem = {
config,
self',
inputs',
pkgs,
system,
...
}: {
packages.default = with pkgs;
stdenv.mkDerivation rec {
pname = "smartfloat";
version = "0.1.0";
src = builtins.path {
name = "smartfloat";
path = ./smartfloat.py;
sha256 = "62fe831a0e4d2e02fee85928f844992418d1a94a8eacd5336f1e51d4490adb31";
};
unpackPhase = ''
cp $src $out
'';
};
};
};
}

View file

@ -0,0 +1,108 @@
from __future__ import annotations
from typing import TYPE_CHECKING
from libqtile.backend.base import Window
from libqtile.config import ScreenRect
from libqtile.layout.base import Layout
from typing import List
class SmartWindow:
def __init__(self, payload, x: int, y: int, w: int, h: int) -> None:
self.payload = payload
self.x: int = x
self.y: int = y
self.w: int = w
self.h: int = h
def intersect(self, window) -> bool:
return \
abs((self.x + self.w/2) - (window.x + window.w/2)) * 2 \
< (self.w + window.w) and \
abs((self.y + self.h/2) - (window.y + window.h/2)) * 2 \
< (self.h + window.h)
def __repr__(self):
return "<SmartWindow containing" + \
f"{self.payload} at {self.x}, {self.y}, {self.w}, {self.h}>"
class SmartFloat(Layout):
defaults = [
('name', 'SmartFloat', 'Layout name'),
]
def __init__(self, **config) -> None:
Layout.__init__(self, **config)
self.add_defaults(SmartFloat.defaults)
self.windows: List[SmartWindow] = []
self.dims: ScreenRect | None = None
self.focused: Window | None = None
def find_window(self, client: Window) -> SmartWindow | None:
for window in self.windows:
if window.payload == client:
return window
return None
def add_client(self, client: Window) -> None:
self.windows.append(SmartWindow(client, 0, 0, 600, 600))
def remove(self, client: Window) -> None:
window = self.find_window(client)
if window:
self.windows.remove(window)
def configure(self, client: Window, screen_rect: ScreenRect) -> None:
self.dims = screen_rect
window = self.find_window(client)
if not window:
return
if len(self.windows) == 1:
window.x = screen_rect.x + screen_rect.width // 3
window.y = screen_rect.y + screen_rect.height // 3
window.w = screen_rect.width // 2
window.h = screen_rect.height // 2
# else:
# for other_window in self.windows:
# if not other_window == window and window.intersect(other_window):
# diff_x = window.x - other_window.x
# diff_y = window.y - other_window.y
client.place(
window.x,
window.y,
window.w,
window.h,
self.border_width,
getattr(self, "border_" + "focus" if client.has_focus else "normal"),
above=True
)
client.unhide()
@abstract_method
def focus_first(self):
return None
@abstract_method
def focus_last(self):
return None
@abstract_method
def focus_next(self):
return None
@abstract_method
def focus_previous(self):
return None
@abstract_method
def next(self):
return None
@abstract_method
def previous(self):
return None

View file

@ -1 +0,0 @@
/nix/store/dn5wzc9a8hrpml66i6kz5f3q6dr3jjmk-source

View file

@ -1 +0,0 @@
/nix/store/p7iz0r8gs6ppkhj83zjmwyd21k8b7v3y-source

View file

@ -1 +1 @@
/nix/store/ipg70lcppm6g4xs075am8pgihccvg3sr-nix-shell-env
/nix/store/vayk34n0cv7ixciw4jvwkhg1jj1433l2-nix-shell-env

File diff suppressed because one or more lines are too long

View file

@ -14,6 +14,8 @@ from libqtile.backend import base
from libqtile.lazy import lazy
from libqtile.config import Key, Match, Screen, Click, Drag, Group, ScratchPad, DropDown
# from smartfloat import SmartFloat
# import qtile_extras.widget as extra_widgets
assert qtile is not None
@ -37,7 +39,7 @@ class Apps:
fm = "thunar"
logout = "wlogout"
noti = "swaync-client -t"
ss = ["slurp |", "grim", "-g -", "-t png ~/screenshots/$(date +%F_%H-%m-%S).png"]
ss = "slurp | grim -g - -t png /home/bolt/screenshots/$(date +%F_%H-%m-%S).png"
screenrec = "kooha"
passmgr = "keepassxc"
music = "strawberry"
@ -54,7 +56,6 @@ class OSD:
brightup = "swayosd --brightness raise"
brightdown = "swayosd --brightness lower"
keys = [
Key([mod], "return", lazy.spawn(Apps.term)),
Key([mod], "d", lazy.spawn(Apps.launcher)),
@ -62,7 +63,7 @@ keys = [
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([mod, "shift"], "s", lazy.spawn(Apps.ss, shell=True)),
Key([mod, "control", "shift"], "s", lazy.spawn(Apps.screenrec)),
Key([], "XF86AudioMute", lazy.spawn(OSD.mute)),
Key([], "XF86AudioRaiseVolume", lazy.spawn(OSD.vol_up)),
@ -74,6 +75,8 @@ keys = [
Key([], "XF86MonBrightnessUp", lazy.spawn(OSD.brightup)),
Key([], "XF86MonBrightnessDown", lazy.spawn(OSD.brightdown)),
Key([mod, "shift"], "q", lazy.window.kill()),
Key([mod], "c", lazy.window.center()),
Key([mod], "s", lazy.layout.toggle_split()),
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"),
@ -100,6 +103,7 @@ keys = [
Key([mod], "Tab", lazy.next_layout()),
]
groups = [Group(i) for i in "123456"]
@ -144,7 +148,8 @@ layout_theme = dict(
layouts = [
layout.Bsp(fair=False, border_on_single=True, **layout_theme),
layout.Floating(**layout_theme),
layout.TreeTab(**layout_theme),
# layout.SmartFloat(**layout_theme),
]
widget_defaults = dict(
@ -207,7 +212,23 @@ def float_firefox(client):
def fullscreen_wlogout(client):
if client.name == "wlogout":
client.enable_fullscreen()
@hook.subscribe.focus_change
def always_front():
win = qtile.current_window
if win is not None and win.floating:
win.bring_to_front()
@hook.subscribe.float_change
def centre_floated():
win = qtile.current_window
if win is not None and win.floating:
win.bring_to_front()
info = qtile.current_screen.info()
width, height = ((info['width']//4)*3, (info['height']//6)*5)
win.set_size_floating(width, height)
win.center()
# @hook.subscribe.client_new
# def round_and_transparent(client):
# logger.warning(client)
@ -216,3 +237,4 @@ def fullscreen_wlogout(client):
# logger.warning(client.opacity)
# client.rounding = 8
# client.opacity = 0.85

View file

@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1695559356,
"narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=",
"lastModified": 1697583813,
"narHash": "sha256-SRXK2EBMZHlOAs/5bjphhX9XnIKR6peTV6i7yoL6/Lg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0",
"rev": "b5f8ec6be261dfc44c3b56b220e2793d1b61512b",
"type": "github"
},
"original": {
@ -18,11 +18,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1695318763,
"narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=",
"lastModified": 1697379843,
"narHash": "sha256-RcnGuJgC2K/UpTy+d32piEoBXq2M+nVFzM3ah/ZdJzg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e12483116b3b51a185a33a272bf351e357ba9a99",
"rev": "12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d",
"type": "github"
},
"original": {

View file

@ -27,8 +27,8 @@
black
pydantic
coconut
stable.python3Packages.qtile-extras
stable.python3Packages.qtile
python3Packages.qtile-extras
python3Packages.qtile
];
};
}

View file

@ -30,7 +30,10 @@ in {
strawberry
inkscape
xfce.thunar
feh
xfce.thunar-archive-plugin
xfce.thunar-volman
xfce.thunar-media-tags-plugin
imv
zathura
@ -51,7 +54,6 @@ in {
playerctl
kooha
nyxt
xorg.xrdb
culr

View file

@ -17,6 +17,7 @@
outputs.overlays.rice
inputs.helix.overlays.default
inputs.nixd.overlays.default
inputs.nix-ld-rs.overlays.default
# inputs.eww.overlays.default
];
config = {
@ -181,6 +182,11 @@
services.mullvad-vpn.enable = true;
programs.nix-ld = {
enable = true;
package = pkgs.nix-ld-rs;
};
networking.firewall.enable = true;
networking.firewall = {
# trustedInterfaces = ["tailscale0"];