Compare commits

..

3 commits

Author SHA1 Message Date
chayleaf cc4ae20674
server: minor performance tuning 2024-08-23 10:48:53 +07:00
chayleaf 8f19644b3e
update inputs 2024-08-23 10:42:20 +07:00
chayleaf ff493a9ed9
Revert "server: temporarily switch to newer kernel"
This reverts commit 449f873faa.
2024-08-23 10:42:18 +07:00
33 changed files with 496 additions and 88857 deletions

View file

@ -20,11 +20,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718371084, "lastModified": 1723293904,
"narHash": "sha256-abpBi61mg0g+lFFU0zY4C6oP6fBwPzbHPKBGw676xsA=", "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "3a56735779db467538fb2e577eda28a9daacaca6", "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -65,15 +65,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719797756, "lastModified": 1722902027,
"narHash": "sha256-TGZthxgxLdT8boadFm6+MK7HZlIxN1u1V+x3hu+Fd8I=", "narHash": "sha256-STgis1RRrrerOrI/l7bBeJS8HR3ZHlsAhZ4NXO1eIi0=",
"owner": "nix-community", "owner": "qowoz",
"repo": "buildbot-nix", "repo": "buildbot-nix",
"rev": "0b56574a5c823097771487d1bac952c3549fe9fb", "rev": "f43d4ee9e3325a486928ddc3d04956844b3baf56",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "qowoz",
"ref": "skipped-build-workers",
"repo": "buildbot-nix", "repo": "buildbot-nix",
"type": "github" "type": "github"
} }
@ -109,11 +110,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718936559, "lastModified": 1718998007,
"narHash": "sha256-/wQ/mLp65bRgv42V8c86SKxr8jLLwinh3WVS0k93vq0=", "narHash": "sha256-2ByOTMmdtoD5CDVq5O/VFdz2u9xLtk5z3NpFsWOmIyA=",
"owner": "chayleaf", "owner": "chayleaf",
"repo": "coop-fd", "repo": "coop-fd",
"rev": "d493b50550988a5a07421248102ebfdf68f4a046", "rev": "f71ac2a8a62cc53896a2c0d6649c1451e86f8135",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -172,11 +173,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719733833, "lastModified": 1723426710,
"narHash": "sha256-6h2EqZU9bL9rHlXE+2LCBgnDImejzbS+4dYsNDDFlkY=", "narHash": "sha256-yrS9al6l3fYfFfvovnyBWnyELDQOdfKyai4K/jKgoBw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "d185770ea261fb5cf81aa5ad1791b93a7834d12c", "rev": "0d510fe40b56ed74907a021d7e1ffd0042592914",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -271,11 +272,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719745305, "lastModified": 1722555600,
"narHash": "sha256-xwgjVUpqSviudEkpQnioeez1Uo2wzrsMaJKJClh+Bls=", "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "c3c5ecc05edc7dafba779c6c1a61cd08ac6583e9", "rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -289,11 +290,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1717285511, "lastModified": 1722555600,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -304,7 +305,7 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1710146030,
@ -320,24 +321,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -360,11 +343,11 @@
}, },
"impermanence": { "impermanence": {
"locked": { "locked": {
"lastModified": 1708968331, "lastModified": 1719091691,
"narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=", "narHash": "sha256-AxaLX5cBEcGtE02PeGsfscSb/fWMnyS7zMWBXQWDKbE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "impermanence", "repo": "impermanence",
"rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30", "rev": "23c1f06316b67cb5dabdfe2973da3785cfe9c34a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -410,11 +393,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1719876004, "lastModified": 1723586765,
"narHash": "sha256-YIGAUeEVgJ/Qpn+YUoyR9HjV6j01W+5vOKRYpqsx+gw=", "narHash": "sha256-2YtIQm1DOph5fXkEySRdKAYSiWJK8ztc1NxoUnjvfSs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "infra", "repo": "infra",
"rev": "766a23a468858d2413f12bec828860158abaadf1", "rev": "177e5a2fbfeb70bbf86d7ca7efdfd5d1870678db",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -431,11 +414,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719128254, "lastModified": 1722924007,
"narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=", "narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=",
"owner": "LnL7", "owner": "LnL7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "50581970f37f06a4719001735828519925ef8310", "rev": "91010a5613ffd7ee23ee9263213157a1c422b705",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -449,14 +432,15 @@
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ],
"umu": "umu"
}, },
"locked": { "locked": {
"lastModified": 1717896375, "lastModified": 1723425928,
"narHash": "sha256-qI8f1XSFo1X29+RSVmYo5hDAMKKULnpmIZbRl77u21A=", "narHash": "sha256-BFj0H0h3+hTCTsHTMCzmO7hQL3ym2MTgIdQe1SN1wPw=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "6ed58348c20bab127555a3645e832591d2611f0c", "rev": "cd19f284c40ce697db66314d0b7d29e41d47eb6b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -472,11 +456,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1717919703, "lastModified": 1723352546,
"narHash": "sha256-4i/c31+dnpv6KdUA3BhbMDS9Lvg/CDin78caYJlq0bY=", "narHash": "sha256-WTIrvp0yV8ODd6lxAq4F7EbrPQv0gscBnyfn559c3k8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "a157a81d0a4bc909b2b6666dd71909bcdc8cd0d6", "rev": "ec78079a904d7d55e81a0468d764d0fffb50ac06",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -487,11 +471,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1717828156, "lastModified": 1723310128,
"narHash": "sha256-YvstO0lobf3JWQuAfZCLYRTROC2ZDEgtWeQtWbO49p4=", "narHash": "sha256-IiH8jG6PpR4h9TxSGMYh+2/gQiJW9MwehFvheSb5rPc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "057a7996d012f342a38a26261ee529cebb1755ef", "rev": "c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -507,14 +491,16 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"utils": "utils" "nixpkgs-24_05": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1717515088, "lastModified": 1722877200,
"narHash": "sha256-nWOLpPA7+k7V1OjXTuxdsVd5jeeI0b13Di57wvnqkic=", "narHash": "sha256-qgKDNJXs+od+1UbRy62uk7dYal3h98I4WojfIqMoGcg=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "0d51a32e4799d081f260eb4db37145f5f4ee7456", "rev": "af7d3bf5daeba3fc28089b015c0dd43f06b176f2",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -530,11 +516,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1720913908, "lastModified": 1721190060,
"narHash": "sha256-AZ0AcL1ze6gS8EmwRpuR04MXCLb/NDLjp9n+Gs4IhFQ=", "narHash": "sha256-vWymGrTWE5tpzDMuVRRMNh7nQRYY4sTs8xYfG6Yeqk4=",
"owner": "chayleaf", "owner": "chayleaf",
"repo": "nixos-router", "repo": "nixos-router",
"rev": "38088dc1745350db709e9f2cf777979b5217f671", "rev": "4c8feecbd2c569bc511781a492b37dc6e5c29669",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -545,11 +531,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1719824438, "lastModified": 1723316219,
"narHash": "sha256-pY0wosAgcr9W4vmGML0T3BVhQiGuKoozCbs2t+Je1zc=", "narHash": "sha256-2B9qh8QBvw3kV/8cHc7ZJcrbVsRwP8wKjkwPXTSz76Y=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7f993cdf26ccef564eabf31fdb40d140821e12bc", "rev": "bef98989a27429e1cb9e3d9c25701ba2da742af2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -560,22 +546,6 @@
} }
}, },
"nixpkgs-kernel": { "nixpkgs-kernel": {
"locked": {
"lastModified": 1717974879,
"narHash": "sha256-GTO3C88+5DX171F/gVS3Qga/hOs/eRMxPFpiHq2t+D8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c7b821ba2e1e635ba5a76d299af62821cbcb09f3",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c7b821ba2e1e635ba5a76d299af62821cbcb09f3",
"type": "github"
}
},
"nixpkgs-kernel2": {
"locked": { "locked": {
"lastModified": 1723362943, "lastModified": 1723362943,
"narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", "narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=",
@ -586,21 +556,21 @@
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a58bc8ad779655e790115244571758e8de055e3d",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1717284937, "lastModified": 1722555339,
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
} }
}, },
"nixpkgs-update": { "nixpkgs-update": {
@ -620,11 +590,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719362107, "lastModified": 1722969327,
"narHash": "sha256-Vrd+Y3odIIXjlUwSDOjyrhf6V4svB5njtGH9i0NJIxc=", "narHash": "sha256-P8g6kDgZYMwxqmp8FRRZOwwBjkT4ILifvXV0fOz9ofY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs-update", "repo": "nixpkgs-update",
"rev": "d49fec1752e0bcb69f156a86ba5b93e14aaca2c3", "rev": "503f7b0d94b6eb780a51823972e6ab0204b0a137",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -665,15 +635,16 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1720888318, "lastModified": 1723686439,
"narHash": "sha256-s5Pf3Es1reWTvHiz0YNuVknH/0RGo2vu+8MyeKT7VWo=", "narHash": "sha256-sgHQqIDtHQUivF5vqa+k4iwbc/cx8F6x6IvXTlNd4Pg=",
"owner": "chayleaf", "owner": "chayleaf",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "81b52fd15be6a3331668cc7bbaab4aec7c654472", "rev": "43a0d4fefbfb1a9bc2f109769610038fcfae5ea0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "chayleaf", "owner": "chayleaf",
"ref": "ci",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -720,11 +691,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1717921035, "lastModified": 1723664702,
"narHash": "sha256-TxZv3M3M2EromaaJCbRKWWjrnk9DSeJ139K4DkJlhAg=", "narHash": "sha256-ErRJ3oUHFOzUXoDAzws/h5u7c6dCExETjmm5uIFL/QY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "02f829e2432d4204370445272084ce22761ba4bc", "rev": "7bcbb0362c92f230ba4a2c5ad227e04f84fc1ce0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -790,7 +761,6 @@
"nixos-router": "nixos-router", "nixos-router": "nixos-router",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nixpkgs-kernel": "nixpkgs-kernel", "nixpkgs-kernel": "nixpkgs-kernel",
"nixpkgs-kernel2": "nixpkgs-kernel2",
"notlua": "notlua", "notlua": "notlua",
"notnft": "notnft", "notnft": "notnft",
"nur": "nur", "nur": "nur",
@ -801,17 +771,16 @@
}, },
"rust-overlay": { "rust-overlay": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1717899611, "lastModified": 1723602049,
"narHash": "sha256-9Z95F8lnY/5sOf7Z4IdABKz1ulB0ueNrZU864rQj280=", "narHash": "sha256-Z/noCSn9WPkv7O77dWKLcBxe4Ub4bWyNzsL5JhjaQfw=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "1f536afad5c18ea4ae6bb592c3fef038e1e33568", "rev": "ea0bf33a11a26a62c60123c49d96011da396602c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -832,11 +801,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719716556, "lastModified": 1722897572,
"narHash": "sha256-KA9gy2Wkv76s4A8eLnOcdKVTygewbw3xsB8+awNMyqs=", "narHash": "sha256-3m/iyyjCdRBF8xyehf59QlckIcmShyTesymSb+N4Ap4=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "b5974d4331fb6c893e808977a2e1a6d34b3162d6", "rev": "8ae477955dfd9cbf5fa4eb82a8db8ddbb94e79d9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -853,11 +822,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719835186, "lastModified": 1723423676,
"narHash": "sha256-o0FB8SQVLOnbsYTk2Bt6gXwsfqEv4ZHsGP50/kM/gR0=", "narHash": "sha256-E+DdXV2cFj77vU35cVNoEEE5YueE075HXiJLXwAxJ0k=",
"owner": "nix-community", "owner": "nix-community",
"repo": "srvos", "repo": "srvos",
"rev": "14b3b0aa48fa291f1be26ab8948d5b9eadaed0b8", "rev": "a7cc81cd76c4c07bb7db01b731199ecd4be17305",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -896,36 +865,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"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"
}
},
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -934,11 +873,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719749022, "lastModified": 1723402464,
"narHash": "sha256-ddPKHcqaKCIFSFc/cvxS14goUhCOAwsM1PbMr0ZtHMg=", "narHash": "sha256-xjunKUFQs9D7u0TpVoXhrRYb4tbVkutRoFUHj0lEydE=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "8df5ff62195d4e67e2264df0b7f5e8c9995fd0bd", "rev": "c9f97032be6816fa234f24803b8ae79dc7753a91",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -947,6 +886,31 @@
"type": "github" "type": "github"
} }
}, },
"umu": {
"inputs": {
"nixpkgs": [
"nix-gaming",
"nixpkgs"
]
},
"locked": {
"dir": "packaging/nix",
"lastModified": 1723319758,
"narHash": "sha256-4WYwxNzH/95Vj0IqR2xh4gyiSn8H9bGnBECFWy4vjIk=",
"ref": "refs/heads/main",
"rev": "74656e9da4008f75f3b1d136dbaf1172bf6c232f",
"revCount": 697,
"submodules": true,
"type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
},
"original": {
"dir": "packaging/nix",
"submodules": true,
"type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
}
},
"unbound-rust-mod": { "unbound-rust-mod": {
"inputs": { "inputs": {
"crane": "crane_2", "crane": "crane_2",
@ -967,24 +931,6 @@
"repo": "unbound-rust-mod", "repo": "unbound-rust-mod",
"type": "github" "type": "github"
} }
},
"utils": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1709126324,
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -3,9 +3,8 @@
inputs = { inputs = {
nix-community-infra.url = "github:nix-community/infra"; nix-community-infra.url = "github:nix-community/infra";
nixpkgs-kernel.url = "github:NixOS/nixpkgs/c7b821ba2e1e635ba5a76d299af62821cbcb09f3"; nixpkgs-kernel.url = "github:NixOS/nixpkgs/a58bc8ad779655e790115244571758e8de055e3d";
nixpkgs-kernel2.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:chayleaf/nixpkgs/ci";
nixpkgs.url = "github:chayleaf/nixpkgs";
nixos-hardware.url = "github:NixOS/nixos-hardware"; nixos-hardware.url = "github:NixOS/nixos-hardware";
nix-index-database = { nix-index-database = {
url = "github:nix-community/nix-index-database"; url = "github:nix-community/nix-index-database";
@ -52,6 +51,7 @@
nixos-mailserver = { nixos-mailserver = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-24_05.follows = "nixpkgs";
}; };
unbound-rust-mod = { unbound-rust-mod = {
url = "github:chayleaf/unbound-rust-mod"; url = "github:chayleaf/unbound-rust-mod";
@ -206,7 +206,6 @@
({ config, ... }: { ({ config, ... }: {
_module.args = { _module.args = {
pkgs-kernel = import inputs.nixpkgs-kernel { inherit (args) system; overlays = all-overlays ++ config.nixpkgs.overlays; }; pkgs-kernel = import inputs.nixpkgs-kernel { inherit (args) system; overlays = all-overlays ++ config.nixpkgs.overlays; };
pkgs-kernel2 = import inputs.nixpkgs-kernel2 { inherit (args) system; overlays = all-overlays ++ config.nixpkgs.overlays; };
}; };
}) })
(getPrivSys hostname) (getPrivSys hostname)

View file

@ -55,6 +55,7 @@
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS = "-C link-arg=--ld-path=${pkgs.mold}/bin/mold"; CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS = "-C link-arg=--ld-path=${pkgs.mold}/bin/mold";
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
firefox-devedition
anki-bin anki-bin
(gimp.overrideAttrs (old: { doCheck = false; })) krita blender-hip (gimp.overrideAttrs (old: { doCheck = false; })) krita blender-hip
kdenlive glaxnimate mediainfo kdenlive glaxnimate mediainfo

View file

@ -187,10 +187,11 @@
input-default-bindings = false; input-default-bindings = false;
}; };
# profiles = { }; # profiles = { };
package = pkgs.wrapMpv (pkgs.mpv-unwrapped.override { package = pkgs.mpv-unwrapped.wrapper {
mpv = pkgs.mpv-unwrapped.override {
# many features aren't supported by normal ffmpeg # many features aren't supported by normal ffmpeg
ffmpeg = pkgs.ffmpeg-full; ffmpeg = pkgs.ffmpeg-full;
}) { };
scripts = with pkgs.mpvScripts; [ scripts = with pkgs.mpvScripts; [
thumbnail thumbnail
mpris mpris

View file

@ -116,7 +116,7 @@ commonConfig = {
${pkgs.procps}/bin/pkill -x home-daemon ${pkgs.procps}/bin/pkill -x home-daemon
${pkgs.home-daemon}/bin/home-daemon system76-scheduler ${lib.optionalString (!config.phone.enable) "empty-sound"}& ${pkgs.home-daemon}/bin/home-daemon system76-scheduler ${lib.optionalString (!config.phone.enable) "empty-sound"}&
${pkgs.procps}/bin/pkill -x keepassxc ${pkgs.procps}/bin/pkill -x keepassxc
${pkgs.gnome.zenity}/bin/zenity --password | (${pkgs.keepassxc}/bin/keepassxc --pw-stdin ~/var/local.kdbx &) ${pkgs.zenity}/bin/zenity --password | (${pkgs.keepassxc}/bin/keepassxc --pw-stdin ~/var/local.kdbx &)
# sleep to give keepassxc time to take the input # sleep to give keepassxc time to take the input
sleep 1 sleep 1
# nextcloud and nheko need secret service access # nextcloud and nheko need secret service access
@ -292,8 +292,9 @@ in
${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL XCURSOR_THEME XCURSOR_SIZE || true ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL XCURSOR_THEME XCURSOR_SIZE || true
/run/current-system/sw/bin/systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL XCURSOR_THEME XCURSOR_SIZE || true /run/current-system/sw/bin/systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL XCURSOR_THEME XCURSOR_SIZE || true
/run/current-system/sw/bin/systemctl --user start xdg-desktop-portal-gtk.service || true /run/current-system/sw/bin/systemctl --user start xdg-desktop-portal-gtk.service || true
${pkgs.procps}/bin/pgrep -f run-waybar | ${pkgs.gnugrep}/bin/grep -v "$$" | xargs kill
while true; do while true; do
${config.programs.waybar.package}/bin/waybar > ~/var/waybar.log 2>&1 ${config.programs.waybar.package}/bin/waybar "$@" > ~/var/waybar.log 2>&1
sleep 5 || true sleep 5 || true
done done
''); '');

View file

@ -16,10 +16,8 @@
programs.neovim = let programs.neovim = let
notlua-nvim = notlua.neovim { inherit (config.programs.neovim) plugins extraLuaPackages; }; notlua-nvim = notlua.neovim { inherit (config.programs.neovim) plugins extraLuaPackages; };
inherit (notlua.keywords) inherit (notlua.keywords)
AND APPLY CALL DEFUN AND APPLY CALL DEFUN ELSE EQ GE IDX IF
ELSE EQ GE IDX IF LE LET LETREC MERGE OR PROP RETURN SET;
LE LET LETREC OR
PROP RETURN SET;
inherit (notlua.utils) compile; inherit (notlua.utils) compile;
inherit (notlua-nvim.stdlib) vim string require print; inherit (notlua-nvim.stdlib) vim string require print;
inherit (notlua-nvim.keywords) REQ REQ'; inherit (notlua-nvim.keywords) REQ REQ';
@ -54,7 +52,14 @@
in (lib.mapAttrsToList (k: {rhs, desc}: keymapSetSingle (opts' // { in (lib.mapAttrsToList (k: {rhs, desc}: keymapSetSingle (opts' // {
lhs = k; inherit rhs; lhs = k; inherit rhs;
})) keys) ++ [ })) keys) ++ [
(which-key.register (lib.mapAttrs (k: v: [v.rhs v.desc]) keys) opts') (which-key.add (MERGE
({
inherit mode;
remap = !noremap;
} // builtins.removeAttrs opts ["keys" "noremap"])
(lib.mapAttrsToList (k: v: (MERGE [ k v.rhs ] { inherit (v) desc; })) keys)
) null)
# (which-key.register (lib.mapAttrs (k: v: [v.rhs v.desc]) keys) opts')
]; ];
keymapSetNs = args: keymapSetMulti (args // { mode = "n"; }); keymapSetNs = args: keymapSetMulti (args // { mode = "n"; });
kmSetNs = keys: keymapSetNs { inherit keys; }; kmSetNs = keys: keymapSetNs { inherit keys; };
@ -159,7 +164,7 @@
ps.vim-svelte ps.vim-svelte
# vim-nix isn't necessary for syntax highlighting, but it improves overall editing experience # vim-nix isn't necessary for syntax highlighting, but it improves overall editing experience
ps.vim-nix ps.vim-nix
{ plugin = pkgs.vimUtils.buildVimPluginFrom2Nix { { plugin = pkgs.vimUtils.buildVimPlugin {
pname = "vscode-nvim"; pname = "vscode-nvim";
version = "2023-02-10"; version = "2023-02-10";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {

View file

@ -20,9 +20,15 @@
}; };
});*/ });*/
settings = let settings = let
layer = if config.phone.enable then "overlay" else "top"; layer = "bottom";
in lib.optionals config.phone.enable [ in lib.optionals config.phone.enable [
{ {
modes.dock = {
inherit layer;
exclusive = true;
passthrough = false;
visible = true;
};
inherit layer; inherit layer;
position = "top"; position = "top";
ipc = true; ipc = true;
@ -40,6 +46,12 @@
modules-right = [ "clock" ]; modules-right = [ "clock" ];
} }
] ++ lib.toList { ] ++ lib.toList {
modes.dock = {
inherit layer;
exclusive = true;
passthrough = false;
visible = true;
};
inherit layer; inherit layer;
position = "top"; position = "top";
ipc = true; ipc = true;
@ -171,7 +183,13 @@
}; };
} ++ lib.optionals config.phone.enable [ } ++ lib.optionals config.phone.enable [
{ {
inherit layer; modes.dock = {
layer = "overlay";
exclusive = true;
passthrough = false;
visible = true;
};
layer = "overlay";
position = "bottom"; position = "bottom";
ipc = true; ipc = true;
height = 80; height = 80;

View file

@ -22,24 +22,24 @@
"pinned": false, "pinned": false,
"src": { "src": {
"name": null, "name": null,
"sha256": "sha256-4jh3mDm1GpR9tQBkzx9BRsJ5awNrBgRzylyRB04LqIE=", "sha256": "sha256-vpr4DVWI7TZWb+roijpX5kJRPOJT4wZhT/ZnRrkgZKI=",
"type": "url", "type": "url",
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-7/GE-Proton9-7.tar.gz" "url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-11/GE-Proton9-11.tar.gz"
}, },
"version": "GE-Proton9-7" "version": "GE-Proton9-11"
}, },
"searxng": { "searxng": {
"cargoLocks": null, "cargoLocks": null,
"date": "2024-06-07", "date": "2024-08-09",
"extract": null, "extract": null,
"name": "searxng", "name": "searxng",
"passthru": null, "passthru": null,
"pinned": false, "pinned": false,
"src": { "src": {
"sha256": "sha256-WWbpfZZei3kOdN607/J2M1oSzbPZKaLbsU5gO2kIc90=", "sha256": "sha256-2QetT4xLlyKAC/eiIhShYRMRwFU9dJm6Ah5wS84Rgf8=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/searxng/searxng/archive/f5eb56b63f250c7804e5e1cf4426e550bc933906.tar.gz" "url": "https://github.com/searxng/searxng/archive/f1c05e7c16e59a8d5d98640bc057958ea268cddf.tar.gz"
}, },
"version": "f5eb56b63f250c7804e5e1cf4426e550bc933906" "version": "f1c05e7c16e59a8d5d98640bc057958ea268cddf"
} }
} }

View file

@ -12,19 +12,19 @@
}; };
proton-ge = { proton-ge = {
pname = "proton-ge"; pname = "proton-ge";
version = "GE-Proton9-7"; version = "GE-Proton9-11";
src = fetchurl { src = fetchurl {
url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-7/GE-Proton9-7.tar.gz"; url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-11/GE-Proton9-11.tar.gz";
sha256 = "sha256-4jh3mDm1GpR9tQBkzx9BRsJ5awNrBgRzylyRB04LqIE="; sha256 = "sha256-vpr4DVWI7TZWb+roijpX5kJRPOJT4wZhT/ZnRrkgZKI=";
}; };
}; };
searxng = { searxng = {
pname = "searxng"; pname = "searxng";
version = "f5eb56b63f250c7804e5e1cf4426e550bc933906"; version = "f1c05e7c16e59a8d5d98640bc057958ea268cddf";
src = fetchTarball { src = fetchTarball {
url = "https://github.com/searxng/searxng/archive/f5eb56b63f250c7804e5e1cf4426e550bc933906.tar.gz"; url = "https://github.com/searxng/searxng/archive/f1c05e7c16e59a8d5d98640bc057958ea268cddf.tar.gz";
sha256 = "sha256-WWbpfZZei3kOdN607/J2M1oSzbPZKaLbsU5gO2kIc90="; sha256 = "sha256-2QetT4xLlyKAC/eiIhShYRMRwFU9dJm6Ah5wS84Rgf8=";
}; };
date = "2024-06-07"; date = "2024-08-09";
}; };
} }

View file

@ -23,10 +23,10 @@
}; };
"rikaitan" = buildFirefoxXpiAddon { "rikaitan" = buildFirefoxXpiAddon {
pname = "rikaitan"; pname = "rikaitan";
version = "24.5.21.0"; version = "24.7.31.0";
addonId = "tatsu@autistici.org"; addonId = "tatsu@autistici.org";
url = "https://addons.mozilla.org/firefox/downloads/file/4291845/rikaitan-24.5.21.0.xpi"; url = "https://addons.mozilla.org/firefox/downloads/file/4337076/rikaitan-24.7.31.0.xpi";
sha256 = "a2a94d88af04023f14daaafda1f6ca7a7197f2ab92ada08ee2e9e4292d57a391"; sha256 = "be4b8484221aa8eb4348d1880de988d6f19f3b9ca53deda3fca657dfa2ce3108";
meta = with lib; meta = with lib;
{ {
homepage = "https://github.com/Ajatt-Tools/rikaitan"; homepage = "https://github.com/Ajatt-Tools/rikaitan";
@ -38,6 +38,7 @@
"unlimitedStorage" "unlimitedStorage"
"declarativeNetRequest" "declarativeNetRequest"
"scripting" "scripting"
"contextMenus"
"http://*/*" "http://*/*"
"https://*/*" "https://*/*"
"file://*/*" "file://*/*"

View file

@ -29,6 +29,9 @@
, alsa-lib , alsa-lib
, glib , glib
, glib-networking , glib-networking
, libiff
, libilbm
, cfitsio
}: }:
let let
@ -36,20 +39,17 @@ let
pygobject3 pygobject3
]); ]);
in gimp.overrideAttrs (old: rec { in gimp.overrideAttrs (old: rec {
version = "2_99_16+date=2023-07-05"; version = "2_99_18+date=2024-02-18";
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "GNOME"; owner = "GNOME";
repo = "gimp"; repo = "gimp";
rev = "d3c5536ac85bb84e1beaba68aea12cf28062e08c"; rev = "f94c4cb5dbf9766b27ecb5016b7a39497cc74ddc";
hash = "sha256-ZKCZXt+8Jj9sETezlOXY17Kr2DeFc6O6zh97XCjfhiE="; hash = "sha256-rQd/EwGk6AFQ4dQCx2Jys60mcDvaLSkXeVsrjTJw8wg=";
}; };
patches = [ patches = [
(substituteAll { (substituteAll {
src = fetchpatch { src = ./hardcode-plugin-interpreters.patch;
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/86947c8f83a3bd593eefb8e5f433f0d045c3d9a7/pkgs/applications/graphics/gimp/hardcode-plugin-interpreters.patch";
hash = "sha256-uk4u+WK+p3U0NyCVa2Ua+o2nLaHZzo0jP3muGPu55ak=";
};
python_interpreter = python.interpreter; python_interpreter = python.interpreter;
}) })
(substituteAll { (substituteAll {
@ -64,6 +64,7 @@ in gimp.overrideAttrs (old: rec {
hash = "sha256-8jqQmfbOARMPNIsBfNKpMIeK4dXoAme7rUJeQZwh4PM="; hash = "sha256-8jqQmfbOARMPNIsBfNKpMIeK4dXoAme7rUJeQZwh4PM=";
}) })
./floating-paste.patch ./floating-paste.patch
./fix-docs.patch
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
@ -92,15 +93,17 @@ in gimp.overrideAttrs (old: rec {
(luajit.withPackages (ps: [ ps.lgi ])) (luajit.withPackages (ps: [ ps.lgi ]))
alsa-lib alsa-lib
gjs gjs
libiff
libilbm
cfitsio
]; ];
configureFlags = []; configureFlags = [ ];
mesonFlags = [ mesonFlags = [
"-Dbug-report-url=https://github.com/NixOS/nixpkgs/issues/new" "-Dbug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
"-Dicc-directory=/run/current-system/sw/share/color/icc" "-Dicc-directory=/run/current-system/sw/share/color/icc"
"-Dcheck-update=no" "-Dcheck-update=no"
"-Dappdata-test=disabled" "-Dappdata-test=disabled"
]; ];
enableParallelBuilding = false;
env = old.env // { GIO_EXTRA_MODULES = "${glib-networking}/lib/gio/modules"; }; env = old.env // { GIO_EXTRA_MODULES = "${glib-networking}/lib/gio/modules"; };
preConfigure = ""; preConfigure = "";
postPatch = '' postPatch = ''
@ -123,7 +126,7 @@ in gimp.overrideAttrs (old: rec {
meson test --timeout-multiplier 4 --print-errorlogs meson test --timeout-multiplier 4 --print-errorlogs
runHook postCheck runHook postCheck
''; '';
doCheck = false;
preFixup = '' preFixup = ''
gappsWrapperArgs+=(\ gappsWrapperArgs+=(\
--prefix PATH : "${lib.makeBinPath [ graphviz ]}:$out/bin" \ --prefix PATH : "${lib.makeBinPath [ graphviz ]}:$out/bin" \

24
pkgs/gimp/fix-docs.patch Normal file
View file

@ -0,0 +1,24 @@
diff --git a/devel-docs/reference/gimp-ui/meson.build b/devel-docs/reference/gimp-ui/meson.build
index 89fd608..4be5ce6 100644
--- a/devel-docs/reference/gimp-ui/meson.build
+++ b/devel-docs/reference/gimp-ui/meson.build
@@ -19,7 +19,6 @@ gimp_ui_docs = custom_target('gimp-ui-docs',
gi_docgen,
'generate',
'--quiet',
- '--fatal-warnings',
'--config', gimp_ui_doc_toml,
'--output-dir=@OUTPUT@',
'--no-namespace-dir',
diff --git a/devel-docs/reference/gimp/meson.build b/devel-docs/reference/gimp/meson.build
index 1701723..d3f33d7 100644
--- a/devel-docs/reference/gimp/meson.build
+++ b/devel-docs/reference/gimp/meson.build
@@ -18,7 +18,6 @@ gimp_docs = custom_target('gimp-docs',
gi_docgen,
'generate',
'--quiet',
- '--fatal-warnings',
'--config', gimp_doc_toml,
'--output-dir=@OUTPUT@',
'--no-namespace-dir',

View file

@ -0,0 +1,10 @@
diff --git a/plug-ins/python/pygimp.interp.in b/plug-ins/python/pygimp.interp.in
index 28cccf0..3a89862 100644
--- a/plug-ins/python/pygimp.interp.in
+++ b/plug-ins/python/pygimp.interp.in
@@ -2,4 +2,4 @@ python=@PYTHON_PATH@python.exe
python3=@PYTHON_PATH@python.exe
/usr/bin/python=@PYTHON_PATH@python.exe
/usr/bin/python3=@PYTHON_PATH@python.exe
-:Python:E::py::python3:
+:Python:E::py::@python_interpreter@:

View file

@ -1,7 +1,7 @@
From c4690b1496ca34c416869d2932abfa112a93f188 Mon Sep 17 00:00:00 2001 From c4690b1496ca34c416869d2932abfa112a93f188 Mon Sep 17 00:00:00 2001
From: chayleaf <chayleaf-git@pavluk.org> From: chayleaf <chayleaf-git@pavluk.org>
Date: Wed, 14 Aug 2024 08:17:44 +0700 Date: Wed, 14 Aug 2024 08:17:44 +0700
Subject: [PATCH 1/2] mobile: don't idle_notify for volume keys Subject: [PATCH 1/4] mobile: don't idle_notify for volume keys
--- ---
sway/input/keyboard.c | 4 +++- sway/input/keyboard.c | 4 +++-
@ -23,5 +23,5 @@ index 8927287f..d42f62b0 100644
server.session_lock.locked; server.session_lock.locked;
struct sway_keyboard_shortcuts_inhibitor *sway_inhibitor = struct sway_keyboard_shortcuts_inhibitor *sway_inhibitor =
-- --
2.44.1 2.45.2

View file

@ -1,15 +1,15 @@
From 0d352dff09bab4536d2e182538641af1c6d2a1ef Mon Sep 17 00:00:00 2001 From ffec4e61168224d5b57241ae863a6970ce969a47 Mon Sep 17 00:00:00 2001
From: chayleaf <chayleaf-git@pavluk.org> From: chayleaf <chayleaf-git@pavluk.org>
Date: Wed, 14 Aug 2024 07:32:11 +0700 Date: Wed, 14 Aug 2024 07:32:11 +0700
Subject: [PATCH 2/2] mobile: reverse layer order Subject: [PATCH 2/4] mobile: reverse layer order
This makes exclusive anchored layers that were added first be first This makes exclusive anchored layers that were added first be first
--- ---
sway/desktop/layer_shell.c | 12 ++++++------ sway/desktop/layer_shell.c | 2 +-
1 file changed, 6 insertions(+), 6 deletions(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
index 8c6cedfe..4afca0b7 100644 index 8c6cedfe..41a638ee 100644
--- a/sway/desktop/layer_shell.c --- a/sway/desktop/layer_shell.c
+++ b/sway/desktop/layer_shell.c +++ b/sway/desktop/layer_shell.c
@@ -129,7 +129,7 @@ static void arrange_layer(struct sway_output *output, struct wl_list *list, @@ -129,7 +129,7 @@ static void arrange_layer(struct sway_output *output, struct wl_list *list,
@ -21,26 +21,6 @@ index 8c6cedfe..4afca0b7 100644
struct wlr_layer_surface_v1 *layer = sway_layer->layer_surface; struct wlr_layer_surface_v1 *layer = sway_layer->layer_surface;
struct wlr_layer_surface_v1_state *state = &layer->current; struct wlr_layer_surface_v1_state *state = &layer->current;
if (exclusive != (state->exclusive_zone > 0)) { if (exclusive != (state->exclusive_zone > 0)) {
@@ -214,14 +214,14 @@ void arrange_layers(struct sway_output *output) {
wlr_output_effective_resolution(output->wlr_output,
&usable_area.width, &usable_area.height);
- // Arrange exclusive surfaces from top->bottom
- arrange_layer(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY],
- &usable_area, true);
- arrange_layer(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP],
+ // Arrange exclusive surfaces from bottom->top
+ arrange_layer(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND],
&usable_area, true);
arrange_layer(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM],
&usable_area, true);
- arrange_layer(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND],
+ arrange_layer(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP],
+ &usable_area, true);
+ arrange_layer(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY],
&usable_area, true);
if (memcmp(&usable_area, &output->usable_area,
-- --
2.44.1 2.45.2

View file

@ -0,0 +1,25 @@
From 2bc4fabd214939f24c7f980e80fe5f3f0c6ff687 Mon Sep 17 00:00:00 2001
From: chayleaf <chayleaf-git@pavluk.org>
Date: Fri, 23 Aug 2024 05:35:57 +0700
Subject: [PATCH 3/4] mobile: swaybar: bottom -> overlay layer
---
swaybar/bar.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/swaybar/bar.c b/swaybar/bar.c
index 021fc3bd..7f44799d 100644
--- a/swaybar/bar.c
+++ b/swaybar/bar.c
@@ -103,7 +103,7 @@ static void add_layer_surface(struct swaybar_output *output) {
output->layer_surface = zwlr_layer_shell_v1_get_layer_surface(
bar->layer_shell, output->surface, output->output,
hidden || overlay ? ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY :
- ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM, "panel");
+ ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY, "panel");
assert(output->layer_surface);
zwlr_layer_surface_v1_add_listener(output->layer_surface,
&layer_surface_listener, output);
--
2.45.2

View file

@ -0,0 +1,138 @@
From 7ce9a5b2ded14623e6ff56311f4336fba4d22c7f Mon Sep 17 00:00:00 2001
From: chayleaf <chayleaf-git@pavluk.org>
Date: Fri, 23 Aug 2024 05:34:58 +0700
Subject: [PATCH 4/4] mobile: dont occupy exclusive layers with fullscreen
---
include/sway/desktop.h | 5 ++++
sway/desktop/layer_shell.c | 2 +-
sway/tree/container.c | 4 ++--
sway/tree/view.c | 48 +++++++++++++++++++++++++++++++-------
4 files changed, 48 insertions(+), 11 deletions(-)
diff --git a/include/sway/desktop.h b/include/sway/desktop.h
index 7f2f5b3e..c20f5ee6 100644
--- a/include/sway/desktop.h
+++ b/include/sway/desktop.h
@@ -11,3 +11,8 @@ void desktop_damage_whole_container(struct sway_container *con);
void desktop_damage_box(struct wlr_box *box);
void desktop_damage_view(struct sway_view *view);
+
+void apply_exclusive(struct wlr_box *usable_area,
+ uint32_t anchor, int32_t exclusive,
+ int32_t margin_top, int32_t margin_right,
+ int32_t margin_bottom, int32_t margin_left);
diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
index 41a638ee..79833ef3 100644
--- a/sway/desktop/layer_shell.c
+++ b/sway/desktop/layer_shell.c
@@ -50,7 +50,7 @@ struct wlr_layer_surface_v1 *toplevel_layer_surface_from_surface(
} while (true);
}
-static void apply_exclusive(struct wlr_box *usable_area,
+void apply_exclusive(struct wlr_box *usable_area,
uint32_t anchor, int32_t exclusive,
int32_t margin_top, int32_t margin_right,
int32_t margin_bottom, int32_t margin_left) {
diff --git a/sway/tree/container.c b/sway/tree/container.c
index 8c344a6d..8034029e 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -1132,7 +1132,7 @@ static void container_fullscreen_workspace(struct sway_container *con) {
con->saved_height = con->pending.height;
if (con->pending.workspace) {
- con->pending.workspace->fullscreen = con;
+ // con->pending.workspace->fullscreen = con;
struct sway_seat *seat;
struct sway_workspace *focus_ws;
wl_list_for_each(seat, &server.input->seats, link) {
@@ -1159,7 +1159,7 @@ static void container_fullscreen_global(struct sway_container *con) {
}
set_fullscreen(con, true);
- root->fullscreen_global = con;
+ // root->fullscreen_global = con;
con->saved_x = con->pending.x;
con->saved_y = con->pending.y;
con->saved_width = con->pending.width;
diff --git a/sway/tree/view.c b/sway/tree/view.c
index 65ca0c9c..032f7994 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -34,6 +34,7 @@
#include "sway/xdg_decoration.h"
#include "pango.h"
#include "stringop.h"
+#include "sway/layers.h"
void view_init(struct sway_view *view, enum sway_view_type type,
const struct sway_view_impl *impl) {
@@ -239,6 +240,23 @@ static bool gaps_to_edge(struct sway_view *view) {
return gaps.top > 0 || gaps.right > 0 || gaps.bottom > 0 || gaps.left > 0;
}
+void calculate_exclusive(struct sway_output *output, struct wlr_box *usable_area) {
+ struct sway_layer_surface *sway_layer;
+ for (int i = ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND; i <= ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY; ++i) {
+ struct wl_list *list = &output->layers[i];
+ wl_list_for_each_reverse(sway_layer, list, link) {
+ struct wlr_layer_surface_v1 *layer = sway_layer->layer_surface;
+ struct wlr_layer_surface_v1_state *state = &layer->current;
+ if (state->exclusive_zone <= 0) {
+ continue;
+ }
+ apply_exclusive(usable_area, state->anchor, state->exclusive_zone,
+ state->margin.top, state->margin.right,
+ state->margin.bottom, state->margin.left);
+ }
+ }
+}
+
void view_autoconfigure(struct sway_view *view) {
struct sway_container *con = view->container;
struct sway_workspace *ws = con->pending.workspace;
@@ -250,16 +268,30 @@ void view_autoconfigure(struct sway_view *view) {
struct sway_output *output = ws ? ws->output : NULL;
if (con->pending.fullscreen_mode == FULLSCREEN_WORKSPACE) {
- con->pending.content_x = output->lx;
- con->pending.content_y = output->ly;
- con->pending.content_width = output->width;
- con->pending.content_height = output->height;
+ struct wlr_box box = {
+ .x = output->lx,
+ .y = output->ly,
+ .width = output->width,
+ .height = output->height,
+ };
+ calculate_exclusive(output, &box);
+ con->pending.content_x = box.x;
+ con->pending.content_y = box.y;
+ con->pending.content_width = box.width;
+ con->pending.content_height = box.height;
return;
} else if (con->pending.fullscreen_mode == FULLSCREEN_GLOBAL) {
- con->pending.content_x = root->x;
- con->pending.content_y = root->y;
- con->pending.content_width = root->width;
- con->pending.content_height = root->height;
+ struct wlr_box box = {
+ .x = root->x,
+ .y = root->y,
+ .width = root->width,
+ .height = root->height,
+ };
+ calculate_exclusive(output, &box);
+ con->pending.content_x = box.x;
+ con->pending.content_y = box.y;
+ con->pending.content_width = box.width;
+ con->pending.content_height = box.height;
return;
}
--
2.45.2

View file

@ -9,7 +9,7 @@
generic-extlinux-compatible.enable = true; generic-extlinux-compatible.enable = true;
}; };
boot.kernelPackages = pkgs-kernel.linuxPackagesFor (pkgs-kernel.ccachePkgs.buildLinuxWithCcache pkgs-kernel.hw.bpi-r3.linux); boot.kernelPackages = pkgs-kernel.linuxPackagesFor pkgs-kernel.hw.bpi-r3.linux;
hardware.deviceTree.enable = true; hardware.deviceTree.enable = true;
hardware.deviceTree.filter = "mt7986a-bananapi-bpi-r3.dtb"; hardware.deviceTree.filter = "mt7986a-bananapi-bpi-r3.dtb";

View file

@ -308,7 +308,8 @@ in rec {
# keys that are unused in this case # keys that are unused in this case
# used because i got bitten by config keys changing once # used because i got bitten by config keys changing once
SND_AC97_POWER_SAVE_DEFAULT.optional = lib.mkForce true; SND_HDA_POWER_SAVE_DEFAULT.optional = lib.mkForce true; SND_AC97_POWER_SAVE_DEFAULT.optional = lib.mkForce true; SND_HDA_POWER_SAVE_DEFAULT.optional = lib.mkForce true;
SND_USB_AUDIO_MIDI_V2.tristate = lib.mkForce null; SND_USB_AUDIO_MIDI_V2.tristate = lib.mkForce null; SND_HDA_CODEC_CS8409.tristate = lib.mkForce null;
DRM_DISPLAY_DP_AUX_CEC.tristate = lib.mkForce null; DRM_DISPLAY_DP_AUX_CHARDEV.tristate = lib.mkForce null;
DRM_ACCEL.tristate = lib.mkForce null; DRM_AMD_ACP.tristate = lib.mkForce null; DRM_AMD_SECURE_DISPLAY.tristate = lib.mkForce null; DRM_ACCEL.tristate = lib.mkForce null; DRM_AMD_ACP.tristate = lib.mkForce null; DRM_AMD_SECURE_DISPLAY.tristate = lib.mkForce null;
DRM_DP_CEC.tristate = lib.mkForce null; DRM_NOUVEAU_SVM.tristate = lib.mkForce null; MEM_SOFT_DIRTY.tristate = lib.mkForce null; DRM_DP_CEC.tristate = lib.mkForce null; DRM_NOUVEAU_SVM.tristate = lib.mkForce null; MEM_SOFT_DIRTY.tristate = lib.mkForce null;
PM_TRACE.tristate = lib.mkForce null; RAS_CEC.tristate = lib.mkForce null; SND_AC97_POWER_SAVE_DEFAULT.tristate = lib.mkForce null; PM_TRACE.tristate = lib.mkForce null; RAS_CEC.tristate = lib.mkForce null; SND_AC97_POWER_SAVE_DEFAULT.tristate = lib.mkForce null;

View file

@ -0,0 +1,28 @@
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 7d32fca64996..49307428e89c 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1402,8 +1402,9 @@ CONFIG_MTK_SVS=m
CONFIG_QCOM_AOSS_QMP=y
CONFIG_QCOM_COMMAND_DB=y
CONFIG_QCOM_GENI_SE=y
-CONFIG_QCOM_LLCC=m
-CONFIG_QCOM_OCMEM=m
+CONFIG_QCOM_LLCC=y
+CONFIG_QCOM_OCMEM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_QCOM_PMIC_GLINK=m
CONFIG_QCOM_RMTFS_MEM=m
CONFIG_QCOM_RPMH=y
diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
index dda2ada215b7..d4822991110f 100644
--- a/drivers/remoteproc/Kconfig
+++ b/drivers/remoteproc/Kconfig
@@ -166,6 +166,7 @@ config QCOM_PIL_INFO
config QCOM_RPROC_COMMON
tristate
+ default y
select AUXILIARY_BUS
config QCOM_Q6V5_COMMON

View file

@ -37,6 +37,10 @@ in
]; ];
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
mobile.quirks.qualcomm.sdm845-modem.enable = true; mobile.quirks.qualcomm.sdm845-modem.enable = true;
specialisation.nomodem.configuration = {
mobile.quirks.qualcomm.sdm845-modem.enable = lib.mkForce false;
systemd.services.q6voiced.enable = false;
};
mobile.quirks.audio.alsa-ucm-meld = true; mobile.quirks.audio.alsa-ucm-meld = true;
environment.systemPackages = [ hw.alsa-ucm-conf ]; environment.systemPackages = [ hw.alsa-ucm-conf ];
systemd.services.q6voiced = { systemd.services.q6voiced = {
@ -71,7 +75,7 @@ in
criticalPowerAction = "PowerOff"; criticalPowerAction = "PowerOff";
}; };
hardware.firmware = lib.mkAfter [ hw.firmware ]; hardware.firmware = lib.mkAfter [ hw.firmware ];
boot.kernelPackages = lib.mkForce (pkgs-kernel.linuxPackagesFor hw-kernel.linux_ccache); boot.kernelPackages = lib.mkForce (pkgs-kernel.linuxPackagesFor hw-kernel.linux);
hardware.deviceTree.enable = true; hardware.deviceTree.enable = true;
hardware.deviceTree.name = "qcom/sdm845-oneplus-enchilada.dtb"; hardware.deviceTree.name = "qcom/sdm845-oneplus-enchilada.dtb";
# loglevel=7 console=ttyMSM0,115200 is a way to delay boot # loglevel=7 console=ttyMSM0,115200 is a way to delay boot

File diff suppressed because it is too large Load diff

View file

@ -119,17 +119,28 @@ in {
meta.license = lib.licenses.unfreeRedistributableFirmware; meta.license = lib.licenses.unfreeRedistributableFirmware;
}; };
linux = pkgs.linux_latest.override { linux = pkgs.linux_6_9.override {
# TODO: uncomment # TODO: uncomment
# ignoreConfigErrors = false; # ignoreConfigErrors = false;
kernelPatches = [ kernelPatches = [
# {
# name = "linux_6_11";
# patch = pkgs.fetchpatch {
# url = "https://github.com/chayleaf/linux-sdm845/compare/v6.11-rc2...8914f1483d0784bf1133577f3c161a3f83a12653.diff";
# hash = "sha256-orBQDGHAXOAy1PVLwNIBk3FgiMslziW1xddQyIwbnCs=";
# };
# }
{ {
name = "linux_6_9"; name = "linux_6_9";
patch = ./linux_6_9.patch; patch = pkgs.fetchpatch {
url = "https://github.com/chayleaf/linux-sdm845/compare/v6.9.12...1ffe541f384cdfee347bf92773a740677de1b824.diff";
hash = "sha256-6TMiXaZy8YEB2vmrpXwAKklHYhvlA/TklCQv95iyMNY=";
};
} }
{ {
name = "config_fixes"; name = "config_fixes";
patch = ./config_fixes.patch; patch = ./config_fixes.patch;
# patch = ./config_fixes_611.patch;
} }
]; ];
@ -141,9 +152,8 @@ in {
# fix build # fix build
LENOVO_YOGA_C630_EC = no; LENOVO_YOGA_C630_EC = no;
RPMSG_QCOM_GLINK_SMEM = yes; RPMSG_QCOM_GLINK_SMEM = yes;
# useless lines, remove on update # TOUCHSCREEN_STM_FTS_DOWNSTREAM = no;
DM_MIRROR = no; # TOUCHSCREEN_FTM4 = no;
DM_ZERO = no;
# for adb and stuff (doesn't have to be built-in, but it's easier that way) # for adb and stuff (doesn't have to be built-in, but it's easier that way)
USB_FUNCTIONFS = yes; USB_FUNCTIONFS = yes;
USB_LIBCOMPOSITE = yes; USB_LIBCOMPOSITE = yes;
@ -162,8 +172,12 @@ in {
USB_F_HID = yes; USB_F_HID = yes;
USB_CONFIGFS = yes; USB_CONFIGFS = yes;
USB_CONFIGFS_F_HID = yes; USB_CONFIGFS_F_HID = yes;
REGULATOR_QCOM_USB_VBUS = module;
LEDS_TRIGGER_ONESHOT = yes;
LEDS_TRIGGER_BACKLIGHT = yes;
LEDS_TRIGGER_ACTIVITY = yes;
# adapted from https://gitlab.com/sdm845-mainline/linux/-/blob/caf9d678d34f70173bf236584dfb819164283833/arch/arm64/configs/sdm845.config # adapted from https://gitlab.com/sdm845-mainline/linux/-/blob/3e9f7c18a3f681b52b7ea87765be267cd1e8b870/arch/arm64/configs/sdm845.config
# enchilada-specific # enchilada-specific
DRM_PANEL_SAMSUNG_SOFEF00 = yes; DRM_PANEL_SAMSUNG_SOFEF00 = yes;
BATTERY_BQ27XXX = module; BATTERY_BQ27XXX = module;
@ -196,6 +210,7 @@ in {
LEDS_TRIGGER_PATTERN = yes; LEDS_TRIGGER_PATTERN = yes;
LEDS_CLASS_MULTICOLOR = module; LEDS_CLASS_MULTICOLOR = module;
LEDS_QCOM_LPG = module; LEDS_QCOM_LPG = module;
I2C_QCOM_GENI = yes;
LEDS_QCOM_FLASH = module; LEDS_QCOM_FLASH = module;
SLIMBUS = yes; SLIMBUS = yes;
SLIM_QCOM_CTRL = yes; SLIM_QCOM_CTRL = yes;
@ -206,6 +221,7 @@ in {
QCOM_SPMI_RRADC = module; QCOM_SPMI_RRADC = module;
DRM = yes; DRM = yes;
DRM_MSM = yes; DRM_MSM = yes;
VIDEO_VIVID = module;
REGULATOR_QCOM_LABIBB = yes; REGULATOR_QCOM_LABIBB = yes;
BACKLIGHT_QCOM_WLED = yes; BACKLIGHT_QCOM_WLED = yes;
INPUT_QCOM_SPMI_HAPTICS = module; INPUT_QCOM_SPMI_HAPTICS = module;
@ -216,11 +232,13 @@ in {
DMABUF_HEAPS_CMA = yes; DMABUF_HEAPS_CMA = yes;
DMABUF_HEAPS_SYSTEM = yes; DMABUF_HEAPS_SYSTEM = yes;
HZ_1000 = yes; HZ_1000 = yes;
UCLAMP_TASK = yes;
UCLAMP_TASK_GROUP = yes;
RPMSG_CHAR = yes; RPMSG_CHAR = yes;
QCOM_Q6V5_ADSP = module; QCOM_Q6V5_ADSP = module;
BT_RFCOMM = yes; BT_RFCOMM = module;
BT_RFCOMM_TTY = yes; BT_RFCOMM_TTY = yes;
BT_BNEP = yes; BT_BNEP = module;
BT_BNEP_MC_FILTER = yes; BT_BNEP_MC_FILTER = yes;
BT_BNEP_PROTO_FILTER = yes; BT_BNEP_PROTO_FILTER = yes;
BT_HS = yes; BT_HS = yes;
@ -261,6 +279,10 @@ in {
USB_ONBOARD_HUB = no; # breaks USB on qualcomm rb2... which i don't need, but i guess this won't hurt either way USB_ONBOARD_HUB = no; # breaks USB on qualcomm rb2... which i don't need, but i guess this won't hurt either way
INTERCONNECT_QCOM_QCM2290 = yes; INTERCONNECT_QCOM_QCM2290 = yes;
BRIDGE_NETFILTER = module; BRIDGE_NETFILTER = module;
NEW_LEDS = yes;
LEDS_CLASS = yes;
CMA = yes;
CMA_SIZE_MBYTES = lib.mkForce (freeform "256");
# CONFIG END (essentially) # CONFIG END (essentially)
# the rest of the config is just disabling unneeded stuff, feel free to ignore this # the rest of the config is just disabling unneeded stuff, feel free to ignore this
@ -542,12 +564,6 @@ in {
HISI_PMU = no; HISI_PMU = no;
INTERCONNECT_QCOM_MSM8996 = no; INTERCONNECT_QCOM_MSM8996 = no;
INTERCONNECT_QCOM_QCS404 = no; INTERCONNECT_QCOM_QCS404 = no;
INTERCONNECT_QCOM_SC7180 = no;
INTERCONNECT_QCOM_SM8150 = no;
INTERCONNECT_QCOM_SM8350 = no;
INTERCONNECT_QCOM_SM8450 = no;
INTERCONNECT_QCOM_SM8550 = no;
INTERCONNECT_QCOM_SC8280XP = no;
ARCH_NPCM = no; ARCH_NPCM = no;
PINCTRL_SC8280XP = no; PINCTRL_SC8280XP = no;
BCM_SBA_RAID = no; BCM_SBA_RAID = no;
@ -560,25 +576,12 @@ in {
SND_SOC_SC7280 = no; SND_SOC_SC7280 = no;
SND_SOC_WCD938X_SDW = no; SND_SOC_WCD938X_SDW = no;
MMC_SDHCI_OF_DWCMSHC = no; MMC_SDHCI_OF_DWCMSHC = no;
SC_GCC_8180X = no;
IOMMU_IO_PGTABLE_DART = no; IOMMU_IO_PGTABLE_DART = no;
INTERCONNECT_QCOM_SC8180X = no;
MEMORY_HOTPLUG = lib.mkForce no; MEMORY_HOTPLUG = lib.mkForce no;
MELLANOX_PLATFORM = no; MELLANOX_PLATFORM = no;
CHROME_PLATFORMS = lib.mkForce no;
PINCTRL_SM8150 = no;
SM_GCC_8150 = no;
SM_VIDEOCC_8150 = no; SM_VIDEOCC_8150 = no;
SM_GPUCC_8150 = no;
SM_GPUCC_8350 = no; SM_GPUCC_8350 = no;
SM_VIDEOCC_8350 = no; SM_VIDEOCC_8350 = no;
PINCTRL_SM8350 = no;
SM_GCC_8350 = no;
SM_DISPCC_8450 = no;
PINCTRL_SM8550 = no;
PINCTRL_SM8550_LPASS_LPI = no;
SM_DISPCC_8550 = no;
SM_TCSRCC_8550 = no;
# keys that are unused in this case # keys that are unused in this case
# (builtin aarch64-linux config is unused too, but i cant disable it) # (builtin aarch64-linux config is unused too, but i cant disable it)

View file

@ -1,6 +1,7 @@
{ pkgs-kernel2 { pkgs
, config , config
, ... }: , ...
}:
{ {
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [
@ -8,7 +9,7 @@
"phy-rockchip-naneng-combphy" "phy-rockchip-naneng-combphy"
]; ];
boot.kernelPackages = pkgs-kernel2.linuxPackagesFor pkgs-kernel2.linux_latest; boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_latest;
boot.kernelParams = [ "dtb=/${config.hardware.deviceTree.name}" ]; boot.kernelParams = [ "dtb=/${config.hardware.deviceTree.name}" ];
hardware.deviceTree.enable = true; hardware.deviceTree.enable = true;

View file

@ -39,8 +39,8 @@
"vm.dirty_background_ratio" = 2; "vm.dirty_background_ratio" = 2;
"vm.swappiness" = 40; "vm.swappiness" = 40;
}; };
# TODO: uncomment when iwlwifi gets fixed, whenever that will be (broken in 6.5.5) # TODO: switch back to latest
# kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; kernelPackages = lib.mkDefault pkgs.linuxPackages_testing;
/*kernelPackages = zenKernelPackages "6.1.9" "0fsmcjsawxr32fxhpp6sgwfwwj8kqymy0rc6vh4qli42fqmwdjgv";*/ /*kernelPackages = zenKernelPackages "6.1.9" "0fsmcjsawxr32fxhpp6sgwfwwj8kqymy0rc6vh4qli42fqmwdjgv";*/
}; };
@ -138,7 +138,7 @@
programs.sway.enable = true; programs.sway.enable = true;
xdg.portal = { xdg.portal = {
enable = true; enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-wlr ]; extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
}; };
programs.ccache.enable = true; programs.ccache.enable = true;

View file

@ -15,7 +15,6 @@
linkConfig.MACAddress = config.phone.mac; linkConfig.MACAddress = config.phone.mac;
}; };
sound.enable = true;
services.logind.powerKey = "ignore"; services.logind.powerKey = "ignore";
services.logind.powerKeyLongPress = "poweroff"; services.logind.powerKeyLongPress = "poweroff";
hardware.sensor.iio.enable = true; hardware.sensor.iio.enable = true;
@ -62,6 +61,7 @@
programs.sway.enable = true; programs.sway.enable = true;
xdg.portal = { xdg.portal = {
enable = true; enable = true;
wlr.enable = lib.mkForce false;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
}; };
# services.xserver.desktopManager.phosh = { # services.xserver.desktopManager.phosh = {

View file

@ -528,6 +528,10 @@ in {
lans = [ "br0" "wg1" ]; lans = [ "br0" "wg1" ];
wans = [ vpn_iface "veth-wan-a" ]; wans = [ vpn_iface "veth-wan-a" ];
logPrefix = "lan "; logPrefix = "lan ";
# I'll leave this here in case i get weird ipv6 issues again
# inetSnatRules = with notnft.dsl; with payload; [
# [(is.eq meta.protocol (f: f.ip6)) (is.eq meta.iifname "br0") (is.eq meta.oifname "br0") masquerade]
# ];
netdevIngressWanRules = with notnft.dsl; with payload; [ netdevIngressWanRules = with notnft.dsl; with payload; [
# check oif only from vpn # check oif only from vpn
# dont check it from veth-wan-a because of dnat fuckery and because we already check packets coming from wan there # dont check it from veth-wan-a because of dnat fuckery and because we already check packets coming from wan there

View file

@ -62,8 +62,23 @@ in {
DISABLE_REGISTRATION = true; DISABLE_REGISTRATION = true;
REGISTER_EMAIL_CONFIRM = true; REGISTER_EMAIL_CONFIRM = true;
}; };
cache = {
ADAPTER = "redis";
HOST = "redis+socket://${config.services.redis.servers.forgejo.unixSocket}";
}; };
}; };
};
systemd.services.forgejo = {
wants = [ "redis-forgejo.service" ];
after = [ "redis-forgejo.service" ];
};
users.users.forgejo.extraGroups = [ config.services.redis.servers.forgejo.user ];
services.redis.servers.forgejo = {
enable = true;
};
services.nginx.virtualHosts."cloud.${cfg.domainName}" = { services.nginx.virtualHosts."cloud.${cfg.domainName}" = {
quic = true; quic = true;
@ -82,6 +97,7 @@ in {
dbtype = "pgsql"; dbtype = "pgsql";
dbhost = "/run/postgresql"; dbhost = "/run/postgresql";
}; };
phpOptions."opcache.interned_strings_buffer" = "16";
settings.overwriteprotocol = "https"; settings.overwriteprotocol = "https";
hostName = "cloud.${cfg.domainName}"; hostName = "cloud.${cfg.domainName}";
https = true; https = true;

View file

@ -27,6 +27,11 @@ in {
hostName = "mail.${cfg.domainName}"; hostName = "mail.${cfg.domainName}";
maxAttachmentSize = 100; maxAttachmentSize = 100;
plugins = [ "persistent_login" ]; plugins = [ "persistent_login" ];
extraConfig = ''
$config['smtp_server'] = "tls://${config.mailserver.fqdn}";
$config['smtp_user'] = "%u";
$config['smtp_pass'] = "%p";
'';
}; };
mailserver = { mailserver = {
enable = true; enable = true;

View file

@ -71,6 +71,8 @@ in {
}; };
}; };
environment.systemPackages = with pkgs; [ matrix-synapse-tools.rust-synapse-compress-state ];
services.matrix-synapse = { services.matrix-synapse = {
enable = true; enable = true;
extraConfigFiles = [ "/var/lib/matrix-synapse/config.yaml" ]; extraConfigFiles = [ "/var/lib/matrix-synapse/config.yaml" ];

View file

@ -172,7 +172,8 @@ in {
users.defaultUserShell = lib.mkIf cfg.minimal (mkForceDefault pkgs.fish); users.defaultUserShell = lib.mkIf cfg.minimal (mkForceDefault pkgs.fish);
programs.vim = { programs.vim = {
defaultEditor = lib.mkDefault true; enable = lib.mkDefault true;
defaultEditor = lib.mkDefault config.programs.vim.enable;
package = pkgs.vim-full.customize { package = pkgs.vim-full.customize {
vimrcConfig.customRC = '' vimrcConfig.customRC = ''
syntax on syntax on

View file

@ -133,9 +133,12 @@ in {
{ directory = /var/lib/${config.services.prometheus.stateDir}; user = "prometheus"; group = "prometheus"; mode = "0755"; } { directory = /var/lib/${config.services.prometheus.stateDir}; user = "prometheus"; group = "prometheus"; mode = "0755"; }
] ++ lib.optionals (config.services.qbittorrent-nox.enable or false) [ ] ++ lib.optionals (config.services.qbittorrent-nox.enable or false) [
{ directory = /var/lib/qbittorrent-nox; mode = "0755"; } { directory = /var/lib/qbittorrent-nox; mode = "0755"; }
] ++ lib.optionals (config.services.redis.servers.rspamd.enable or false) [ ] ++ (lib.mapAttrsToList
{ directory = /var/lib/redis-rspamd; user = "redis-rspamd"; group = "redis-rspamd"; mode = "0700"; } (k: v: let
] ++ lib.optionals config.services.roundcube.enable [ name = if k == "" then "redis" else "redis-${k}";
in { directory = /var/lib/${name}; inherit (v) user; group = v.user; mode = "0700"; })
(lib.filterAttrs (k: v: v.enable or false) config.services.redis.servers))
++ lib.optionals config.services.roundcube.enable [
{ directory = /var/lib/roundcube; user = "roundcube"; group = "roundcube"; mode = "0700"; } { directory = /var/lib/roundcube; user = "roundcube"; group = "roundcube"; mode = "0700"; }
] ++ lib.optionals config.services.rspamd.enable [ ] ++ lib.optionals config.services.rspamd.enable [
{ directory = /var/lib/rspamd; user = "rspamd"; group = "rspamd"; mode = "0700"; } { directory = /var/lib/rspamd; user = "rspamd"; group = "rspamd"; mode = "0700"; }

View file

@ -10,7 +10,7 @@ in {
options.services.qbittorrent-nox = { options.services.qbittorrent-nox = {
enable = lib.mkEnableOption "qbittorrent-nox"; enable = lib.mkEnableOption "qbittorrent-nox";
package = lib.mkPackageOptionMD pkgs "qbittorrent-nox" { }; package = lib.mkPackageOption pkgs "qbittorrent-nox" { };
ui.addToFirewall = lib.mkOption { ui.addToFirewall = lib.mkOption {
description = "Add the web UI port to firewall"; description = "Add the web UI port to firewall";