Merge branch 'framework/master' into alpine/master

This commit is contained in:
Tristan 2025-04-29 02:05:25 +01:00
commit 45e4b43857
27 changed files with 357 additions and 321 deletions

318
flake.lock generated
View file

@ -37,11 +37,11 @@
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1725860795,
"narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=",
"lastModified": 1736852337,
"narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "7f795bf75d38e0eea9fed287264067ca187b88a9",
"rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
"type": "github"
},
"original": {
@ -53,37 +53,33 @@
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1731949548,
"narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=",
"lastModified": 1732806396,
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "61165b1632409bd55e530f3dbdd4477f011cadc6",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
}
},
"devshell": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1728330715,
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
"owner": "numtide",
"repo": "devshell",
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
"lastModified": 1743774811,
"narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
@ -105,26 +101,11 @@
},
"flake-compat_2": {
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"revCount": 57,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
@ -140,6 +121,28 @@
"nixpkgs"
]
},
"locked": {
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"stylix",
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
@ -212,25 +215,21 @@
"git-hooks": {
"inputs": {
"flake-compat": [
"nixvim",
"stylix",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
"nixpkgs"
],
"nixpkgs-stable": [
"nixvim",
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1734425854,
"narHash": "sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig=",
"lastModified": 1742649964,
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d",
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
"type": "github"
},
"original": {
@ -242,7 +241,7 @@
"gitignore": {
"inputs": {
"nixpkgs": [
"nixvim",
"stylix",
"git-hooks",
"nixpkgs"
]
@ -343,11 +342,11 @@
]
},
"locked": {
"lastModified": 1734808199,
"narHash": "sha256-MxlUcLjE8xLbrI1SJ2B2jftlg4wdutEILa3fgqwA98I=",
"lastModified": 1745033012,
"narHash": "sha256-KjBMsjCzIOWgDqTZMYIriPFmHiQcCb2RhuDh5JF0VVc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f342df3ad938f205a913973b832f52c12546aac6",
"rev": "ae84885d9b6b62dc58ccd300e9ab321a3fd9f9c7",
"type": "github"
},
"original": {
@ -358,27 +357,6 @@
}
},
"home-manager_3": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1734622215,
"narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_4": {
"inputs": {
"nixpkgs": [
"stylix",
@ -386,11 +364,11 @@
]
},
"locked": {
"lastModified": 1733085484,
"narHash": "sha256-dVmNuUajnU18oHzBQWZm1BQtANCHaqNuxTHZQ+GN0r8=",
"lastModified": 1743869639,
"narHash": "sha256-Xhe3whfRW/Ay05z9m1EZ1/AkbV1yo0tm1CbgjtCi4rQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c1fee8d4a60b89cae12b288ba9dbc608ff298163",
"rev": "d094c6763c6ddb860580e7d3b4201f8f496a6836",
"type": "github"
},
"original": {
@ -432,11 +410,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1734127708,
"narHash": "sha256-fXDr93nc3zUDCGS5qhrXAtwBJfiI40jIdoMncLAzbUY=",
"lastModified": 1741303672,
"narHash": "sha256-eRKbKccBu3PK/oJpmUuLo+0v45d0SEjosE8tVsHbpeA=",
"owner": "musnix",
"repo": "musnix",
"rev": "0a2bbd1e2ec78ef268698eb682f39015c1f3ca1d",
"rev": "d56a15f30329f304151e4e05fa82264d127da934",
"type": "github"
},
"original": {
@ -445,27 +423,6 @@
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733570843,
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
"type": "github"
},
"original": {
"owner": "lnl7",
"repo": "nix-darwin",
"type": "github"
}
},
"nixos-cosmic": {
"inputs": {
"flake-compat": "flake-compat",
@ -474,11 +431,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1734745015,
"narHash": "sha256-HGl0yR/qfGTO99NfiB5bqTe2nPKmD57opzB/TwhJSW0=",
"lastModified": 1744974542,
"narHash": "sha256-Cut7jOutHRegoBokTz5/kaVs2efwfMgX7dl8lhO67D8=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "1c922245aec471610533c7a225bf9c20e7002ff2",
"rev": "f8bfb2836ab9d4429fc6b2c7337357d8c0d8cc9c",
"type": "github"
},
"original": {
@ -505,11 +462,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1734600368,
"narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=",
"lastModified": 1744440957,
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca",
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
"type": "github"
},
"original": {
@ -521,11 +478,11 @@
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1734529975,
"narHash": "sha256-ze3IJksru9dN0keqUxY0WNf8xrwfs8Ty/z9v/keyBbg=",
"lastModified": 1735563628,
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "72d11d40b9878a67c38f003c240c2d2e1811e72a",
"rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798",
"type": "github"
},
"original": {
@ -552,11 +509,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1733392399,
"narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=",
"lastModified": 1740695751,
"narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661",
"rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4",
"type": "github"
},
"original": {
@ -568,11 +525,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1734424634,
"narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=",
"lastModified": 1744463964,
"narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33",
"rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650",
"type": "github"
},
"original": {
@ -584,11 +541,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1731763621,
"narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=",
"lastModified": 1744502386,
"narHash": "sha256-QAd1L37eU7ktL2WeLLLTmI6P9moz9+a/ONO8qNBYJgM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d",
"rev": "f6db44a8daa59c40ae41ba6e5823ec77fe0d2124",
"type": "github"
},
"original": {
@ -600,40 +557,34 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1732238832,
"narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=",
"lastModified": 1743583204,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d",
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": {
"inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"git-hooks": "git-hooks",
"home-manager": "home-manager_3",
"nix-darwin": "nix-darwin",
"nixpkgs": [
"nixpkgs"
],
"nuschtosSearch": "nuschtosSearch",
"treefmt-nix": "treefmt-nix"
"nuschtosSearch": "nuschtosSearch"
},
"locked": {
"lastModified": 1734798432,
"narHash": "sha256-JVU+WjrRZUJnUKQ/iXP9O8eQ0L3YkqV1DpFMS4kLZog=",
"lastModified": 1744874965,
"narHash": "sha256-eOnMgAWsjqOhGRoY9smkKlNQcCz9R89mgiKwLrCIYBE=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "6a4b4221c4ebf1140f73f8df769e97f1828d90fa",
"rev": "500b56f023e0f095ffee2d4f79e58aa09e6b0719",
"type": "github"
},
"original": {
@ -642,6 +593,29 @@
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"stylix",
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1743884191,
"narHash": "sha256-foVcginhVvjg8ZnTzY5wwMeZ4wjJ8yX66PW5kgyivPE=",
"owner": "nix-community",
"repo": "NUR",
"rev": "fde90f5f52e13eed110a0e53a2818a2b09e4d37c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils",
@ -652,11 +626,11 @@
]
},
"locked": {
"lastModified": 1733773348,
"narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=",
"lastModified": 1743683223,
"narHash": "sha256-LdXtHFvhEC3S64dphap1pkkzwjErbW65eH1VRerCUT0=",
"owner": "NuschtOS",
"repo": "search",
"rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9",
"rev": "56a49ffef2908dad1e9a8adef1f18802bc760962",
"type": "github"
},
"original": {
@ -689,11 +663,11 @@
]
},
"locked": {
"lastModified": 1734661750,
"narHash": "sha256-BI58NBdimxu1lnpOrG9XxBz7Cwqy+qIf99zunWofX5w=",
"lastModified": 1744943606,
"narHash": "sha256-VL4swGy4uBcHvX+UR5pMeNE9uQzXfA7B37lkwet1EmA=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "7d3d910d5fd575e6e8c5600d83d54e5c47273bfe",
"rev": "ec22cd63500f4832d1f3432d2425e0b31b0361b1",
"type": "github"
},
"original": {
@ -707,11 +681,11 @@
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1734546875,
"narHash": "sha256-6OvJbqQ6qPpNw3CA+W8Myo5aaLhIJY/nNFDk3zMXLfM=",
"lastModified": 1744669848,
"narHash": "sha256-pXyanHLUzLNd3MX9vsWG+6Z2hTU8niyphWstYEP3/GU=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "ed091321f4dd88afc28b5b4456e0a15bd8374b4d",
"rev": "61154300d945f0b147b30d24ddcafa159148026a",
"type": "github"
},
"original": {
@ -726,22 +700,27 @@
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"flake-compat": "flake-compat_3",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2",
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_4",
"home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_6",
"nur": "nur",
"systems": "systems_2",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux"
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1734531336,
"narHash": "sha256-BWwJTAiWmZudUdUbyets7e3zQfjvZYtkU51blBnUBjw=",
"lastModified": 1744910471,
"narHash": "sha256-HItOUMA2whFnPMJuyN2XHq9TZttgrgOAZcoUXsaD4Js=",
"owner": "danth",
"repo": "stylix",
"rev": "a2d66f25478103ac9b4adc6d6713794f7005221e",
"rev": "8d5cd725ad591890c0cd804bf68cc842b8afca51",
"type": "github"
},
"original": {
@ -814,14 +793,30 @@
"type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1742851696,
"narHash": "sha256-sR4K+OVFKeUOvNIqcCr5Br7NLxOBEwoAgsIyjsZmb8s=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "c37771c4ae8ff1667e27ddcf24991ebeb94a4e77",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1729501581,
"narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=",
"lastModified": 1743296873,
"narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14",
"rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a",
"type": "github"
},
"original": {
@ -830,19 +825,36 @@
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1725758778,
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixvim",
"stylix",
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1734704479,
"narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=",
"lastModified": 1733222881,
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f",
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "github"
},
"original": {

View file

@ -64,6 +64,21 @@
./home/programs/mpd.nix
./home/programs/work.nix
./home/programs/graphical.nix
./home/desktop/cosmic/laptop.nix
];
};
framework-13 = mkConf {
nixos-modules = [
./hardware/framework-13.nix
./nixos/workstation.nix
./nixos/modules/work.nix
./nixos/programs/hyprland.nix
(import ./nixos/programs/auto-login.nix "hyprland")
];
home-modules = [
./home/programs/work.nix
./home/programs/graphical.nix
];
};

88
hardware/framework-13.nix Normal file
View file

@ -0,0 +1,88 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/mapper/crypted";
fsType = "btrfs";
options = [ "subvol=@root" ];
};
boot.initrd.luks.devices."crypted".device = "/dev/disk/by-uuid/84ad0e15-0056-4d46-801d-7735c2c6a5f6";
fileSystems."/home" =
{ device = "/dev/mapper/crypted";
fsType = "btrfs";
options = [ "subvol=@home" ];
};
fileSystems."/nix" =
{ device = "/dev/mapper/crypted";
fsType = "btrfs";
neededForBoot = true;
options = [ "subvol=@nix" "noatime" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-label/BOOT";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-label/SWAP"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
networking.hostName = "framework-13";
system.stateVersion = "24.11"; # do not change
home-manager.users.${config.user}.imports = [
{
home.stateVersion = "24.11";
wayland.windowManager.hyprland = {
settings = {
bind = [
"SUPER_SHIFT, Q, killactive,"
];
};
extraConfig = ''
device {
name = at-translated-set-2-keyboard
kb_variant = dvorak,
kb_layout = gb,gb
kb_options = grp:alt_shift_toggle,caps:escape
}
'';
};
}
];
stylix.fonts.sizes = {
applications = 12;
desktop = 10;
terminal = 15;
};
}

View file

@ -57,6 +57,11 @@ in {
fsType = "vfat";
};
fileSystems."/mnt/hdd" = {
device = "/dev/disk/by-uuid/50d1b0ee-9eb1-4493-acea-4e5bd4b127c8";
fsType = "ext4";
};
boot.plymouth.enable = true;
boot.initrd.verbose = false;
boot.consoleLogLevel = 1;

View file

@ -65,5 +65,10 @@
};
};
programs.fzf = {
enable = true;
enableZshIntegration = true;
};
programs.direnv.enable = true;
}

View file

@ -6,7 +6,7 @@
}: let
inherit (config.lib.cosmic) Actions mapBinds;
SpawnTerminal = name: pkg:
Actions.Spawn (pkgs.writeShellScriptBin name "${lib.getExe pkgs.alacritty} -e ${lib.getExe pkg}");
Actions.Spawn (pkgs.writeShellScriptBin name "${lib.getExe config.programs.terminal} -e ${lib.getExe pkg}");
in {
programs.cosmic = {
enable = true;
@ -43,7 +43,7 @@ in {
Super.Shift. "y" = Actions.ToggleSticky;
# System
Super. "d" = Actions.Spawn config.programs.menu.drunCommand;
Super. "Return" = Actions.Spawn pkgs.alacritty;
Super. "Return" = Actions.Spawn config.programs.terminal;
Super. "e" = SpawnTerminal "aerc" config.programs.aerc.package;
Super. "o" = Actions.System "HomeFolder";
Super.Shift. "s" = Actions.System "Screenshot";

View file

@ -0,0 +1,7 @@
{
programs.cosmic = {
panels.Bar.applets.end = [
"com.system76.CosmicAppletBattery"
];
};
}

View file

@ -30,7 +30,7 @@ in {
enable = true;
settings = {
general = {
before_sleep_cmd = "rbw lock";
before_sleep_cmd = "rbw lock; hyprlock";
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "pidof ${lock_cmd} || ${lock_cmd}";
@ -152,8 +152,7 @@ in {
"${modifier}_SHIFT, Y, movetoworkspace, special"
# applications
"${modifier}, slash, focuswindow, brave-browser"
"${modifier}, n, focuswindow, Logseq"
"${modifier}, slash, exec, ${lib.getExe config.programs.chromium.package}"
# workspaces
"${modifier}, 1, workspace,1"
@ -193,11 +192,7 @@ in {
"XDG_SESSION_DESKTOP,Hyprland"
"QT_AUTO_SCREEN_SCALE_FACTOR,1"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
];
windowrule = [
"float, title:wlogout"
"idleinhibit always, vrmonitor"
"idleinhibit focus, steam_app"
"NIXOS_OZONE_WL,1"
];
workspace = [
"11, default:true"

View file

@ -1,25 +0,0 @@
{pkgs, ...}: {
wayland.windowManager.hyprland = {
plugins = with pkgs; [
hycov
];
settings.plugin.hycov = {
overview_gappo = 20;
};
settings.bind = [
# bind key to toggle overview(normal mode)
"ALT,tab,hycov:toggleoverview"
# bind key to toggle overview(force mode,no affected by `only_active_workspace` and `only_active_monitor`)
"ALT,grave,hycov:toggleoverview,forceall" #grave key is the '~' key
# The direction switch shortcut key binding.
# calculate the window closest to the direction to switch focus.
# This keybind is applicable not only to the overview but also to the general layout
"ALT,h,hycov:movefocus,l"
"ALT,l,hycov:movefocus,r"
"ALT,k,hycov:movefocus,u"
"ALT,j,hycov:movefocus,d"
];
};
}

View file

@ -4,7 +4,7 @@
...
}: {
options.programs = {
terminal = lib.mkPackageOption pkgs "alacritty" {};
terminal = lib.mkPackageOption pkgs "foot" {};
};
config = {
@ -16,5 +16,9 @@
};
};
};
programs.foot = {
enable = true;
};
};
}

View file

@ -16,6 +16,5 @@
protontricks
protonup-qt
oversteer
xboxdrv
];
}

View file

@ -1,6 +1,5 @@
{pkgs, ...}: {
imports = [
./pcmanfm.nix
./mpv.nix
./vscode.nix
];
@ -11,6 +10,7 @@
easyeffects
pwvucontrol
helvum
cosmic-files
# tools
inkscape
@ -27,13 +27,7 @@
youtube-music
# other
element-desktop-wayland
(makeDesktopItem {
name = "element-desktop-wayland";
desktopName = "Element";
exec = "${element-desktop-wayland}/bin/element-desktop";
})
brave
element-desktop
bitwarden
];
@ -60,4 +54,9 @@
"file:///home/tristan/Downloads"
];
};
programs.chromium = {
enable = true;
package = pkgs.brave;
};
}

View file

@ -13,7 +13,7 @@ image () {
[ ! -f "$CACHE" ] && \
chafa -f sixel -s "$2x$3" --animate off --polite on "$1" > "$CACHE"
cat "$CACHE"
exit 1
exit 0
}
case "$(file -Lb --mime-type -- "$file")" in

View file

@ -11,8 +11,8 @@
// (import ../../../lib/nixvim.nix input);
programs.vscode = {
extensions = [pkgs.vscode-extensions.asvetliakov.vscode-neovim];
userSettings = {
profiles.default.extensions = [pkgs.vscode-extensions.asvetliakov.vscode-neovim];
profiles.default.userSettings = {
"vscode-neovim.neovimExecutablePaths.linux" =
lib.getExe config.programs.nixvim.package;
"extensions.experimental.affinity" = {

View file

@ -4,9 +4,6 @@
...
}
: {
home.packages = with pkgs; [
xboxdrv
];
programs.kodi = {
enable = true;
package =

View file

@ -1,6 +1,7 @@
{
config,
pkgs,
lib,
...
}: let
modifier = config.windowManager.modifierKey;
@ -9,6 +10,7 @@
my-deps = {
notify-send = "${pkgs.libnotify}/bin/notify-send";
playerctl = "${pkgs.playerctl}/bin/playerctl";
brightnessctl = lib.getExe pkgs.brightnessctl;
grim = "${pkgs.grim}/bin/grim";
slurp = "${pkgs.slurp}/bin/slurp";
amixer = "${pkgs.alsa-utils}/bin/amixer";
@ -20,7 +22,7 @@
xargs = "${pkgs.findutils}/bin/xargs";
menu = config.programs.menu.dmenuCommand;
runmenu = config.programs.menu.drunCommand;
fileman = "${pkgs.pcmanfm}/bin/pcmanfm";
fileman = lib.getExe pkgs.cosmic-files;
gawk = "${pkgs.gawk}/bin/awk";
hyprpicker = "${pkgs.hyprpicker}/bin/hyprpicker";
sed = "${pkgs.gnused}/bin/sed";
@ -103,44 +105,35 @@ in {
];
}
{
name = "brightness-down";
name = "brightness";
text = ''
light -U $1
${my-deps.notify-send} "Brightness" -h int:value:$(light) -a brightness-down -t 1000
percent=$(${my-deps.brightnessctl} set $1 -m | awk -F, '{print $4}')
${my-deps.notify-send} "Brightness" -h "int:value:$percent" -h string:x-canonical-private-synchronous:brightness -t 3000
'';
hotkeys = [
{
modifier = "";
key = "XF86MonBrightnessDown";
args = "10";
args = "10%-";
}
{
modifier = "SHIFT";
key = "XF86MonBrightnessDown";
args = "1";
args = "1%-";
}
];
install = false;
}
{
name = "brightness-up";
text = ''
light -A $1
${my-deps.notify-send} "Brightness" -h int:value:$(light) -a brightness-up -t 1000
'';
hotkeys = [
{
modifier = "";
key = "XF86MonBrightnessUp";
args = "10";
args = "+10%";
}
{
modifier = "SHIFT";
key = "XF86MonBrightnessUp";
args = "1";
args = "+1%";
}
];
install = false;
install = true;
}
{
name = "picker";

View file

@ -10,7 +10,8 @@
extraConfig = ''
bind -n M-s split-window -v
bind -n M-v split-window -h
bind -n M-Enter split-window -h
bind -n M-S-s split-window -h -c "#{pane_current_path}"
bind -n M-S-v split-window -h -c "#{pane_current_path}"
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
@ -22,22 +23,10 @@
bind -n M-+ resize-pane -U 10
bind -n M-z resize-pane -Z
bind -n M-u copy-mode
bind -n M-p paste-buffer
bind -n M-p previous-window
bind -n M-n next-window
set-option -g renumber-windows on
'';
};
# programs.kitty = {
# enable = true;
# keybindings = {
# "alt+h" = "neighboring_window left";
# "alt+l" = "neighboring_window right";
# "alt+j" = "neighboring_window down";
# "alt+k" = "neighboring_window up";
# "alt+enter" = "new_window";
# };
# shellIntegration.enableZshIntegration = true;
# };
}

View file

@ -4,15 +4,13 @@
config,
...
}: let
pkg = config.programs.vscode.package;
code = lib.getExe config.programs.vscode.package;
menu = config.programs.menu.dmenuCommand;
editorCmd = "NIXOS_OZONE_WL= ${pkg}/bin/${pkg.executableName}";
in {
programs.vscode = {
enable = true;
package = lib.mkDefault pkgs.vscodium;
extensions = [];
userSettings = {
profiles.default.userSettings = {
"keyboard.dispatch" = "keyCode";
"terminal.integrated.sendKeybindingsToShell" = true;
"aws.telemetry" = false;
@ -32,7 +30,7 @@ in {
code_dir=~/Documents/code
cd $code_dir
repo=$(ls | ${menu})
[ -e "$repo" ] && ${editorCmd} $repo
[ -e "$repo" ] && ${code} $repo
'';
install = false;
hotkeys = [{key = "C";}];

View file

@ -4,11 +4,6 @@
...
}: let
modifier = config.windowManager.modifierKey;
browser = "${pkgs.brave}/opt/brave.com/brave/brave-browser";
pwa = {
slack = "mpagibdhafmlkgpemeicgogjnhclenoc";
teams = "cifhbcnohmdccbgoicgdjpfamggdegmo";
};
in {
roles.email = {
enable = true;
@ -26,16 +21,6 @@ in {
pkgs.thunderbird
pkgs.remmina
pkgs.postman
(import ../../lib/mkapp.nix "slack" {
inherit pkgs browser;
desktopName = "Slack";
app-id = pwa.slack;
})
(import ../../lib/mkapp.nix "teams" {
inherit pkgs browser;
app-id = pwa.teams;
desktopName = "Microsoft Teams";
})
pkgs.devcontainer
(pkgs.writeShellScriptBin "devcontainer-open" (
let
@ -64,21 +49,20 @@ in {
programs.vscode = {
package = pkgs.vscode;
extensions = with pkgs; [
profiles.default.extensions = with pkgs; [
vscode-extensions.ms-azuretools.vscode-docker
];
userSettings = {
"aws.telemetry" = false;
"gitlens.telemetry.enabled" = false;
"redhat.telemetry.enabled" = false;
};
};
wayland.windowManager.hyprland.settings = {
bind = [
"${modifier}, e, focuswindow, thunderbird"
"${modifier}, t, focuswindow, brave-${pwa.teams}-Profile_2"
"${modifier}, s, focuswindow, brave-${pwa.slack}-Profile_2"
];
};
programs.chromium = {
extensions = [
{id = "bfogiafebfohielmmehodmfbbebbbpei";}
];
};
}

View file

@ -48,30 +48,6 @@
}
]
'';
xdg.configFile."pipewire/pipewire.conf.d/raop-sink.conf".text = ''
context.modules = [
{ name = libpipewire-module-raop-sink
args = {
# Set the remote address to tunnel to
raop.ip = "127.0.0.1"
raop.port = 8190
raop.name = "my-raop-device"
raop.hostname = "My Service"
#raop.transport = "udp"
raop.encryption.type = "RSA"
#raop.audio.codec = "PCM"
#raop.password = "****"
#audio.format = "S16"
#audio.rate = 44100
#audio.channels = 2
#audio.position = [ FL FR ]
stream.props = {
# extra sink properties
}
}
}
]
'';
services.gnome-keyring.enable = true;
}

View file

@ -26,6 +26,7 @@ in {
smartindent = true;
scrolloff = 4;
smoothscroll = true;
ignorecase = true;
undofile = true;
undodir = lua ''vim.fn.expand("$HOME/.local/share/nvim/undo")'';
@ -176,11 +177,6 @@ in {
action = "";
options.desc = "LSP";
}
{
key = "<leader>h";
action = "";
options.desc = "Harpoon";
}
{
key = "<F5>";
action = luaFunc "require('dap').continue()";
@ -282,7 +278,6 @@ in {
settings = {
nixpkgs.expr = ''import <nixpkgs> {}'';
options.zenix.expr = ''(builtins.getFlake "git+https://git.tristans.cloud/tristan/nix").nixosConfigurations.zenix.options'';
options.alpine.expr = ''(builtins.getFlake "git+https://git.tristans.cloud/tristan/nix").nixosConfigurations.alpine.options'';
formatting.command = [(lib.getExe pkgs.alejandra)];
};
};
@ -302,13 +297,12 @@ in {
dap = {
enable = true;
extensions.dap-go = {
enable = true;
# tests.verbose = true; # ???
};
extensions.dap-ui = {
enable = true;
};
};
dap-go = {
enable = true;
};
dap-ui = {
enable = true;
};
cmp = {
@ -346,15 +340,6 @@ in {
lazygit.enable = true;
which-key.enable = true;
harpoon = {
enable = true;
keymaps = {
addFile = "<leader>ha";
toggleQuickMenu = "<leader>hf";
navNext = "<leader>n";
};
};
vim-css-color.enable = true;
treesitter = {

View file

@ -22,10 +22,16 @@ in {
enable = true;
device = "nodev";
efiSupport = true;
configurationLimit = 50;
};
boot.loader.efi.canTouchEfiVariables = true;
boot.tmp.useTmpfs = true;
networking.networkmanager.enable = true;
programs.nm-applet = {
enable = true;
indicator = true;
};
# fix nixos-containers
networking.nat.enable = true;
@ -83,6 +89,7 @@ in {
services.gvfs.enable = true;
environment.systemPackages = with pkgs; [
networkmanagerapplet
tealdeer
alsa-utils
trash-cli

View file

@ -17,7 +17,11 @@
dedicatedServer.openFirewall = true;
gamescopeSession = {
enable = true;
args = ["-r" "144" "-O" "DP-1" "--rt"];
args = ["-r" "120" "-W" "3840" "-H" "2160" "-O" "HDMI-A-1" "--rt" "--hdr-enabled" "--adaptive-sync"];
env = {
ENABLE_HDR_WSI = "1";
DXVK_HDR = "1";
};
};
};
programs.gamescope = {

View file

@ -1,5 +1,8 @@
{config, ...}: {
programs.hyprland.enable = true;
programs.hyprland = {
enable = true;
withUWSM = true;
};
security.pam.services.hyprlock = {};
imports = [

View file

@ -1,5 +1,4 @@
{pkgs, ...}: {
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;

View file

@ -4,7 +4,6 @@
musnix = {
enable = true;
rtcqs.enable = true;
kernel.realtime = true;
};
environment.systemPackages = with pkgs; [
ardour

View file

@ -35,6 +35,7 @@
enable = true;
image = ../images/nix-soft.png;
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
polarity = "dark";
opacity = {
terminal = 0.9;
applications = 0.9;
@ -46,14 +47,11 @@
package = pkgs.vanilla-dmz;
size = 24;
};
# autoEnable = true;
targets = {
gtk.enable = false; # fails to switch with cosmic overriding it (grr)
gnome.enable = false;
qt.enable = true;
grub = {
useImage = true;
};
nixvim = {
enable = false;
useWallpaper = true;
};
};
};