Unified Laptop and Desktop
This commit is contained in:
BIN
WE-Lake.png
BIN
WE-Lake.png
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 MiB |
BIN
assets/pfp.jpg
Normal file
BIN
assets/pfp.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 71 KiB |
217
flake.lock
generated
217
flake.lock
generated
@@ -1,27 +1,5 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"ags": {
|
|
||||||
"inputs": {
|
|
||||||
"astal": "astal_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprpanel",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1744557573,
|
|
||||||
"narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=",
|
|
||||||
"owner": "aylur",
|
|
||||||
"repo": "ags",
|
|
||||||
"rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "aylur",
|
|
||||||
"repo": "ags",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"astal": {
|
"astal": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -29,54 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750020774,
|
"lastModified": 1751126708,
|
||||||
"narHash": "sha256-43lMH+9/0EHRhMuNvvo3Izvp1wXyMcSKRi8F2wSTepY=",
|
"narHash": "sha256-AodIKw7TmI7rHVcOfEsO82stupMYIMVQeLAUQfVxnkU=",
|
||||||
"owner": "aylur",
|
"owner": "aylur",
|
||||||
"repo": "astal",
|
"repo": "astal",
|
||||||
"rev": "ca3190d077d09b9597e7de471a8e388a08f112e9",
|
"rev": "ac90f09385a2295da9fdc108aaba4a317aaeacc7",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "aylur",
|
|
||||||
"repo": "astal",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"astal_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprpanel",
|
|
||||||
"ags",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1742571008,
|
|
||||||
"narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=",
|
|
||||||
"owner": "aylur",
|
|
||||||
"repo": "astal",
|
|
||||||
"rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "aylur",
|
|
||||||
"repo": "astal",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"astal_3": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprpanel",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748416910,
|
|
||||||
"narHash": "sha256-FEQcs58HL8Fe4i7XlqVEUwthjxwvRvgX15gTTfW17sU=",
|
|
||||||
"owner": "aylur",
|
|
||||||
"repo": "astal",
|
|
||||||
"rev": "c1bd89a47c81c66ab5fc6872db5a916c0433fb89",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -169,6 +104,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1688025799,
|
||||||
|
"narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746162366,
|
"lastModified": 1746162366,
|
||||||
@@ -192,11 +142,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749398372,
|
"lastModified": 1751413152,
|
||||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -284,11 +234,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750304462,
|
"lastModified": 1751824240,
|
||||||
"narHash": "sha256-Mj5t4yX05/rXnRqJkpoLZTWqgStB88Mr/fegTRqyiWc=",
|
"narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "863842639722dd12ae9e37ca83bcb61a63b36f6c",
|
"rev": "fd9e55f5fac45a26f6169310afca64d56b681935",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -318,26 +268,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprpanel": {
|
|
||||||
"inputs": {
|
|
||||||
"ags": "ags",
|
|
||||||
"astal": "astal_3",
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1750486389,
|
|
||||||
"narHash": "sha256-zOlR4uiw++aFWNRvlARY6Uz5VeXQFKXDMlUX45XSDX0=",
|
|
||||||
"owner": "Jas-SinghFSU",
|
|
||||||
"repo": "HyprPanel",
|
|
||||||
"rev": "0c2bcb773cdd55d385e68d59c8d43a066c029895",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Jas-SinghFSU",
|
|
||||||
"repo": "HyprPanel",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ixx": {
|
"ixx": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
"flake-utils": [
|
||||||
@@ -368,11 +298,11 @@
|
|||||||
},
|
},
|
||||||
"master": {
|
"master": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750562696,
|
"lastModified": 1751914753,
|
||||||
"narHash": "sha256-Gxh6uZvgYCs5VaHtkxAWRZoBeoaWorU+EUlFrclhkWM=",
|
"narHash": "sha256-46zytRNdtF3SpFI/bh+AYR6stQCk7Ad79egf79uG/uI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "42cce0e237cd0ed6ae2bc3c5840b1188966a0e42",
|
"rev": "e69f17b2fda2842ad65707ce3d3c65d62218dcd4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -382,9 +312,30 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixos-cosmic": {
|
"nixos-apple-silicon": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1751622568,
|
||||||
|
"narHash": "sha256-EE3NBsej517VRa1x+ylAghrvngftxf1KgfHlE9OYyXE=",
|
||||||
|
"owner": "tpwrules",
|
||||||
|
"repo": "nixos-apple-silicon",
|
||||||
|
"rev": "eba4b40c816e5aff8951ae231ac237e8aab8ec1d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tpwrules",
|
||||||
|
"repo": "nixos-apple-silicon",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixos-cosmic": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
@@ -392,11 +343,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750520039,
|
"lastModified": 1751591814,
|
||||||
"narHash": "sha256-sMxE77+YqBC8beZDUskuqM2NliKPBt+V9pL2OAE9Bys=",
|
"narHash": "sha256-A4lgvuj4v+Pr8MniXz1FBG0DXOygi8tTECR+j53FMhM=",
|
||||||
"owner": "lilyinstarlight",
|
"owner": "lilyinstarlight",
|
||||||
"repo": "nixos-cosmic",
|
"repo": "nixos-cosmic",
|
||||||
"rev": "be0365958fcdb3681cad94b8daaf286466259602",
|
"rev": "fef2d0c78c4e4d6c600a88795af193131ff51bdc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -407,27 +358,26 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748370509,
|
"lastModified": 1751792365,
|
||||||
"narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=",
|
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4faa5f5321320e49a78ae7848582f684d64783e9",
|
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"type": "indirect"
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750330365,
|
"lastModified": 1751048012,
|
||||||
"narHash": "sha256-hJ7XMNVsTnnbV2NPmStCC07gvv5l2x7+Skb7hyUzazg=",
|
"narHash": "sha256-MYbotu4UjWpTsq01wglhN5xDRfZYLFtNk7SBY0BcjkU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d883b6213afa179b58ba8bace834f1419707d0ad",
|
"rev": "a684c58d46ebbede49f280b653b9e56100aa3877",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -438,21 +388,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1750365781,
|
|
||||||
"narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "nixpkgs",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743448293,
|
"lastModified": 1743448293,
|
||||||
"narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=",
|
"narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=",
|
||||||
@@ -478,11 +413,11 @@
|
|||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750345447,
|
"lastModified": 1751904655,
|
||||||
"narHash": "sha256-yOuSSfI4xovXQpSkZUK02CBcY1f0Nvm0RhnUN8xn2rY=",
|
"narHash": "sha256-lHAj9Xh/vBf3cXns1wN5HPw/zwGTO/Uv/ttloBok1n4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "6a1a348ab1f00bd32d2392b5c2fc72489c699af3",
|
"rev": "bc997a240953bda9fa526e8a3d6f798a6072308a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -544,10 +479,10 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"astal": "astal",
|
"astal": "astal",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprpanel": "hyprpanel",
|
|
||||||
"master": "master",
|
"master": "master",
|
||||||
|
"nixos-apple-silicon": "nixos-apple-silicon",
|
||||||
"nixos-cosmic": "nixos-cosmic",
|
"nixos-cosmic": "nixos-cosmic",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"zen-browser": "zen-browser"
|
"zen-browser": "zen-browser"
|
||||||
@@ -561,11 +496,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750473400,
|
"lastModified": 1751251399,
|
||||||
"narHash": "sha256-wiW2j63MyGQyyijRF25hf7Ab7vx4G8pCiGjUe3OGV4c=",
|
"narHash": "sha256-y+viCuy/eKKpkX1K2gDvXIJI/yzvy6zA3HObapz9XZ0=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "3d7d4c4e284f26d6dc4840491c66884912be0062",
|
"rev": "b22d5ee8c60ed1291521f2dde48784edd6bf695b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -595,11 +530,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751840923,
|
"lastModified": 1751914048,
|
||||||
"narHash": "sha256-4HZxn+PrWytrWVg5c5SEetv3m9/k7rngJq27zKuRIfo=",
|
"narHash": "sha256-xHO3xlw35tCC0f3pN3osPNjgwwwAgusTuZk5iC8oDiE=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "5259682ce58d935f248297bf1c9793a5cee0787e",
|
"rev": "bf0ef81c8fcc30c32db9dab32d379f8d9db835e4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -759,14 +694,14 @@
|
|||||||
"zen-browser": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750557004,
|
"lastModified": 1751858709,
|
||||||
"narHash": "sha256-P3H0y4eYALvie8iFcT1LqmR+cB5UgT/qFoUWY/CX5O4=",
|
"narHash": "sha256-xghd1GDPRSa6aD6tEk2JCuQDZWdHITlCA/stwSVoZJQ=",
|
||||||
"owner": "0xc000022070",
|
"owner": "0xc000022070",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "5bebd80f8684a7298013fcf9bf846369d3a6542a",
|
"rev": "216dd333fa41aa013bf8aab9322d7c1a2aee5b4a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
39
flake.nix
39
flake.nix
@@ -14,11 +14,14 @@
|
|||||||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
||||||
master.url = "github:NixOS/nixpkgs/master";
|
master.url = "github:NixOS/nixpkgs/master";
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
|
|
||||||
nixvim = {
|
nixvim = {
|
||||||
url = "github:nix-community/nixvim";
|
url = "github:nix-community/nixvim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
nixos-apple-silicon = {
|
||||||
|
url = "github:tpwrules/nixos-apple-silicon";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
astal = {
|
astal = {
|
||||||
url = "github:aylur/astal";
|
url = "github:aylur/astal";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -26,7 +29,7 @@
|
|||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, stylix, astal, nixpkgs, nixos-cosmic, home-manager, hyprpanel, zen-browser, master, nixvim }@inputs:
|
outputs = { self, stylix, astal, nixpkgs, nixos-cosmic, home-manager, zen-browser, master, nixos-apple-silicon, nixvim }@inputs:
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
nixos = nixpkgs.lib.nixosSystem {
|
nixos = nixpkgs.lib.nixosSystem {
|
||||||
@@ -39,23 +42,45 @@
|
|||||||
substituters = [ "https://cosmic.cachix.org/" ];
|
substituters = [ "https://cosmic.cachix.org/" ];
|
||||||
trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ];
|
trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ];
|
||||||
};
|
};
|
||||||
nixpkgs.overlays =
|
|
||||||
[ inputs.hyprpanel.overlay ];
|
|
||||||
_module.args = { inherit inputs; };
|
|
||||||
}
|
}
|
||||||
#stylix.nixosModules.stylix
|
#stylix.nixosModules.stylix
|
||||||
nixos-cosmic.nixosModules.default
|
nixos-cosmic.nixosModules.default
|
||||||
./configuration.nix
|
./hosts/desktop/configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = {inherit inputs;};
|
home-manager.extraSpecialArgs = {inherit inputs;};
|
||||||
home-manager.users.joshuaelm = {
|
home-manager.users.joshuaelm = {
|
||||||
imports = [ ./home.nix nixvim.homeManagerModules.nixvim stylix.homeModules.stylix ];
|
imports = [ ./hosts/desktop/home.nix nixvim.homeManagerModules.nixvim stylix.homeModules.stylix ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
nixos-laptop = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = {inherit nixvim;};
|
||||||
|
specialArgs.inputs = inputs;
|
||||||
|
modules = [
|
||||||
|
{
|
||||||
|
nix.settings = {
|
||||||
|
substituters = [ "https://cosmic.cachix.org/" ];
|
||||||
|
trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
nixos-apple-silicon.nixosModules.apple-silicon-support
|
||||||
|
#stylix.nixosModules.stylix
|
||||||
|
nixos-cosmic.nixosModules.default
|
||||||
|
./hosts/mac-laptop/configuration.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.extraSpecialArgs = {inherit inputs;};
|
||||||
|
home-manager.users.joshuaelm = {
|
||||||
|
imports = [ ./hosts/mac-laptop/home.nix nixvim.homeManagerModules.nixvim stylix.homeModules.stylix ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
28
gs.sh
28
gs.sh
@@ -1,28 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -xeuo pipefail
|
|
||||||
|
|
||||||
gamescopeArgs=(
|
|
||||||
--adaptive-sync # VRR support
|
|
||||||
--hdr-enabled
|
|
||||||
--mangoapp # performance overlay
|
|
||||||
--rt
|
|
||||||
--steam
|
|
||||||
)
|
|
||||||
steamArgs=(
|
|
||||||
-pipewire-dmabuf
|
|
||||||
-tenfoot
|
|
||||||
)
|
|
||||||
mangoConfig=(
|
|
||||||
cpu_temp
|
|
||||||
gpu_temp
|
|
||||||
ram
|
|
||||||
vram
|
|
||||||
)
|
|
||||||
mangoVars=(
|
|
||||||
MANGOHUD=1
|
|
||||||
MANGOHUD_CONFIG="$(IFS=,; echo "${mangoConfig[*]}")"
|
|
||||||
)
|
|
||||||
|
|
||||||
export "${mangoVars[@]}"
|
|
||||||
exec gamescope "${gamescopeArgs[@]}" -- steam "${steamArgs[@]}"
|
|
||||||
|
|
||||||
423
hosts/desktop/configuration.nix
Normal file
423
hosts/desktop/configuration.nix
Normal file
@@ -0,0 +1,423 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{ config, pkgs, master, lib, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.grub.enable = true;
|
||||||
|
boot.loader.grub.devices = ["nodev"];
|
||||||
|
boot.loader.grub.useOSProber = true;
|
||||||
|
boot.loader.grub.efiSupport = true;
|
||||||
|
boot.initrd.systemd.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.loader.grub.timeoutStyle = "hidden";
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
|
||||||
|
plymouth = {
|
||||||
|
enable = true;
|
||||||
|
theme = "square_hud";
|
||||||
|
themePackages = with pkgs; [
|
||||||
|
# By default we would install all themes
|
||||||
|
(adi1090x-plymouth-themes.override {
|
||||||
|
selected_themes = [ "square_hud" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable "Silent Boot"
|
||||||
|
consoleLogLevel = 0;
|
||||||
|
initrd.verbose = false;
|
||||||
|
kernelParams = [
|
||||||
|
"quiet"
|
||||||
|
"splash"
|
||||||
|
"boot.shell_on_fail"
|
||||||
|
"loglevel=3"
|
||||||
|
"rd.systemd.show_status=false"
|
||||||
|
"rd.udev.log_level=3"
|
||||||
|
"udev.log_priority=3"
|
||||||
|
];
|
||||||
|
# Hide the OS choice for bootloaders.
|
||||||
|
# It's still possible to open the bootloader list by pressing any key
|
||||||
|
# It will just not appear on screen unless a key is pressed
|
||||||
|
loader.timeout = 0;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.extraModulePackages = with config.boot.kernelPackages; [ hid-tmff2 ];
|
||||||
|
|
||||||
|
networking.hostName = "nixos"; # Define your hostname.
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.package = pkgs.bluez;
|
||||||
|
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"electron-31.7.7"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.variables.AMD_VULKAN_ICD = "RADV";
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "America/Chicago";
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_US.UTF-8";
|
||||||
|
LC_MONETARY = "en_US.UTF-8";
|
||||||
|
LC_NAME = "en_US.UTF-8";
|
||||||
|
LC_NUMERIC = "en_US.UTF-8";
|
||||||
|
LC_PAPER = "en_US.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_US.UTF-8";
|
||||||
|
LC_TIME = "en_US.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the X11 windowing sytem.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Enable the GNOME Desktop Environment.
|
||||||
|
services.desktopManager.plasma6.enable = false;
|
||||||
|
services.displayManager.sddm.enable = false;
|
||||||
|
services.displayManager.cosmic-greeter.enable = false;
|
||||||
|
services.desktopManager.cosmic.enable = false;
|
||||||
|
/*services.displayManager = {
|
||||||
|
autoLogin.enable = true;
|
||||||
|
autoLogin.user = "joshuaelm";
|
||||||
|
};*/
|
||||||
|
security.pam.services.hyprlock = {};
|
||||||
|
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
settings = rec {
|
||||||
|
initial_session = {
|
||||||
|
command = "${pkgs.hyprland}/bin/Hyprland";
|
||||||
|
user = "joshuaelm";
|
||||||
|
};
|
||||||
|
default_session = initial_session;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Steam Deck Gamemode
|
||||||
|
programs.steam.gamescopeSession.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Polkit
|
||||||
|
|
||||||
|
security.polkit.enable = true;
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver = {
|
||||||
|
xkb.layout = "us";
|
||||||
|
xkb.variant = "";
|
||||||
|
excludePackages = [ pkgs.xterm ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable Swap
|
||||||
|
|
||||||
|
/*swapDevices = [ {
|
||||||
|
device = "/var/lib/swapfile";
|
||||||
|
size = 16*1024;
|
||||||
|
}];*/
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
services.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
|
# If you want to use JACK applications, uncomment this
|
||||||
|
#jack.enable = true;
|
||||||
|
|
||||||
|
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||||
|
# no need to redefine it in your config for now)
|
||||||
|
#media-session.enable = true;
|
||||||
|
};
|
||||||
|
hardware.pulseaudio.configFile = pkgs.runCommand "default.pa" {} ''
|
||||||
|
sed 's/module-udev-detect$/module-udev-detect tsched=0/' \
|
||||||
|
${pkgs.pulseaudio}/etc/pulse/default.pa > $out
|
||||||
|
'';
|
||||||
|
environment.etc."wireplumber/main.lua.d/90-suspend-timeout.lua" = {
|
||||||
|
text = ''
|
||||||
|
session.suspend-timeout-seconds = 0
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
services.pipewire.extraConfig.pipewire-pulse."92-low-latency" = {
|
||||||
|
context.modules = [
|
||||||
|
{
|
||||||
|
name = "libpipewire-module-protocol-pulse";
|
||||||
|
args = {
|
||||||
|
pulse.min.req = "32/48000";
|
||||||
|
pulse.default.req = "32/48000";
|
||||||
|
pulse.max.req = "32/48000";
|
||||||
|
pulse.min.quantum = "32/48000";
|
||||||
|
pulse.max.quantum = "32/48000";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
stream.properties = {
|
||||||
|
node.latency = "32/48000";
|
||||||
|
resample.quality = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
hardware.pulseaudio.extraConfig = ''
|
||||||
|
.nofail
|
||||||
|
unload-module module-suspend-on-idle
|
||||||
|
.fail
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
programs.adb.enable = true;
|
||||||
|
users.users.joshuaelm = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Joshua Elmasri";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "adbusers" ];
|
||||||
|
packages = with pkgs; [
|
||||||
|
# thunderbird
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.optimise.automatic = true;
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# Configure drives
|
||||||
|
|
||||||
|
fileSystems."/mnt/Games" = {
|
||||||
|
device = "/dev/nvme0n1p1";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [
|
||||||
|
"users"
|
||||||
|
"nofail"
|
||||||
|
"x-gvfs-show"
|
||||||
|
"exec"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
fileSystems."/mnt/More-Games" = {
|
||||||
|
device = "/dev/disk/by-uuid/eb1d5913-63fb-4fd8-8299-b428fd2d5ea0";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [
|
||||||
|
"users"
|
||||||
|
"nofail"
|
||||||
|
"x-gvfs-show"
|
||||||
|
"exec"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
fira-code
|
||||||
|
fira-code-symbols
|
||||||
|
roboto
|
||||||
|
nerd-fonts.fira-code
|
||||||
|
nerd-fonts.jetbrains-mono
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
(pkgs.buildFHSEnv {
|
||||||
|
name = "fhs";
|
||||||
|
targetPkgs = pkgs: with pkgs; [
|
||||||
|
alsa-lib atk cairo cups curl dbus expat file fish fontconfig freetype
|
||||||
|
fuse glib gtk3 libGL libnotify libxml2 libxslt netcat nspr nss openjdk8
|
||||||
|
openssl.dev cava pango appimage-run pkg-config strace udev vulkan-loader watch wget which
|
||||||
|
xorg.libX11 icu xorg.libxcb xorg.libXcomposite xorg.libXcursor
|
||||||
|
xorg.libXdamage xorg.libXext xorg.libXfixes xorg.libXi xorg.libXrandr
|
||||||
|
xorg.libXrender xorg.libXScrnSaver openssl xorg.libxshmfence xorg.libXtst
|
||||||
|
xorg.xcbutilkeysyms zlib fontconfig.lib SDL2 libGL libuuid xorg.libXft
|
||||||
|
];
|
||||||
|
profile = ''export FHS=1'';
|
||||||
|
runScript = "fish";
|
||||||
|
})
|
||||||
|
git
|
||||||
|
bibata-cursors
|
||||||
|
killall
|
||||||
|
mangohud
|
||||||
|
aonsoku
|
||||||
|
teamspeak3
|
||||||
|
cemu
|
||||||
|
teamspeak6-client
|
||||||
|
unetbootin
|
||||||
|
labymod-launcher
|
||||||
|
unzip
|
||||||
|
winetricks
|
||||||
|
cowsay
|
||||||
|
pfetch
|
||||||
|
ryujinx
|
||||||
|
hyprpolkitagent
|
||||||
|
gomatrix
|
||||||
|
python3
|
||||||
|
pavucontrol
|
||||||
|
gnomeExtensions.tray-icons-reloaded
|
||||||
|
cider
|
||||||
|
xfce.thunar
|
||||||
|
gnomeExtensions.open-bar
|
||||||
|
wallust
|
||||||
|
steamtinkerlaunch
|
||||||
|
grub2
|
||||||
|
cargo
|
||||||
|
inputs.zen-browser.packages."${system}".default
|
||||||
|
qalculate-qt
|
||||||
|
kdePackages.kdenlive
|
||||||
|
blueman
|
||||||
|
fuse
|
||||||
|
linux-wallpaperengine
|
||||||
|
ntfs3g
|
||||||
|
lapce
|
||||||
|
prismlauncher
|
||||||
|
librewolf
|
||||||
|
protonup-qt
|
||||||
|
mlt
|
||||||
|
nspr
|
||||||
|
nss_latest
|
||||||
|
nssTools
|
||||||
|
qt5.full
|
||||||
|
dconf
|
||||||
|
openjdk23
|
||||||
|
heroic
|
||||||
|
protontricks
|
||||||
|
gamescope
|
||||||
|
playerctl
|
||||||
|
libsForQt5.qt5.qtwebsockets
|
||||||
|
wine
|
||||||
|
alvr
|
||||||
|
bottles
|
||||||
|
cava
|
||||||
|
pop-icon-theme
|
||||||
|
gnome-tweaks
|
||||||
|
libnotify
|
||||||
|
libreoffice
|
||||||
|
hunspell
|
||||||
|
hunspellDicts.en_US
|
||||||
|
neovide
|
||||||
|
flatpak
|
||||||
|
gradience
|
||||||
|
];
|
||||||
|
|
||||||
|
# VirtualBox
|
||||||
|
|
||||||
|
virtualisation.virtualbox.host.enable = true;
|
||||||
|
users.extraGroups.vboxusers.members = [ "user-with-access-to-virtualbox" ];
|
||||||
|
|
||||||
|
|
||||||
|
services.sunshine = {
|
||||||
|
enable = true;
|
||||||
|
autoStart = true;
|
||||||
|
capSysAdmin = true;
|
||||||
|
openFirewall = true;
|
||||||
|
|
||||||
|
};
|
||||||
|
# Enable Steam
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||||
|
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
steam = pkgs.steam.override {
|
||||||
|
extraLibraries = pkgs: [ pkgs.xorg.libxcb ];
|
||||||
|
extraPkgs = pkgs: with pkgs; [
|
||||||
|
xorg.libXcursor
|
||||||
|
xorg.libXi
|
||||||
|
xorg.libXinerama
|
||||||
|
xorg.libXScrnSaver
|
||||||
|
libpng
|
||||||
|
libpulseaudio
|
||||||
|
libvorbis
|
||||||
|
stdenv.cc.cc.lib
|
||||||
|
libkrb5
|
||||||
|
keyutils
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gamescope = {
|
||||||
|
enable = true;
|
||||||
|
capSysNice = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
# programs.mtr.enable = true;
|
||||||
|
# programs.gnupg.agent = {
|
||||||
|
# enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
services.openssh.enable = true;
|
||||||
|
services.openssh.allowSFTP = true;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
networking.firewall.allowedTCPPorts = [ 7860 3042 47990 48010 5001 ];
|
||||||
|
networking.firewall.allowedUDPPorts = [ 7860 3042 47990 4800 48010 ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
# Enable lakes
|
||||||
|
nix = {
|
||||||
|
extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
39
hosts/desktop/hardware-configuration.nix
Normal file
39
hosts/desktop/hardware-configuration.nix
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/b6501e43-45c0-46bc-b77f-2f42c3a15572";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=@" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/FE68-923D";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# 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.enp3s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
134
hosts/desktop/home.nix
Normal file
134
hosts/desktop/home.nix
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Home Manager needs a bit of information about you and the
|
||||||
|
# paths it should manage.
|
||||||
|
home.username = "joshuaelm";
|
||||||
|
home.homeDirectory = "/home/joshuaelm";
|
||||||
|
|
||||||
|
imports = [ ../../modules/nvim ../../modules/stylix.nix ../../modules/hypr/hyprland_desktop.nix ];
|
||||||
|
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.element-desktop
|
||||||
|
pkgs.waybar
|
||||||
|
pkgs.signal-desktop-bin
|
||||||
|
pkgs.swaybg
|
||||||
|
pkgs.gpu-screen-recorder
|
||||||
|
pkgs.gpu-screen-recorder-gtk
|
||||||
|
pkgs.supersonic
|
||||||
|
pkgs.adw-gtk3
|
||||||
|
pkgs.hyprpanel
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.hyprlock.enable = false;
|
||||||
|
programs.kitty.enable = true;
|
||||||
|
programs.cava.enable = true;
|
||||||
|
programs.btop.enable = true;
|
||||||
|
programs.rofi.enable = true;
|
||||||
|
programs.rofi.package = pkgs.rofi-wayland;
|
||||||
|
services.hyprpaper.enable = true;
|
||||||
|
wayland.windowManager.hyprland.enable = true;
|
||||||
|
|
||||||
|
#xdg.configFile.hypr.source = ./modules/hypr;
|
||||||
|
xdg.configFile.waybar.source = ./modules/waybar;
|
||||||
|
xdg.configFile.cava.source = ./modules/cava;
|
||||||
|
#xdg.configFile.kitty.source = ./modules/kitty;
|
||||||
|
#xdg.configFile.rofi.source = ./modules/rofi;
|
||||||
|
xdg.configFile.dunst.source = ./modules/dunst;
|
||||||
|
home.file.".cache/ags/hyprpanel/options.json".source = ./modules/hyprpanel/options.json;
|
||||||
|
|
||||||
|
xdg.configFile.waybar.force = true;
|
||||||
|
xdg.configFile.cava.force = true;
|
||||||
|
xdg.configFile.dunst.force = true;
|
||||||
|
home.file.".cache/ags/hyprpanel/options.json".force = true;
|
||||||
|
|
||||||
|
home.file.".icons/default".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
|
||||||
|
|
||||||
|
services.mpd-mpris.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
programs.rofi.extraConfig = {
|
||||||
|
show-icons = true;
|
||||||
|
drun-display-format = "{icon} {name}";
|
||||||
|
hide-scrollbar = true;
|
||||||
|
sidebar-mode = true;
|
||||||
|
dpi = 110;
|
||||||
|
font = "FreeSans Regular 12";
|
||||||
|
icon-theme = "Gruvbox-Plus-Dark";
|
||||||
|
};
|
||||||
|
programs.rofi.theme = {
|
||||||
|
window.height = 600;
|
||||||
|
window.width = 600;
|
||||||
|
window.border-radius = 10;
|
||||||
|
|
||||||
|
element = {
|
||||||
|
padding = 5;
|
||||||
|
border-radius = 10;
|
||||||
|
};
|
||||||
|
inputbar.padding = 14;
|
||||||
|
listview = {
|
||||||
|
padding = 8;
|
||||||
|
border-radius = "0 0 10 10";
|
||||||
|
border = "2 2 2 2";
|
||||||
|
dynamic = false;
|
||||||
|
};
|
||||||
|
"element-text element-icon" = {
|
||||||
|
size = 40;
|
||||||
|
margin = "0 10 0 0";
|
||||||
|
};
|
||||||
|
mainbox.children = "inputbar, message, listview";
|
||||||
|
mainbox.spacing = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.kitty.extraConfig = ''
|
||||||
|
font_family Fira Code Nerd Font
|
||||||
|
bold_font auto
|
||||||
|
italic_font auto
|
||||||
|
bold_italic_font auto
|
||||||
|
confirm_os_window_close 0
|
||||||
|
cursor_shape beam
|
||||||
|
cursor_trail 3
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
|
# This value determines the Home Manager release that your
|
||||||
|
# configuration is compatible with. This helps avoid breakage
|
||||||
|
# when a new Home Manager release introduces backwards
|
||||||
|
# incompatible changes.
|
||||||
|
#
|
||||||
|
# You can update Home Manager without changing this value. See
|
||||||
|
# the Home Manager release notes for a list of state version
|
||||||
|
# changes in each release.
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
xdg.dataFile = {
|
||||||
|
"Steam/compatibilitytools.d/SteamTinkerLaunch/compatibilitytool.vdf".text = ''
|
||||||
|
"compatibilitytools"
|
||||||
|
{
|
||||||
|
"compat_tools"
|
||||||
|
{
|
||||||
|
"Proton-stl" // Internal name of this tool
|
||||||
|
{
|
||||||
|
"install_path" "."
|
||||||
|
"display_name" "Steam Tinker Launch"
|
||||||
|
|
||||||
|
"from_oslist" "windows"
|
||||||
|
"to_oslist" "linux"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
"Steam/compatibilitytools.d/SteamTinkerLaunch/steamtinkerlaunch".source =
|
||||||
|
config.lib.file.mkOutOfStoreSymlink "${pkgs.steamtinkerlaunch}/bin/steamtinkerlaunch";
|
||||||
|
"Steam/compatibilitytools.d/SteamTinkerLaunch/toolmanifest.vdf".text = ''
|
||||||
|
"manifest"
|
||||||
|
{
|
||||||
|
"commandline" "/steamtinkerlaunch run"
|
||||||
|
"commandline_waitforexitandrun" "/steamtinkerlaunch waitforexitandrun"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
||||||
215
hosts/mac-laptop/configuration.nix
Normal file
215
hosts/mac-laptop/configuration.nix
Normal file
@@ -0,0 +1,215 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
powerManagement.enable = true;
|
||||||
|
hardware.asahi.peripheralFirmwareDirectory = ./firmware;
|
||||||
|
hardware.asahi.enable = true;
|
||||||
|
services.upower.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = false;
|
||||||
|
boot = {
|
||||||
|
|
||||||
|
plymouth = {
|
||||||
|
enable = true;
|
||||||
|
theme = "square_hud";
|
||||||
|
themePackages = with pkgs; [
|
||||||
|
# By default we would install all themes
|
||||||
|
(adi1090x-plymouth-themes.override {
|
||||||
|
selected_themes = [ "square_hud" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable "Silent Boot"
|
||||||
|
consoleLogLevel = 0;
|
||||||
|
initrd.verbose = false;
|
||||||
|
kernelParams = [
|
||||||
|
"quiet"
|
||||||
|
"splash"
|
||||||
|
"boot.shell_on_fail"
|
||||||
|
"loglevel=3"
|
||||||
|
"rd.systemd.show_status=false"
|
||||||
|
"rd.udev.log_level=3"
|
||||||
|
"udev.log_priority=3"
|
||||||
|
];
|
||||||
|
# Hide the OS choice for bootloaders.
|
||||||
|
# It's still possible to open the bootloader list by pressing any key
|
||||||
|
# It will just not appear on screen unless a key is pressed
|
||||||
|
loader.timeout = 0;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.hostName = "nixos-laptop"; # Define your hostname.
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "America/Chicago";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_US.UTF-8";
|
||||||
|
LC_MONETARY = "en_US.UTF-8";
|
||||||
|
LC_NAME = "en_US.UTF-8";
|
||||||
|
LC_NUMERIC = "en_US.UTF-8";
|
||||||
|
LC_PAPER = "en_US.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_US.UTF-8";
|
||||||
|
LC_TIME = "en_US.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable Cosmic
|
||||||
|
services.desktopManager.cosmic.enable = false;
|
||||||
|
services.displayManager.cosmic-greeter.enable = false;
|
||||||
|
services.xserver.desktopManager.gnome.enable = false;
|
||||||
|
services.desktopManager.plasma6.enable = false;
|
||||||
|
services.displayManager.sddm.enable = false;
|
||||||
|
services.libinput.enable = true;
|
||||||
|
programs.hyprland.enable = true;
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
settings = rec {
|
||||||
|
initial_session = {
|
||||||
|
command = "${pkgs.hyprland}/bin/Hyprland";
|
||||||
|
user = "joshuaelm";
|
||||||
|
};
|
||||||
|
default_session = initial_session;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# Swap
|
||||||
|
swapDevices = [ {
|
||||||
|
device = "/var/lib/swapfile";
|
||||||
|
size = 16*1024;
|
||||||
|
} ];
|
||||||
|
|
||||||
|
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.asahi.useExperimentalGPUDriver = true;
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "us";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# fingerprint
|
||||||
|
systemd.services.fprintd = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig.Type = "simple";
|
||||||
|
};
|
||||||
|
services.fprintd.enable = true;
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.joshuaelm = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Joshua Elmasri";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "adbusers" "dialout" ];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.adb.enable = true;
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
# Flatpak
|
||||||
|
#services.flatpak.enable = true;
|
||||||
|
#services.flatpak.update.onActivation = true;
|
||||||
|
#services.flatpak.packages = [
|
||||||
|
# "app.bluebubbles.BlueBubbles"
|
||||||
|
# "com.github.johnfactotum.Foliate"
|
||||||
|
# "org.jdownloader.JDownloader"
|
||||||
|
#];
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
fira-code
|
||||||
|
fira-code-symbols
|
||||||
|
roboto
|
||||||
|
nerd-fonts.fira-code
|
||||||
|
nerd-fonts.jetbrains-mono
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
programs.kdeconnect.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
|
# wget
|
||||||
|
neovim
|
||||||
|
killall
|
||||||
|
hypridle
|
||||||
|
git
|
||||||
|
bibata-cursors
|
||||||
|
element-desktop
|
||||||
|
rofi-wayland
|
||||||
|
inputs.zen-browser.packages.${pkgs.system}.default
|
||||||
|
playerctl
|
||||||
|
cava
|
||||||
|
moonlight-qt
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bluetooth
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
# programs.mtr.enable = true;
|
||||||
|
# programs.gnupg.agent = {
|
||||||
|
# enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
# services.openssh.enable = true;
|
||||||
|
|
||||||
|
# Enable Flakes
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
system.stateVersion = "25.05"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
||||||
BIN
hosts/mac-laptop/firmware/all_firmware.tar.gz
Executable file
BIN
hosts/mac-laptop/firmware/all_firmware.tar.gz
Executable file
Binary file not shown.
BIN
hosts/mac-laptop/firmware/kernelcache.release.mac13g
Executable file
BIN
hosts/mac-laptop/firmware/kernelcache.release.mac13g
Executable file
Binary file not shown.
37
hosts/mac-laptop/hardware-configuration.nix
Normal file
37
hosts/mac-laptop/hardware-configuration.nix
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "usb_storage" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/089c3a91-0f69-4a24-8ca0-e7a4a817be07";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/4267-12F5";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# 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.wlan0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
|
||||||
|
}
|
||||||
126
hosts/mac-laptop/home.nix
Normal file
126
hosts/mac-laptop/home.nix
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Home Manager needs a bit of information about you and the
|
||||||
|
# paths it should manage.
|
||||||
|
home.username = "joshuaelm";
|
||||||
|
home.homeDirectory = "/home/joshuaelm";
|
||||||
|
|
||||||
|
imports = [ ../../modules/nvim ../../modules/stylix.nix ../../modules/hypr/hyprland_laptop.nix ];
|
||||||
|
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.element-desktop
|
||||||
|
pkgs.waybar
|
||||||
|
pkgs.signal-desktop-bin
|
||||||
|
pkgs.supersonic
|
||||||
|
pkgs.adw-gtk3
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.hyprlock.enable = false;
|
||||||
|
programs.kitty.enable = true;
|
||||||
|
programs.cava.enable = true;
|
||||||
|
programs.btop.enable = true;
|
||||||
|
programs.rofi.enable = true;
|
||||||
|
programs.rofi.package = pkgs.rofi-wayland;
|
||||||
|
services.hyprpaper.enable = true;
|
||||||
|
wayland.windowManager.hyprland.enable = true;
|
||||||
|
|
||||||
|
#xdg.configFile.hypr.source = ./modules/hypr;
|
||||||
|
#xdg.configFile.waybar.source = ./modules/waybar;
|
||||||
|
#xdg.configFile.cava.source = ./modules/cava;
|
||||||
|
#xdg.configFile.kitty.source = ./modules/kitty;
|
||||||
|
#xdg.configFile.rofi.source = ./modules/rofi;
|
||||||
|
#xdg.configFile.dunst.source = ./modules/dunst;
|
||||||
|
#home.file.".cache/ags/hyprpanel/options.json".source = ./modules/hyprpanel/options.json;
|
||||||
|
|
||||||
|
|
||||||
|
home.file.".icons/default".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
|
||||||
|
|
||||||
|
services.mpd-mpris.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
programs.rofi.extraConfig = {
|
||||||
|
show-icons = true;
|
||||||
|
drun-display-format = "{icon} {name}";
|
||||||
|
hide-scrollbar = true;
|
||||||
|
sidebar-mode = true;
|
||||||
|
dpi = 110;
|
||||||
|
font = "FreeSans Regular 12";
|
||||||
|
icon-theme = "Gruvbox-Plus-Dark";
|
||||||
|
};
|
||||||
|
programs.rofi.theme = {
|
||||||
|
window.height = 600;
|
||||||
|
window.width = 600;
|
||||||
|
window.border-radius = 10;
|
||||||
|
|
||||||
|
element = {
|
||||||
|
padding = 5;
|
||||||
|
border-radius = 10;
|
||||||
|
};
|
||||||
|
inputbar.padding = 14;
|
||||||
|
listview = {
|
||||||
|
padding = 8;
|
||||||
|
border-radius = "0 0 10 10";
|
||||||
|
border = "2 2 2 2";
|
||||||
|
dynamic = false;
|
||||||
|
};
|
||||||
|
"element-text element-icon" = {
|
||||||
|
size = 40;
|
||||||
|
margin = "0 10 0 0";
|
||||||
|
};
|
||||||
|
mainbox.children = "inputbar, message, listview";
|
||||||
|
mainbox.spacing = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.kitty.extraConfig = ''
|
||||||
|
font_family Fira Code Nerd Font
|
||||||
|
bold_font auto
|
||||||
|
italic_font auto
|
||||||
|
bold_italic_font auto
|
||||||
|
confirm_os_window_close 0
|
||||||
|
cursor_shape beam
|
||||||
|
cursor_trail 3
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
|
# This value determines the Home Manager release that your
|
||||||
|
# configuration is compatible with. This helps avoid breakage
|
||||||
|
# when a new Home Manager release introduces backwards
|
||||||
|
# incompatible changes.
|
||||||
|
#
|
||||||
|
# You can update Home Manager without changing this value. See
|
||||||
|
# the Home Manager release notes for a list of state version
|
||||||
|
# changes in each release.
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
xdg.dataFile = {
|
||||||
|
"Steam/compatibilitytools.d/SteamTinkerLaunch/compatibilitytool.vdf".text = ''
|
||||||
|
"compatibilitytools"
|
||||||
|
{
|
||||||
|
"compat_tools"
|
||||||
|
{
|
||||||
|
"Proton-stl" // Internal name of this tool
|
||||||
|
{
|
||||||
|
"install_path" "."
|
||||||
|
"display_name" "Steam Tinker Launch"
|
||||||
|
|
||||||
|
"from_oslist" "windows"
|
||||||
|
"to_oslist" "linux"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
"Steam/compatibilitytools.d/SteamTinkerLaunch/steamtinkerlaunch".source =
|
||||||
|
config.lib.file.mkOutOfStoreSymlink "${pkgs.steamtinkerlaunch}/bin/steamtinkerlaunch";
|
||||||
|
"Steam/compatibilitytools.d/SteamTinkerLaunch/toolmanifest.vdf".text = ''
|
||||||
|
"manifest"
|
||||||
|
{
|
||||||
|
"commandline" "/steamtinkerlaunch run"
|
||||||
|
"commandline_waitforexitandrun" "/steamtinkerlaunch waitforexitandrun"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
||||||
201
modules/hypr/hyprland_laptop.nix
Normal file
201
modules/hypr/hyprland_laptop.nix
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
{pkgs, ...}:
|
||||||
|
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland.extraConfig = ''
|
||||||
|
autogenerated = 0 # remove this line to remove the warning
|
||||||
|
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
#monitor = HDMI-A-1, 3840x2160@60, 0x0, 1.5
|
||||||
|
#monitor = HDMI-A-1, disable
|
||||||
|
#monitor = sunshine, highres@highrr, 0x0, 1
|
||||||
|
#monitor = DP-1, highres@highrr, 0x0, 1
|
||||||
|
#monitor = DP-1, highres@highrr, 0x0, 1, bitdepth, 10, cm, hdr, sdrsaturation, 1, sdrbrightness, 1
|
||||||
|
monitor = eDP-1, highres@highrr, 0x0, 1.6
|
||||||
|
exec-once = hyprctl dispatch workspace 1
|
||||||
|
#exec-once = linux-wallpaperengine --screen-root HDMI-A-1 --silent --fps 60 3000562427
|
||||||
|
exec-once = hyprlock
|
||||||
|
# exec-once = waybar
|
||||||
|
exec-once = hyprpanel
|
||||||
|
exec-once = systemctl --user start hyprpolkitagent
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
|
# Execute your favorite apps at launch
|
||||||
|
# exec-once = waybar & hyprpaper & firefox
|
||||||
|
|
||||||
|
|
||||||
|
# Set programs that you use
|
||||||
|
$terminal = kitty
|
||||||
|
$fileManager = thunar
|
||||||
|
$menu = rofi -show drun
|
||||||
|
|
||||||
|
# Some default env vars.
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that
|
||||||
|
|
||||||
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
accel_profile = flat
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = yes
|
||||||
|
clickfinger_behavior = yes
|
||||||
|
tap-to-click = no
|
||||||
|
tap-and-drag = no
|
||||||
|
}
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
}
|
||||||
|
|
||||||
|
general {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 5
|
||||||
|
border_size = 2
|
||||||
|
layout = dwindle
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
rounding = 10
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled = yes
|
||||||
|
size = 5
|
||||||
|
passes = 3
|
||||||
|
new_optimizations = on
|
||||||
|
ignore_opacity = on
|
||||||
|
xray = false
|
||||||
|
}
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = true
|
||||||
|
offset = 3, 3
|
||||||
|
color = rgba(323232cc)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = yes # you probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
layerrule = unset, overlay
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
workspace_swipe = off
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
||||||
|
|
||||||
|
|
||||||
|
# Example windowrule v1
|
||||||
|
# windowrule = float, ^(kitty)$
|
||||||
|
# Example windowrule v2
|
||||||
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
|
||||||
|
# Window Rules
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, Return, exec, $terminal
|
||||||
|
bind = $mainMod, Q, killactive,
|
||||||
|
bind = $mainMod, M, exec, hyprlock
|
||||||
|
bind = $mainMod, E, exec, $fileManager
|
||||||
|
bind = $mainMod, V, togglefloating,
|
||||||
|
bind = $mainMod, Space, exec, $menu
|
||||||
|
bind = $mainMod, B, exec, zen
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
bind = $mainMod, F, fullscreen,
|
||||||
|
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+
|
||||||
|
bind = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, left, movefocus, l
|
||||||
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
|
bind = $mainMod, down, movefocus, d
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Screen Recording
|
||||||
|
bind = , code:76, exec, killall -SIGUSR1 gpu-screen-recorder
|
||||||
|
bind = , code:75, exec, killall -SIGINT gpu-screen-recorder
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -1,119 +0,0 @@
|
|||||||
{
|
|
||||||
"bar.customModules.updates.pollingInterval": 1440000,
|
|
||||||
"menus.transition": "crossfade",
|
|
||||||
"theme.bar.menus.monochrome": false,
|
|
||||||
"theme.bar.transparent": false,
|
|
||||||
"theme.bar.menus.card_radius": "0.4em",
|
|
||||||
"theme.bar.menus.border.radius": "0.7em",
|
|
||||||
"theme.bar.menus.border.size": "0.13em",
|
|
||||||
"theme.bar.floating": true,
|
|
||||||
"theme.bar.outer_spacing": "1.6em",
|
|
||||||
"theme.bar.border.location": "none",
|
|
||||||
"theme.bar.location": "top",
|
|
||||||
"theme.bar.buttons.enableBorders": false,
|
|
||||||
"menus.clock.time.military": true,
|
|
||||||
"menus.clock.time.hideSeconds": true,
|
|
||||||
"menus.clock.weather.location": "Cedar Hill",
|
|
||||||
"theme.bar.border_radius": "0.4em",
|
|
||||||
"theme.bar.buttons.workspaces.enableBorder": false,
|
|
||||||
"theme.bar.buttons.radius": "0.3em",
|
|
||||||
"theme.bar.buttons.padding_y": "0.2rem",
|
|
||||||
"theme.bar.buttons.padding_x": "0.7rem",
|
|
||||||
"theme.bar.margin_sides": "0.5em",
|
|
||||||
"bar.launcher.autoDetectIcon": true,
|
|
||||||
"menus.dashboard.powermenu.avatar.image": "/home/joshuaelm/NixOS-Configs/pfp.jpg",
|
|
||||||
"menus.dashboard.powermenu.avatar.name": "Joshua Elmasri",
|
|
||||||
"theme.bar.menus.menu.dashboard.profile.radius": "100px",
|
|
||||||
"menus.dashboard.powermenu.logout": "hyprlock",
|
|
||||||
"menus.dashboard.controls.enabled": false,
|
|
||||||
"menus.dashboard.stats.enabled": true,
|
|
||||||
"menus.dashboard.shortcuts.enabled": false,
|
|
||||||
"menus.dashboard.directories.enabled": false,
|
|
||||||
"menus.dashboard.stats.enable_gpu": false,
|
|
||||||
"menus.bluetooth.showBattery": true,
|
|
||||||
"theme.font.name": "Ubuntu Nerd Font",
|
|
||||||
"scalingPriority": "hyprland",
|
|
||||||
"bar.customModules.netstat.dynamicIcon": false,
|
|
||||||
"theme.bar.buttons.modules.netstat.enableBorder": false,
|
|
||||||
"theme.bar.buttons.modules.power.enableBorder": false,
|
|
||||||
"menus.media.hideAuthor": false,
|
|
||||||
"menus.media.displayTimeTooltip": false,
|
|
||||||
"menus.media.displayTime": true,
|
|
||||||
"menus.volume.raiseMaximumVolume": false,
|
|
||||||
"bar.volume.label": true,
|
|
||||||
"bar.network.label": true,
|
|
||||||
"bar.network.truncation": true,
|
|
||||||
"bar.media.format": "{title}",
|
|
||||||
"bar.media.show_active_only": true,
|
|
||||||
"bar.media.truncation_size": 100,
|
|
||||||
"bar.clock.format": "%R",
|
|
||||||
"bar.clock.icon": "",
|
|
||||||
"bar.layouts": {
|
|
||||||
"0": {
|
|
||||||
"left": [
|
|
||||||
"dashboard",
|
|
||||||
"workspaces"
|
|
||||||
],
|
|
||||||
"middle": [
|
|
||||||
"media"
|
|
||||||
],
|
|
||||||
"right": [
|
|
||||||
"volume",
|
|
||||||
"network",
|
|
||||||
"bluetooth",
|
|
||||||
"battery",
|
|
||||||
"systray",
|
|
||||||
"clock",
|
|
||||||
"notifications"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"1": {
|
|
||||||
"left": [
|
|
||||||
"dashboard",
|
|
||||||
"workspaces",
|
|
||||||
"windowtitle"
|
|
||||||
],
|
|
||||||
"middle": [
|
|
||||||
"media"
|
|
||||||
],
|
|
||||||
"right": [
|
|
||||||
"volume",
|
|
||||||
"clock",
|
|
||||||
"notifications"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"left": [
|
|
||||||
"dashboard",
|
|
||||||
"workspaces",
|
|
||||||
"windowtitle"
|
|
||||||
],
|
|
||||||
"middle": [
|
|
||||||
"media"
|
|
||||||
],
|
|
||||||
"right": [
|
|
||||||
"volume",
|
|
||||||
"clock",
|
|
||||||
"notifications"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"theme.bar.buttons.workspaces.fontSize": "1.2em",
|
|
||||||
"bar.workspaces.show_numbered": false,
|
|
||||||
"theme.bar.buttons.workspaces.smartHighlight": true,
|
|
||||||
"bar.workspaces.show_icons": true,
|
|
||||||
"bar.workspaces.icons.occupied": "",
|
|
||||||
"theme.bar.opacity": 100,
|
|
||||||
"theme.bar.buttons.monochrome": false,
|
|
||||||
"theme.bar.buttons.notifications.enableBorder": false,
|
|
||||||
"theme.bar.menus.enableShadow": true,
|
|
||||||
"theme.bar.buttons.opacity": 100,
|
|
||||||
"theme.bar.enableShadow": true,
|
|
||||||
"theme.bar.menus.buttons.radius": "0.4em",
|
|
||||||
"theme.bar.menus.shadow": "1px 1px 2px 1px #323232cc",
|
|
||||||
"theme.bar.menus.shadowMargins": "5px 5px",
|
|
||||||
"theme.bar.shadow": "1px 1px 2px 1px #323232cc",
|
|
||||||
"theme.bar.buttons.dashboard.enableBorder": false,
|
|
||||||
"theme.bar.buttons.windowtitle.enableBorder": false,
|
|
||||||
"menus.transitionTime": 1
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 345 KiB |
@@ -1,26 +0,0 @@
|
|||||||
{ stdenvNoCC
|
|
||||||
, fetchFromGitHub
|
|
||||||
, libsForQt5
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
|
||||||
pname = "sddm-rose-pine-theme";
|
|
||||||
version = "1.2";
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [
|
|
||||||
libsForQt5.qt5.qtgraphicaleffects
|
|
||||||
];
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "lwndhrst";
|
|
||||||
repo = "sddm-rose-pine";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "+WOdazvkzpOKcoayk36VLq/6lLOHDWkDykDsy8p87JE=";
|
|
||||||
};
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/share/sddm/themes
|
|
||||||
cp -aR $src $out/share/sddm/themes/rose-pine
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user