From e3295e29a1bb5c409405a6434674db09e1a0841d Mon Sep 17 00:00:00 2001 From: Hendrik Sokolowski Date: Sat, 22 Jan 2022 21:14:30 +0000 Subject: [PATCH] Initial config --- .gitignore | 1 + flake.lock | 328 ++++++++++++------ flake.nix | 38 +- hosts/giggles/configuration.nix | 103 ++++++ hosts/giggles/default.nix | 6 + hosts/giggles/giggles.nix | 13 + hosts/giggles/hardware-configuration.nix | 25 ++ .../sway/config.d/custom-keybindings.conf | 16 + hosts/norman/configuration.nix | 51 +++ hosts/norman/default.nix | 6 + hosts/norman/hardware-configuration.nix | 34 ++ hosts/norman/norman.nix | 20 ++ hosts/redpanda/configuration.nix | 108 ++++++ hosts/redpanda/default.nix | 6 + hosts/redpanda/hardware-configuration.nix | 21 ++ hosts/redpanda/redpanda.nix | 17 + hosts/ringo/configuration.nix | 51 +++ hosts/ringo/default.nix | 6 + hosts/ringo/hardware-configuration.nix | 41 +++ hosts/ringo/ringo.nix | 13 + modules/server/default.nix | 20 ++ modules/social/default.nix | 5 +- modules/terminal-life/zsh/default.nix | 2 +- pkgs/default.nix | 1 + pkgs/delve.nix | 8 + .../.config/sway/config.d/input-language.conf | 3 + users/hensoko/default.nix | 30 ++ users/hensoko/home.nix | 79 +++++ users/hensoko/session-variables.nix | 12 + 29 files changed, 948 insertions(+), 116 deletions(-) create mode 100644 hosts/giggles/configuration.nix create mode 100644 hosts/giggles/default.nix create mode 100644 hosts/giggles/giggles.nix create mode 100644 hosts/giggles/hardware-configuration.nix create mode 100644 hosts/norman/.config/sway/config.d/custom-keybindings.conf create mode 100644 hosts/norman/configuration.nix create mode 100644 hosts/norman/default.nix create mode 100644 hosts/norman/hardware-configuration.nix create mode 100644 hosts/norman/norman.nix create mode 100644 hosts/redpanda/configuration.nix create mode 100644 hosts/redpanda/default.nix create mode 100644 hosts/redpanda/hardware-configuration.nix create mode 100644 hosts/redpanda/redpanda.nix create mode 100644 hosts/ringo/configuration.nix create mode 100644 hosts/ringo/default.nix create mode 100644 hosts/ringo/hardware-configuration.nix create mode 100644 hosts/ringo/ringo.nix create mode 100644 modules/server/default.nix create mode 100644 pkgs/delve.nix create mode 100644 users/hensoko/.config/sway/config.d/input-language.conf create mode 100644 users/hensoko/default.nix create mode 100644 users/hensoko/home.nix create mode 100644 users/hensoko/session-variables.nix diff --git a/.gitignore b/.gitignore index 37acdb01..ec686e54 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ pkgs/_sources/.shake* tags /owners + diff --git a/flake.lock b/flake.lock index 857bb989..68ffb8d0 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1652712410, - "narHash": "sha256-hMJ2TqLt0DleEnQFGUHK9sV2aAzJPU8pZeiZoqRozbE=", + "lastModified": 1648942457, + "narHash": "sha256-i29Z1t3sVfCNfpp+KAfeExvpqHQSbLO1KWylTtfradU=", "owner": "ryantm", "repo": "agenix", - "rev": "7e5e58b98c3dcbf497543ff6f22591552ebfe65b", + "rev": "0d5e59ed645e4c7b60174bc6f6aac6a203dc0b01", "type": "github" }, "original": { @@ -20,6 +20,26 @@ "type": "github" } }, + "beautysh": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "poetry2nix": "poetry2nix" + }, + "locked": { + "lastModified": 1641830469, + "narHash": "sha256-uhDmgNP/biOWe4FtOa6c2xZnREH+NP9rdrMm0LccRUk=", + "owner": "lovesegfault", + "repo": "beautysh", + "rev": "e85d9736927c0fcf2abb05cb3a2d8d9b4502a2eb", + "type": "github" + }, + "original": { + "owner": "lovesegfault", + "repo": "beautysh", + "type": "github" + } + }, "blank": { "locked": { "lastModified": 1625557891, @@ -35,6 +55,31 @@ "type": "github" } }, + "bud": { + "inputs": { + "beautysh": "beautysh", + "devshell": [ + "digga", + "devshell" + ], + "nixpkgs": [ + "nixos" + ] + }, + "locked": { + "lastModified": 1642035816, + "narHash": "sha256-1Lq5c1AeUv/1SK08+O704JVfDdD/zodHzA0cv0TIga8=", + "owner": "divnix", + "repo": "bud", + "rev": "a789d710851441ba7e7cd59be378623b1fe05688", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "bud", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -42,32 +87,11 @@ ] }, "locked": { - "lastModified": 1657835815, - "narHash": "sha256-CnZszAYpNKydh6N7+xg+eRtWNVoAAGqc6bg+Lpgq1xc=", + "lastModified": 1648278671, + "narHash": "sha256-1WrR9ex+rKTjZtODNUZQhkWYUprtfOkjOyo9YWL2NMs=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "54a24f042f93c79f5679f133faddedec61955cf2", - "type": "github" - }, - "original": { - "owner": "LnL7", - "repo": "nix-darwin", - "type": "github" - } - }, - "darwin_2": { - "inputs": { - "nixpkgs": [ - "digga", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1651916036, - "narHash": "sha256-UuD9keUGm4IuVEV6wdSYbuRm7CwfXE63hVkzKDjVsh4=", - "owner": "LnL7", - "repo": "nix-darwin", - "rev": "2f2bdf658d2b79bada78dc914af99c53cad37cba", + "rev": "4fdbb8168f61d31d3f90bb0d07f48de709c4fe79", "type": "github" }, "original": { @@ -85,11 +109,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1659725433, - "narHash": "sha256-1ZxuK67TL29YLw88vQ18Y2Y6iYg8Jb7I6/HVzmNB6nM=", + "lastModified": 1648475189, + "narHash": "sha256-gAGAS6IagwoUr1B0ohE3iR6sZ8hP4LSqzYLC8Mq3WGU=", "owner": "serokell", "repo": "deploy-rs", - "rev": "41f15759dd8b638e7b4f299730d94d5aa46ab7eb", + "rev": "83e0c78291cd08cb827ba0d553ad9158ae5a95c3", "type": "github" }, "original": { @@ -99,19 +123,12 @@ } }, "devshell": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": [ - "digga", - "nixpkgs" - ] - }, "locked": { - "lastModified": 1655976588, - "narHash": "sha256-VreHyH6ITkf/1EX/8h15UqhddJnUleb0HgbC3gMkAEQ=", + "lastModified": 1637575296, + "narHash": "sha256-ZY8YR5u8aglZPe27+AJMnPTG6645WuavB+w0xmhTarw=", "owner": "numtide", "repo": "devshell", - "rev": "899ca4629020592a13a46783587f6e674179d1db", + "rev": "0e56ef21ba1a717169953122c7415fa6a8cd2618", "type": "github" }, "original": { @@ -123,7 +140,6 @@ "digga": { "inputs": { "blank": "blank", - "darwin": "darwin_2", "deploy": [ "deploy" ], @@ -139,15 +155,14 @@ ], "nixpkgs": [ "nixos" - ], - "nixpkgs-unstable": "nixpkgs-unstable" + ] }, "locked": { - "lastModified": 1659622306, - "narHash": "sha256-Kpfm2PNs+kZU0W7qcugoPATLG8I2P7FJFGTgsf1LJiU=", + "lastModified": 1649221292, + "narHash": "sha256-HIvIL/rcMeKzS18MKj9XpN+6qiHS94VtdqMRTvdz7MQ=", "owner": "divnix", "repo": "digga", - "rev": "d1193743a535d7fbbc7f3eda4e51295b10bd4d2c", + "rev": "e2bb8ea28c5bbc7bb46ac91df3ac846ce9a3964c", "type": "github" }, "original": { @@ -175,11 +190,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "lastModified": 1641205782, + "narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7", "type": "github" }, "original": { @@ -191,11 +206,11 @@ "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1648199409, - "narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=", + "lastModified": 1627913399, + "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", "owner": "edolstra", "repo": "flake-compat", - "rev": "64a525ee38886ab9028e6f61790de0832aa3ef03", + "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", "type": "github" }, "original": { @@ -206,11 +221,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1642700792, - "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", + "lastModified": 1631561581, + "narHash": "sha256-3VQMV5zvxaVLvqqUrNz3iJelLw30mIVSfZmAaauM3dA=", "owner": "numtide", "repo": "flake-utils", - "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", + "rev": "7e5bf3925f6fbdfaf50a2a7ca0be2879c4261d19", "type": "github" }, "original": { @@ -221,24 +236,53 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_2" + "flake-utils": "flake-utils_3" }, "locked": { - "lastModified": 1654029967, - "narHash": "sha256-my3GQ3mQIw/1f6GPV1IhUZrcYQSWh0YJAMPNBjhXJDw=", + "lastModified": 1639385028, + "narHash": "sha256-oqorKz3mwf7UuDJwlbCEYCB2LfcWLL0DkeCWhRIL820=", "owner": "gytis-ivaskevicius", "repo": "flake-utils-plus", - "rev": "6271cf3842ff9c8a9af9e3508c547f86bc77d199", + "rev": "be1be083af014720c14f3b574f57b6173b4915d0", "type": "github" }, "original": { "owner": "gytis-ivaskevicius", - "ref": "refs/pull/120/head", "repo": "flake-utils-plus", "type": "github" } }, "flake-utils_2": { + "locked": { + "lastModified": 1648297722, + "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "locked": { + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -253,13 +297,13 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_5": { "locked": { - "lastModified": 1649676176, - "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -275,27 +319,27 @@ ] }, "locked": { - "lastModified": 1656169755, - "narHash": "sha256-Nlnm4jeQWEGjYrE6hxi/7HYHjBSZ/E0RtjCYifnNsWk=", + "lastModified": 1648834319, + "narHash": "sha256-i5Aj4Aw64D/A0X6XW5LxSS4XBnYj7gMz+kN4dpsbdk8=", "owner": "nix-community", "repo": "home-manager", - "rev": "4a3d01fb53f52ac83194081272795aa4612c2381", + "rev": "0bdbdea2e26c984b096f4f7d10e3c88536a980b0", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-22.05", + "ref": "release-21.11", "repo": "home-manager", "type": "github" } }, "latest": { "locked": { - "lastModified": 1657265485, - "narHash": "sha256-PUQ9C7mfi0/BnaAUX2R/PIkoNCb/Jtx9EpnhMBNrO/o=", + "lastModified": 1638198142, + "narHash": "sha256-plU9b8r4St6q4U7VHtG9V7oF8k9fIpfXl/KDaZLuY9k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b39924fc7764c08ae3b51beef9a3518c414cdb7d", + "rev": "8a308775674e178495767df90c419425474582a1", "type": "github" }, "original": { @@ -307,15 +351,15 @@ }, "latest_2": { "locked": { - "lastModified": 1660305968, - "narHash": "sha256-r0X1pZCSEA6mzt5OuTA7nHuLmvnbkwgpFAh1iLIx4GU=", - "owner": "nixos", + "lastModified": 1649516676, + "narHash": "sha256-VZdqW9n9GmhtYIjhZk5AJFM0rVuS0pECqMJ0lEMwi/k=", + "owner": "teutat3s", "repo": "nixpkgs", - "rev": "c4a0efdd5a728e20791b8d8d2f26f90ac228ee8d", + "rev": "a633c5255c56f342d855036ed5834d0279ca5a65", "type": "github" }, "original": { - "owner": "nixos", + "owner": "teutat3s", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -328,11 +372,11 @@ ] }, "locked": { - "lastModified": 1659610603, - "narHash": "sha256-LYgASYSPYo7O71WfeUOaEUzYfzuXm8c8eavJcel+pfI=", + "lastModified": 1649096192, + "narHash": "sha256-7O8e+eZEYeU+ET98u/zW5epuoN/xYx9G+CIh4DjZVzY=", "owner": "nmattia", "repo": "naersk", - "rev": "c6a45e4277fa58abd524681466d3450f896dc094", + "rev": "d626f73332a8f587b613b0afe7293dd0777be07d", "type": "github" }, "original": { @@ -341,6 +385,27 @@ "type": "github" } }, + "nix-dram": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": [ + "latest" + ] + }, + "locked": { + "lastModified": 1649569158, + "narHash": "sha256-Wtmiyu/1d+3YGGcRxTnQyEtnJaKKR/Ry0kNbOY48Afs=", + "owner": "dramforever", + "repo": "nix-dram", + "rev": "84c47c0dc93c77f7edfd996f71618d278844c1c4", + "type": "github" + }, + "original": { + "owner": "dramforever", + "repo": "nix-dram", + "type": "github" + } + }, "nixlib": { "locked": { "lastModified": 1636849918, @@ -358,16 +423,16 @@ }, "nixos": { "locked": { - "lastModified": 1660318005, - "narHash": "sha256-g9WCa9lVUmOV6dYRbEPjv/TLOR5hamjeCcKExVGS3OQ=", + "lastModified": 1649537291, + "narHash": "sha256-V6VYIwTeI5BCfYK9f5EsMbjsjsis1rUDHMsaDbTvt+A=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5c211b47aeadcc178c5320afd4e74c7eed5c389f", + "rev": "715dc137b08213aabbbe0965b78ab938e5d8d3b7", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-22.05", + "ref": "nixos-21.11", "repo": "nixpkgs", "type": "github" } @@ -375,14 +440,14 @@ "nixos-generators": { "inputs": { "nixlib": "nixlib", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1657748715, - "narHash": "sha256-WecDwDY/hEcDQYzFnccCNa+5Umht0lfjx/d1qGDy/rQ=", + "lastModified": 1649522980, + "narHash": "sha256-DWEmvtBPD15SaTRrQdK6KJvYUMWWKyuTYhN2YyYaaPE=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "3323b944d99b026aebfd8de439e001409dde067d", + "rev": "117ed432a4e0b17651b53f1af143baa42aa1f84f", "type": "github" }, "original": { @@ -393,11 +458,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1660407119, - "narHash": "sha256-04lWO0pDbhAXFdL4v2VzzwgxrZ5IefKn+TmZPiPeKxg=", + "lastModified": 1649488242, + "narHash": "sha256-GFahTvlMnqotZ8i1AO3J8OtVFrJe4QHcEPxpFH+DIEw=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "12620020f76b1b5d2b0e6fbbda831ed4f5fe56e1", + "rev": "850308db3ef0bcc7454155063b5fec28b4ffbc8c", "type": "github" }, "original": { @@ -407,6 +472,37 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1633971123, + "narHash": "sha256-WmI4NbH1IPGFWVkuBkKoYgOnxgwSfWDgdZplJlQ93vA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e4ef597edfd8a0ba5f12362932fc9b1dd01a0aef", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1649601237, + "narHash": "sha256-GgL8ib/+tWOCxzaZnVnPfXO+90RT81Ob4ff6hAeei1Y=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "164e44e62faf175771a3ea905876945529259ee6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1637186689, "narHash": "sha256-NU7BhgnwA/3ibmCeSzFK6xGi+Bari9mPfn+4cBmyEjw=", @@ -422,27 +518,12 @@ "type": "github" } }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1657292830, - "narHash": "sha256-ldfVSTveWceDCmW6gf3B4kR6vwmz/XS80y5wsLLHFJU=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "334ec8b503c3981e37a04b817a70e8d026ea9e84", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nur": { "locked": { - "lastModified": 0, - "narHash": "sha256-koC6DBYmLCrgXA+AMHVaODf1uHYPmvcFygHfy3eg6vI=", - "path": "/nix/store/6mfkswqi67m35qwv0vh7kpk8rypbl2rq-source", + "lastModified": 1638231901, + "narHash": "sha256-XzuvFTmsXULdWynQWzgaPHikepNhjEpK4o5WXfmRqek=", + "path": "/nix/store/all4f5y28iyigh60lz4j1j6j02106dn2-source", + "rev": "4e68fb3d8f48e91196deb13f44bcfb421da25afb", "type": "path" }, "original": { @@ -453,17 +534,17 @@ "nvfetcher": { "inputs": { "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_5", "nixpkgs": [ "nixos" ] }, "locked": { - "lastModified": 1654975372, - "narHash": "sha256-wkNZ16akgKViuZzE/IM+bux4uaJ04KIwUeexH8gBjgw=", + "lastModified": 1648145722, + "narHash": "sha256-iC04ukXdms4XnvKh/o1LoYXDiAURD6y0vae8V6ovQfw=", "owner": "berberman", "repo": "nvfetcher", - "rev": "d4b237c10f14f72f8266b0f658faad822e491e55", + "rev": "daea67a8b6ec8aa89eb3a474c3d9e9ce2b2cc6f1", "type": "github" }, "original": { @@ -472,15 +553,36 @@ "type": "github" } }, + "poetry2nix": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1633382856, + "narHash": "sha256-hYlet806M9xJj4yxf0g5fhDT2IEUVIMAl7sqIeZ8DUM=", + "owner": "nix-community", + "repo": "poetry2nix", + "rev": "705cbfa10e3d9bfed2e59e0256844ae3704dbd7e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "poetry2nix", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", + "bud": "bud", "darwin": "darwin", "deploy": "deploy", "digga": "digga", "home": "home", "latest": "latest_2", "naersk": "naersk", + "nix-dram": "nix-dram", "nixos": "nixos", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", diff --git a/flake.nix b/flake.nix index bf050b2e..2350b503 100644 --- a/flake.nix +++ b/flake.nix @@ -103,6 +103,9 @@ hosts = { /* set host specific properties here */ PubSolarOS = { }; + giggles = { + system = "aarch64-linux"; + }; }; importables = rec { profiles = digga.lib.rakeLeaves ./profiles // { @@ -113,6 +116,13 @@ iso = base ++ [ base-user graphical pub-solar-iso ]; pubsolaros = [ full-install base-user users.root ]; anonymous = [ pubsolaros users.pub-solar ]; + pubsolaros-light = [ core-light base-user users.root ]; + hensoko = pubsolaros ++ [ users.hensoko ]; + hensoko-light = pubsolaros-light ++ [ users.hensoko ]; + giggles = hensoko-light ++ []; + norman = hensoko ++ [ graphical ]; + redpanda = hensoko; + ringo = hensoko-light ++ [ graphical ]; }; }; }; @@ -128,6 +138,7 @@ }; users = { pub-solar = { suites, ... }: { imports = suites.base; }; + hensoko = { suites, ... }: { imports = suites.base; }; }; # digga.lib.importers.rakeLeaves ./users/hm; }; @@ -135,6 +146,31 @@ homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations; - deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations { }; + deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations { + redpanda = { + hostname = "192.168.42.71:22"; + sshUser = "hensoko"; + fastConnect = true; + profilesOrder = [ "system" "direnv" ]; + profiles.direnv = { + user = "hensoko"; + path = deploy.lib.x86_64-linux.activate.home-manager self.homeConfigurationsPortable.x86_64-linux.hensoko; + }; + }; + giggles = { + hostname = "192.168.42.71:22"; + sshUser = "hensoko"; + fastConnect = true; + profilesOrder = [ "system" "direnv" ]; + profiles.direnv = { + user = "hensoko"; + path = deploy.lib.x86_64-linux.activate.home-manager self.homeConfigurationsPortable.x86_64-linux.hensoko; + }; + }; + }; + + defaultTemplate = self.templates.bud; + templates.bud.path = ./.; + templates.bud.description = "bud template"; }; } diff --git a/hosts/giggles/configuration.nix b/hosts/giggles/configuration.nix new file mode 100644 index 00000000..9f5e3ee2 --- /dev/null +++ b/hosts/giggles/configuration.nix @@ -0,0 +1,103 @@ +# 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, lib, ... }: + +{ + imports = + [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + networking.hostName = "giggles"; # Define your hostname. + + # Set your time zone. + time.timeZone = "Europe/Berlin"; + + # The global useDHCP flag is deprecated, therefore explicitly set to false here. + # Per-interface useDHCP will be mandatory in the future, so this generated config + # replicates the default behaviour. + networking.useDHCP = false; + networking.interfaces.wlan0.useDHCP = true; + networking.networkmanager.enable = lib.mkForce false; + + #networking.wireless = { + # enable = true; + # networks.DinoLan.psk = "Gelbe Enten schwimmen auf dem Wasser."; + # interfaces = [ wlan0 ]; + #}; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + nix = { + #package = pkgs.nixFlakes; + extraOptions = lib.optionalString (config.nix.package == pkgs.nixFlakes) "experimental-features = nix-command flakes"; + }; + + # Select internationalisation properties. + # i18n.defaultLocale = "en_US.UTF-8"; + # console = { + # font = "Lat2-Terminus16"; + # keyMap = "us"; + # }; + + # Enable the X11 windowing system. + # services.xserver.enable = true; + + + # Configure keymap in X11 + # services.xserver.layout = "us"; + # services.xserver.xkbOptions = "eurosign:e"; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + # sound.enable = true; + # hardware.pulseaudio.enable = true; + + # 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’. + # users.users.jane = { + # isNormalUser = true; + # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + # }; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + vim + wget + ]; + + # 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: + + # Open ports in the firewall. + networking.firewall.allowedTCPPorts = [ 22 ]; + # 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 = "21.05"; # Did you read the comment? +} + diff --git a/hosts/giggles/default.nix b/hosts/giggles/default.nix new file mode 100644 index 00000000..ebce8516 --- /dev/null +++ b/hosts/giggles/default.nix @@ -0,0 +1,6 @@ +{ suites, ... }: +{ + imports = [ + ./giggles.nix + ] ++ suites.giggles; +} diff --git a/hosts/giggles/giggles.nix b/hosts/giggles/giggles.nix new file mode 100644 index 00000000..1431a53a --- /dev/null +++ b/hosts/giggles/giggles.nix @@ -0,0 +1,13 @@ +{ config, pkgs, lib, ... }: +with lib; +let + psCfg = config.pub-solar; + xdg = config.home-manager.users."${psCfg.user.name}".xdg; +in +{ + imports = [ + ./configuration.nix + ]; + + pub-solar.nextcloud.enable = lib.mkForce false; +} diff --git a/hosts/giggles/hardware-configuration.nix b/hosts/giggles/hardware-configuration.nix new file mode 100644 index 00000000..3f33b6ee --- /dev/null +++ b/hosts/giggles/hardware-configuration.nix @@ -0,0 +1,25 @@ +# 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 = [ + "${fetchTarball { + url = "https://github.com/NixOS/nixos-hardware/archive/8f1bf828d8606fe38a02df312cf14546ae200a72.tar.gz"; + sha256 = "11milap153g3f63fcrcv4777vd64f7wlfkk9p3kpxi6dqd2sxvh4"; + } + }/raspberry-pi/4" + ]; + + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = [ "noatime" ]; + }; + }; + + # Enable GPU acceleration + #hardware.raspberry-pi."4".fkms-3d.enable = true; +} diff --git a/hosts/norman/.config/sway/config.d/custom-keybindings.conf b/hosts/norman/.config/sway/config.d/custom-keybindings.conf new file mode 100644 index 00000000..a2938d77 --- /dev/null +++ b/hosts/norman/.config/sway/config.d/custom-keybindings.conf @@ -0,0 +1,16 @@ +# Screen brightness controls +bindsym XF86MonBrightnessUp exec "brightnessctl -d intel_backlight set +10%; notify-send $(brightnessctl -d intel_backlight i | awk '/Current/ {print $4}')" +bindsym XF86MonBrightnessDown exec "brightnessctl -d intel_backlight set 10%-; notify-send $(brightnessctl -d intel_backlight i | awk '/Current/ { print $4}')" + +# Keyboard backlight brightness controls +bindsym XF86KbdBrightnessDown exec "brightnessctl -d smc::kbd_backlight set 10%-; notify-send $(brightnessctl -d smc::kbd_backlight i | awk '/Current/ { print $4}')" +bindsym XF86KbdBrightnessUp exec "brightnessctl -d smc::kbd_backlight set +10%; notify-send $(brightnessctl -d smc::kbd_backlight i | awk '/Current/ { print $4}')" + +# Pulse Audio controls +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%; exec pactl set-sink-mute @DEFAULT_SINK@ 0 && notify-send 'Vol. up' #increase sound volume +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%; exec pactl set-sink-mute @DEFAULT_SINK@ 0 && notify-send 'Vol. down' #decrease sound volume +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && notify-send 'Mute sound' # mute sound +# Media player controls +bindsym XF86AudioPlay exec "playerctl play-pause; notify-send 'Play/Pause'" +bindsym XF86AudioNext exec "playerctl next; notify-send 'Next'" +bindsym XF86AudioPrev exec "playerctl previous; notify-send 'Prev.'" diff --git a/hosts/norman/configuration.nix b/hosts/norman/configuration.nix new file mode 100644 index 00000000..e1ab70c7 --- /dev/null +++ b/hosts/norman/configuration.nix @@ -0,0 +1,51 @@ +# 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, ... }: + +{ + imports = + [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Set your time zone. + time.timeZone = "Europe/Berlin"; + + # The global useDHCP flag is deprecated, therefore explicitly set to false here. + # Per-interface useDHCP will be mandatory in the future, so this generated config + # replicates the default behaviour. + networking.useDHCP = false; + networking.interfaces.wlp5s0.useDHCP = true; + + services.tlp = { + enable = true; + settings = { + CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; + CPU_SCALING_GOVERNOR_ON_AC = "performance"; + + # The following prevents the battery from charging fully to + # preserve lifetime. Run `tlp fullcharge` to temporarily force + # full charge. + # https://linrunner.de/tlp/faq/battery.html#how-to-choose-good-battery-charge-thresholds + START_CHARGE_THRESH_BAT0 = 40; + STOP_CHARGE_THRESH_BAT0 = 80; + + # 100 being the maximum, limit the speed of my CPU to reduce + # heat and increase battery usage: + CPU_MAX_PERF_ON_AC = 100; + CPU_MAX_PERF_ON_BAT = 30; + }; + }; + + # 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 = "21.11"; # Did you read the comment? +} + diff --git a/hosts/norman/default.nix b/hosts/norman/default.nix new file mode 100644 index 00000000..20216667 --- /dev/null +++ b/hosts/norman/default.nix @@ -0,0 +1,6 @@ +{ suites, ... }: +{ + imports = [ + ./norman.nix + ] ++ suites.norman; +} diff --git a/hosts/norman/hardware-configuration.nix b/hosts/norman/hardware-configuration.nix new file mode 100644 index 00000000..6827a797 --- /dev/null +++ b/hosts/norman/hardware-configuration.nix @@ -0,0 +1,34 @@ +# 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 = [ ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "uas" "sdhci_pci" ]; + boot.initrd.kernelModules = [ "dm-snapshot" ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + boot.initrd.luks.devices."cryptroot" = { + device = "/dev/disk/by-uuid/cdc29f0f-5b18-4ee7-8d38-1f4bac80b1e6"; + }; + + fileSystems."/" = + { + device = "/dev/disk/by-uuid/5b441f8f-d7eb-44f8-8df2-7354b3314a61"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { + device = "/dev/disk/by-uuid/84CD-91B6"; + fsType = "vfat"; + }; + + swapDevices = + [{ device = "/dev/disk/by-uuid/54162798-9017-4b59-afd7-ab9578da4bb9"; }]; + + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/norman/norman.nix b/hosts/norman/norman.nix new file mode 100644 index 00000000..52e39eb3 --- /dev/null +++ b/hosts/norman/norman.nix @@ -0,0 +1,20 @@ +{ config, pkgs, lib, ... }: +with lib; +let + psCfg = config.pub-solar; + xdg = config.home-manager.users."${psCfg.user.name}".xdg; +in +{ + imports = [ + ./configuration.nix + ]; + + pub-solar.nextcloud.enable = lib.mkForce false; + + config = { + home-manager.users."${psCfg.user.name}".xdg.configFile = mkIf psCfg.sway.enable { + "sway/config.d/10-screens.conf".source = ./.config/sway/config.d/screens.conf; + "sway/config.d/10-custom-keybindings.conf".source = ./.config/sway/config.d/custom-keybindings.conf; + }; + }; +} diff --git a/hosts/redpanda/configuration.nix b/hosts/redpanda/configuration.nix new file mode 100644 index 00000000..a2c29a4a --- /dev/null +++ b/hosts/redpanda/configuration.nix @@ -0,0 +1,108 @@ +# 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, lib, ... }: + +{ + imports = + [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Use the GRUB 2 boot loader. + boot.loader.grub.enable = true; + boot.loader.grub.version = 2; + # boot.loader.grub.efiSupport = true; + # boot.loader.grub.efiInstallAsRemovable = true; + # boot.loader.efi.efiSysMountPoint = "/boot/efi"; + # Define on which hard drive you want to install Grub. + boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only + + # networking.hostName = "nixos"; # Define your hostname. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Set your time zone. + # time.timeZone = "Europe/Amsterdam"; + + # The global useDHCP flag is deprecated, therefore explicitly set to false here. + # Per-interface useDHCP will be mandatory in the future, so this generated config + # replicates the default behaviour. + networking.useDHCP = false; + networking.interfaces.enp0s3.useDHCP = true; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + nix = { + #package = pkgs.nixFlakes; + extraOptions = lib.optionalString (config.nix.package == pkgs.nixFlakes) "experimental-features = nix-command flakes"; + }; + + # Select internationalisation properties. + # i18n.defaultLocale = "en_US.UTF-8"; + # console = { + # font = "Lat2-Terminus16"; + # keyMap = "us"; + # }; + + # Enable the X11 windowing system. + # services.xserver.enable = true; + + # Configure keymap in X11 + # services.xserver.layout = "us"; + # services.xserver.xkbOptions = "eurosign:e"; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + # sound.enable = true; + # hardware.pulseaudio.enable = true; + + # 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’. + # users.users.jane = { + # isNormalUser = true; + # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + # }; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + vim + wget + firefox + ]; + + # 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: + + # Open ports in the firewall. + networking.firewall.allowedTCPPorts = [ 22 ]; + # 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 = "21.05"; # Did you read the comment? + + +} + diff --git a/hosts/redpanda/default.nix b/hosts/redpanda/default.nix new file mode 100644 index 00000000..3772077f --- /dev/null +++ b/hosts/redpanda/default.nix @@ -0,0 +1,6 @@ +{ suites, ... }: +{ + imports = [ + ./redpanda.nix + ] ++ suites.redpanda; +} diff --git a/hosts/redpanda/hardware-configuration.nix b/hosts/redpanda/hardware-configuration.nix new file mode 100644 index 00000000..13fdaa52 --- /dev/null +++ b/hosts/redpanda/hardware-configuration.nix @@ -0,0 +1,21 @@ +# 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 = [ ]; + + boot.initrd.availableKernelModules = [ "ohci_pci" "virtio_pci" "sd_mod" "sr_mod" "virtio_scsi" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { + device = "/dev/disk/by-label/nixos"; + fsType = "ext4"; + }; + + #virtualisation.virtualbox.guest.enable = true; +} diff --git a/hosts/redpanda/redpanda.nix b/hosts/redpanda/redpanda.nix new file mode 100644 index 00000000..2f02a9af --- /dev/null +++ b/hosts/redpanda/redpanda.nix @@ -0,0 +1,17 @@ +{ config, pkgs, lib, ... }: +with lib; +let + psCfg = config.pub-solar; + xdg = config.home-manager.users."${psCfg.user.name}".xdg; +in +{ + imports = [ + ./configuration.nix + ]; + + #pub-solar.nextcloud.enable = lib.mkForce false; + + config = { + boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + }; +} diff --git a/hosts/ringo/configuration.nix b/hosts/ringo/configuration.nix new file mode 100644 index 00000000..b2c934fb --- /dev/null +++ b/hosts/ringo/configuration.nix @@ -0,0 +1,51 @@ +# 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, ... }: + +{ + imports = + [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + boot.initrd.luks.devices."cryptroot" = { + device = "/dev/disk/by-uuid/bd1ebf98-adc1-4868-842f-3d2c6ee04e13"; + keyFile = "/dev/disk/by-partuuid/9ff6ebf7-01"; + }; + + networking.hostName = "ringo"; # Define your hostname. + + # Set your time zone. + time.timeZone = "Europe/Berlin"; + + # The global useDHCP flag is deprecated, therefore explicitly set to false here. + # Per-interface useDHCP will be mandatory in the future, so this generated config + # replicates the default behaviour. + networking.useDHCP = false; + networking.interfaces.enp0s25 = { + ipv4.addresses = [{ + address = "10.9.0.2"; + prefixLength = 24; + }]; + wakeOnLan = { + enable = true; + }; + }; + networking.interfaces.wlp3s0.useDHCP = true; + + # 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 = "21.11"; # Did you read the comment? +} + diff --git a/hosts/ringo/default.nix b/hosts/ringo/default.nix new file mode 100644 index 00000000..ff5a8251 --- /dev/null +++ b/hosts/ringo/default.nix @@ -0,0 +1,6 @@ +{ suites, ... }: +{ + imports = [ + ./ringo.nix + ] ++ suites.ringo; +} diff --git a/hosts/ringo/hardware-configuration.nix b/hosts/ringo/hardware-configuration.nix new file mode 100644 index 00000000..c828e07d --- /dev/null +++ b/hosts/ringo/hardware-configuration.nix @@ -0,0 +1,41 @@ +# 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 = [ ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + boot.initrd.luks.devices."cryptroot" = { + device = "/dev/disk/by-uuid/bd1ebf98-adc1-4868-842f-3d2c6ee04e13"; + keyFile = "/dev/disk/by-partuuid/9ff6ebf7-01"; + }; + + fileSystems."/" = + { + device = "/dev/disk/by-uuid/1999ec2e-4564-4f5a-8333-6eb23ae03c8b"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { + device = "/dev/disk/by-uuid/9D1D-EE08"; + fsType = "vfat"; + }; + + fileSystems."/home" = + { + device = "/dev/disk/by-uuid/69c89392-be11-4bd4-8f3b-6b7db20c716e"; + fsType = "ext4"; + }; + + swapDevices = + [{ device = "/dev/disk/by-uuid/4ef0cdbc-38f4-4dcb-8fe8-553bbdb06192"; }]; + + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/ringo/ringo.nix b/hosts/ringo/ringo.nix new file mode 100644 index 00000000..1431a53a --- /dev/null +++ b/hosts/ringo/ringo.nix @@ -0,0 +1,13 @@ +{ config, pkgs, lib, ... }: +with lib; +let + psCfg = config.pub-solar; + xdg = config.home-manager.users."${psCfg.user.name}".xdg; +in +{ + imports = [ + ./configuration.nix + ]; + + pub-solar.nextcloud.enable = lib.mkForce false; +} diff --git a/modules/server/default.nix b/modules/server/default.nix new file mode 100644 index 00000000..3d96ffb3 --- /dev/null +++ b/modules/server/default.nix @@ -0,0 +1,20 @@ +{ lib, config, pkgs, ... }: +with lib; +let + psCfg = config.pub-solar; + cfg = config.pub-solar.server; +in +{ + options.pub-solar.server = { + enable = mkEnableOption "Enable server options like sshd"; + }; + + config = mkIf cfg.enable { + services.openssh = { + enable = true; + permitRootLogin = "no"; + passwordAuthentication = true; + openFirewall = true; + }; + }; +} diff --git a/modules/social/default.nix b/modules/social/default.nix index e0d12449..6ca0dd3d 100644 --- a/modules/social/default.nix +++ b/modules/social/default.nix @@ -14,8 +14,11 @@ in home.packages = [ signal-desktop tdesktop + discord element-desktop - irssi + tdesktop + mattermost-desktop + whatsapp-for-linux ]; }; }; diff --git a/modules/terminal-life/zsh/default.nix b/modules/terminal-life/zsh/default.nix index 2db8bc41..3f9075f8 100644 --- a/modules/terminal-life/zsh/default.nix +++ b/modules/terminal-life/zsh/default.nix @@ -50,7 +50,7 @@ in name = "romkatv/powerlevel10k"; tags = [ "as:theme" "depth:1" ]; } - { name = "zdharma/fast-syntax-highlighting"; } + { name = "zdharma-continuum/fast-syntax-highlighting"; } { name = "chisui/zsh-nix-shell"; } ]; }; diff --git a/pkgs/default.nix b/pkgs/default.nix index 43f6d7b7..7ff71e01 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -4,6 +4,7 @@ with final; { sources = prev.callPackage (import ./_sources/generated.nix) { }; # then, call packages with `final.callPackage` import-gtk-settings = writeShellScriptBin "import-gtk-settings" (import ./import-gtk-settings.nix final); + #delve = writeShellScriptBin "delve" (import ./delve.nix final); lgcl = writeShellScriptBin "lgcl" (import ./lgcl.nix final); mailto-mutt = writeShellScriptBin "mailto-mutt" (import ./mailto-mutt.nix final); mopidy-jellyfin = import ./mopidy-jellyfin.nix final; diff --git a/pkgs/delve.nix b/pkgs/delve.nix new file mode 100644 index 00000000..91fa064a --- /dev/null +++ b/pkgs/delve.nix @@ -0,0 +1,8 @@ +self: with self; +let + delve = self.delve.overrideAttrs (old: { + meta.platforms = [ "x86_64-linux" "aarch64-linux" ]; + }); +in +'' +'' diff --git a/users/hensoko/.config/sway/config.d/input-language.conf b/users/hensoko/.config/sway/config.d/input-language.conf new file mode 100644 index 00000000..a3099a63 --- /dev/null +++ b/users/hensoko/.config/sway/config.d/input-language.conf @@ -0,0 +1,3 @@ +input * { + xkb_layout us(intl) +} diff --git a/users/hensoko/default.nix b/users/hensoko/default.nix new file mode 100644 index 00000000..63190e93 --- /dev/null +++ b/users/hensoko/default.nix @@ -0,0 +1,30 @@ +{ config, hmUsers, pkgs, lib, ... }: +let + psCfg = config.pub-solar; +in +{ + imports = [ + ./home.nix + ]; + + config = { + home-manager.users = { inherit (hmUsers) hensoko; }; + + pub-solar = { + # These are your personal settings + # The only required settings are `name` and `password`, + # The rest is used for programs like git + user = { + name = "hensoko"; + description = "hensoko"; + password = "$6$BBUvcGQBFBjBmRLw$VQgMxaVPInM0S/nr3rkWvCvzlI/oSZ0Kj8wb25k4Fx6aHJkxYzurXh4deslVgGKvz0O2LScBamt7M2pV81EWx0"; + fullName = "Hendrik Sokolowski"; + email = "hensoko@gssws.de"; + publicKeys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+euxPp6bHXw61UeUqTGHH8Ub2L+Sy1iteupv/AGudgoVNp2GebqJy1cxQ74mgnL8eWMlaA9jZlKQ1xFFhgtolCsoAKTE9AE8X0egvmEM18fEUR3EWWchmX4MXUhUiOtwitkl4+EpSsp5rh/kIxcpQFz1dpBibroq6jDLKlrVou+2LppR8nMfFT2sqg3694Ltxz4CWMdAfitLax05ckKMAnzz+TgpXK5OyfQSBvl18Qu1SWITYa6AVNXQ7/ovWBDIUfg25GWouzWqkSUpLdCVIcXPe2X7g6X1QsHXnnhaMAhvYH54GZ4wU2kBwIJ6KvplfZdbJ09KAltPVt08evafb hendriksokolowski@hsokolowski-pc" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAqkqMYgncrnczcW/0PY+Z+FmNXXpgw6D9JWTTwiainy hensoko@hensoko-tp-work" + ]; + }; + }; + }; +} diff --git a/users/hensoko/home.nix b/users/hensoko/home.nix new file mode 100644 index 00000000..d4045a9e --- /dev/null +++ b/users/hensoko/home.nix @@ -0,0 +1,79 @@ +{ config, pkgs, lib, self, ... }: +with lib; +let + psCfg = config.pub-solar; + xdg = config.home-manager.users."${psCfg.user.name}".xdg; +in +{ + imports = [ + ./session-variables.nix + ]; + + home-manager = pkgs.lib.setAttrByPath [ "users" psCfg.user.name ] { + xdg.configFile = mkIf psCfg.sway.enable { + "sway/config.d/10-input-language.conf".source = ./.config/sway/config.d/input-language.conf; + }; + home.packages = with pkgs; [ + dig + fping + htop + keepassxc + ncdu + sysstat + tig + thunderbird + ]; + + programs.ssh = { + enable = true; + matchBlocks = { + "hsha" = { + hostname = "192.168.42.5"; + user = "root"; + port = 2222; + }; + "media" = { + hostname = "192.168.42.11"; + user = "root"; + port = 2222; + }; + "ringo" = { + hostname = "192.168.42.231"; + user = "hensoko"; + port = 22; + }; + "giggles" = { + hostname = "192.168.42.232"; + user = "hensoko"; + port = 22; + }; + "norman" = { + hostname = "192.168.42.233"; + user = "hensoko"; + port = 22; + }; + "cox" = { + hostname = "192.168.42.234"; + user = "hensoko"; + port = 22; + }; + "mail" = { + hostname = "mail.gssws.de"; + user = "root"; + port = 2222; + }; + "data" = { + hostname = "data.gssws.de"; + user = "root"; + port = 2222; + }; + "git.gssws.de" = { + hostname = "git.gssws.de"; + user = "git"; + port = 2222; + }; + }; + extraConfig = "PubKeyAcceptedKeyTypes +ssh-rsa"; + }; + }; +} diff --git a/users/hensoko/session-variables.nix b/users/hensoko/session-variables.nix new file mode 100644 index 00000000..e0f7ca8a --- /dev/null +++ b/users/hensoko/session-variables.nix @@ -0,0 +1,12 @@ +{ config, pkgs, ... }: +let + psCfg = config.pub-solar; + xdg = config.home-manager.users."${psCfg.user.name}".xdg; +in +{ + home-manager = pkgs.lib.setAttrByPath [ "users" psCfg.user.name ] { + home.sessionVariables = { + "SSH_AUTH_SOCK" = "\${XDG_RUNTIME_DIR}/ssh-agent"; + }; + }; +}