3 Commits

Author SHA1 Message Date
Remy Moll
5a26b08ba3 switch back to yabai for tiling. experimental shift of zen setup 2025-12-10 10:04:45 +01:00
Remy Moll
895a6011a0 moore tiling 2025-12-05 17:20:44 +01:00
Remy Moll
6ee9e50a01 initial macos setup 2025-12-02 23:17:14 +01:00
21 changed files with 531 additions and 224 deletions

View File

@@ -47,6 +47,21 @@ nix build .#nixosConfigurations.bcachefs-iso.config.system.build.isoImage
This will create an iso image in the result directory.
### Macos install
Initial install of nix using the determinate nix installer. Then a "full" bootstrap that installs all required packages such as `nh`, `git` etc.:
```
sudo nix run nix-darwin/master#darwin-rebuild -- switch --flake .#Remys-MacBook-Pro
```
> some modifications might be necessary (i.e. due to faulty git setup at that stage).
```
# could also try something like this:
nix-shell -p git nh
```
Finally, the desired state has been reached where `nh` is available:
```
nh darwin switch .
```
## Installation
TODO - disable root user
```

311
flake.lock generated
View File

@@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1762356719,
"narHash": "sha256-qwd/xdoOya1m8FENle+4hWnydCtlXUWLAW/Auk6WL7s=",
"lastModified": 1764370710,
"narHash": "sha256-7iZklFmziy6Vn5ZFy9mvTSuFopp3kJNuPxL5QAvtmFQ=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "6d0b3567584691bf9d8fedb5d0093309e2f979c7",
"rev": "561ae7fbe1ca15dfd908262ec815bf21a13eef63",
"type": "github"
},
"original": {
@@ -101,6 +101,22 @@
"type": "github"
}
},
"cl-nix-lite": {
"locked": {
"lastModified": 1763190794,
"narHash": "sha256-Uhdbf0YbPkBeCBfL1+5ONo/o8sFJd0Gahg6MD0ktwEQ=",
"owner": "r4v3n6101",
"repo": "cl-nix-lite",
"rev": "a781bd2bd0a444e27bdb5d4aabfc0e81422bdc91",
"type": "github"
},
"original": {
"owner": "r4v3n6101",
"ref": "url-fix",
"repo": "cl-nix-lite",
"type": "github"
}
},
"dankMaterialShell": {
"inputs": {
"dgop": "dgop",
@@ -109,11 +125,11 @@
]
},
"locked": {
"lastModified": 1763522195,
"narHash": "sha256-QW/SKfUN5nT8J1EIvtpNaGf886+BBp2vCvs/ZuMo0VE=",
"lastModified": 1764741581,
"narHash": "sha256-CbeO9Ie4Ecf8TsQWBJCrOenFmESC8XOSJ0UY69/ZTCw=",
"owner": "AvengeMedia",
"repo": "DankMaterialShell",
"rev": "dfdaa82245302d40ac1aa4c0d60728b4397dde61",
"rev": "0ea0602aecf5ec6814988c61d4d43ff36c613f18",
"type": "github"
},
"original": {
@@ -143,26 +159,6 @@
"type": "github"
}
},
"dms-cli": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1763078370,
"narHash": "sha256-wsYqJlLdRSlJpRE0tIuuPMU6aOyhMdV237rEG/enUxY=",
"owner": "AvengeMedia",
"repo": "danklinux",
"rev": "7a083a0d6d087d41d0bc5077d03e662e1417ce3c",
"type": "github"
},
"original": {
"owner": "AvengeMedia",
"repo": "danklinux",
"type": "github"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
@@ -182,11 +178,11 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"lastModified": 1761588595,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"type": "github"
},
"original": {
@@ -195,6 +191,23 @@
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1730663653,
"narHash": "sha256-kFCUWettiFHDIqxCWWQ9qY8pVh+Lj+XL0Giyy/kdomg=",
"owner": "hraban",
"repo": "flake-compat",
"rev": "e5b16676185cb7548581c852f51ce7f3a49bba5e",
"type": "github"
},
"original": {
"owner": "hraban",
"ref": "fixed-output",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@@ -216,6 +229,26 @@
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": [
"mac-app-util",
"systems"
]
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"id": "flake-utils",
"type": "indirect"
}
},
"fromYaml": {
"flake": false,
"locked": {
@@ -280,11 +313,11 @@
]
},
"locked": {
"lastModified": 1763416652,
"narHash": "sha256-8EBEEvtzQ11LCxpQHMNEBQAGtQiCu/pqP9zSovDSbNM=",
"lastModified": 1764736867,
"narHash": "sha256-Q/+03EAvtzCbhGXv7yLsYh+pXIzLUgibpQKxo5CI2bk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ea164b7c9ccdc2321379c2ff78fd4317b4c41312",
"rev": "bcc7afa1d873ead5932fbb4d42f1916a9627c084",
"type": "github"
},
"original": {
@@ -359,11 +392,11 @@
]
},
"locked": {
"lastModified": 1762462052,
"narHash": "sha256-6roLYzcDf4V38RUMSqycsOwAnqfodL6BmhRkUtwIgdA=",
"lastModified": 1763733840,
"narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "ffc999d980c7b3bca85d3ebd0a9fbadf984a8162",
"rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a",
"type": "github"
},
"original": {
@@ -388,11 +421,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1763540034,
"narHash": "sha256-TogNk567BTZib1XiYheW04ELxNB2bhee6G4SgphRqmA=",
"lastModified": 1764725443,
"narHash": "sha256-A2UyZwPSHSdNfvW17J5GhxIo1TS0Z0rYv+Xgdp+w5wc=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "fbb31503f1b69402eeda81ba75a547c862c88bf2",
"rev": "3cf0280b11f370c11e6839275e547779a33f4a19",
"type": "github"
},
"original": {
@@ -434,11 +467,11 @@
]
},
"locked": {
"lastModified": 1762755186,
"narHash": "sha256-ZjjETUHtoEhVN7JI1Cbt3p/KcXpK8ZQaPHx7UkG1OgA=",
"lastModified": 1764616927,
"narHash": "sha256-wRT0MKkpPo11ijSX3KeMN+EQWnpSeUlRtyF3pFLtlRU=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "66356e20a8ed348aa49c1b9ceace786e224225b3",
"rev": "25cedbfdc5b3ea391d8307c9a5bea315e5df3c52",
"type": "github"
},
"original": {
@@ -488,11 +521,11 @@
]
},
"locked": {
"lastModified": 1763254292,
"narHash": "sha256-JNgz3Fz2KMzkT7aR72wsgu/xNeJB//LSmdilh8Z/Zao=",
"lastModified": 1764612430,
"narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "deea98d5b61d066bdc7a68163edd2c4bd28d3a6b",
"rev": "0d00dc118981531aa731150b6ea551ef037acddd",
"type": "github"
},
"original": {
@@ -540,11 +573,11 @@
]
},
"locked": {
"lastModified": 1762463729,
"narHash": "sha256-2fYkU/mdz8WKY3dkDPlE/j6hTxIwqultsx4gMMsMns0=",
"lastModified": 1764592794,
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "88483bdee5329ec985f0c8f834c519cd18cfe532",
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
"type": "github"
},
"original": {
@@ -565,11 +598,11 @@
]
},
"locked": {
"lastModified": 1763323331,
"narHash": "sha256-+Z0OfCo1MS8/aIutSAW5aJR9zTae1wz9kcJYMgpwN6M=",
"lastModified": 1764637132,
"narHash": "sha256-vSyiKCzSY48kA3v39GFu6qgRfigjKCU/9k1KTK475gg=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "0c6411851cc779d551edc89b83966696201611aa",
"rev": "2f2413801beee37303913fc3c964bbe92252a963",
"type": "github"
},
"original": {
@@ -590,11 +623,11 @@
]
},
"locked": {
"lastModified": 1755184602,
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
"lastModified": 1763640274,
"narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
"rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671",
"type": "github"
},
"original": {
@@ -603,6 +636,50 @@
"type": "github"
}
},
"mac-app-util": {
"inputs": {
"cl-nix-lite": "cl-nix-lite",
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2",
"systems": "systems_2",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1756057867,
"narHash": "sha256-ziR5eQGqRWhW8tf8r0TIplaqNt+HXu1G1X41LUr4IYo=",
"owner": "hraban",
"repo": "mac-app-util",
"rev": "8414fa1e2cb775b17793104a9095aabeeada63ef",
"type": "github"
},
"original": {
"owner": "hraban",
"repo": "mac-app-util",
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1764161084,
"narHash": "sha256-HN84sByg9FhJnojkGGDSrcjcbeioFWoNXfuyYfJ1kBE=",
"owner": "nix-darwin",
"repo": "nix-darwin",
"rev": "e95de00a471d07435e0527ff4db092c84998698e",
"type": "github"
},
"original": {
"owner": "nix-darwin",
"ref": "nix-darwin-25.11",
"repo": "nix-darwin",
"type": "github"
}
},
"nix-flatpak": {
"locked": {
"lastModified": 1754777568,
@@ -623,14 +700,14 @@
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_2"
"systems": "systems_3"
},
"locked": {
"lastModified": 1763517711,
"narHash": "sha256-uY0Vr7ene4VlHyeZRHRNvT4WRwakAr8JShwmNEg7JB0=",
"lastModified": 1764727495,
"narHash": "sha256-sAxuKAnUf8CWsaW6TquDsdDDK4WA4cFNJi/NoccibOw=",
"owner": "nix-community",
"repo": "nix4vscode",
"rev": "ce4507078be02de77c001ca498657436ec815a35",
"rev": "97019369dd7847a198267a4d4ea8a9d3daf66f6a",
"type": "github"
},
"original": {
@@ -641,11 +718,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1763283776,
"narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=",
"lastModified": 1764517877,
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a",
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
"type": "github"
},
"original": {
@@ -657,11 +734,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1763421233,
"narHash": "sha256-Stk9ZYRkGrnnpyJ4eqt9eQtdFWRRIvMxpNRf4sIegnw=",
"lastModified": 1764517877,
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "89c2b2330e733d6cdb5eae7b899326930c2c0648",
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
"type": "github"
},
"original": {
@@ -673,11 +750,43 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1763421233,
"narHash": "sha256-Stk9ZYRkGrnnpyJ4eqt9eQtdFWRRIvMxpNRf4sIegnw=",
"lastModified": 1732617236,
"narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1754340878,
"narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "89c2b2330e733d6cdb5eae7b899326930c2c0648",
"rev": "cab778239e705082fe97bb4990e0d24c50924c04",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1764517877,
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
"type": "github"
},
"original": {
@@ -722,11 +831,11 @@
]
},
"locked": {
"lastModified": 1763319842,
"narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=",
"lastModified": 1763988335,
"narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761",
"rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce",
"type": "github"
},
"original": {
@@ -738,16 +847,16 @@
"root": {
"inputs": {
"dankMaterialShell": "dankMaterialShell",
"dms-cli": "dms-cli",
"home-manager": "home-manager",
"hyprland": "hyprland",
"mac-app-util": "mac-app-util",
"nix-darwin": "nix-darwin",
"nix-flatpak": "nix-flatpak",
"nix4vscode": "nix4vscode",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_4",
"nixpkgs-unstable": "nixpkgs-unstable",
"sops-nix": "sops-nix",
"stylix": "stylix",
"watt": "watt",
"zen-browser": "zen-browser"
}
},
@@ -758,11 +867,11 @@
]
},
"locked": {
"lastModified": 1763509310,
"narHash": "sha256-s2WzTAD3vJtPACBCZXezNUMTG/wC6SFsU9DxazB9wDI=",
"lastModified": 1764483358,
"narHash": "sha256-EyyvCzXoHrbL467YSsQBTWWg4sR96MH1sPpKoSOelB4=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "3ee33c0ed7c5aa61b4e10484d2ebdbdc98afb03e",
"rev": "5aca6ff67264321d47856a2ed183729271107c9c",
"type": "github"
},
"original": {
@@ -784,7 +893,7 @@
"nixpkgs"
],
"nur": "nur",
"systems": "systems_3",
"systems": "systems_4",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
@@ -792,11 +901,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1763497248,
"narHash": "sha256-OGP6MYc+lVkLVQOTS6ORszDcCnZm7kDOGpFBdDoLd0k=",
"lastModified": 1764722003,
"narHash": "sha256-s+rXjTHsjC39zcFFq8UkQPdpy/uzdhQU+RGvehYJQm0=",
"owner": "nix-community",
"repo": "stylix",
"rev": "f19ac46f6aa26188b2020ed40066a5b832be9c53",
"rev": "ddc49fd564a599474d6587df25553cbfd7325ece",
"type": "github"
},
"original": {
@@ -821,6 +930,21 @@
}
},
"systems_2": {
"locked": {
"lastModified": 1689347925,
"narHash": "sha256-ozenz5bFe1UUqOn7f60HRmgc01BgTGIKZ4Xl+HbocGQ=",
"owner": "nix-systems",
"repo": "default-darwin",
"rev": "2235d7e6cc29ae99878133c95e9fe5e157661ffb",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-darwin",
"type": "github"
}
},
"systems_3": {
"flake": false,
"locked": {
"lastModified": 1681028828,
@@ -836,7 +960,7 @@
"type": "github"
}
},
"systems_3": {
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -932,24 +1056,21 @@
"type": "github"
}
},
"watt": {
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1749377316,
"narHash": "sha256-hw3rL4rlIlYJMTeE7DlQ3lRhQDJURAhE+PC/NT4VAAQ=",
"owner": "NotAShelf",
"repo": "watt",
"rev": "154724c7b1bd49654ea55df719e1eb3219ec2000",
"lastModified": 1755934250,
"narHash": "sha256-CsDojnMgYsfshQw3t4zjRUkmMmUdZGthl16bXVWgRYU=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "74e1a52d5bd9430312f8d1b8b0354c92c17453e5",
"type": "github"
},
"original": {
"owner": "NotAShelf",
"ref": "v0.3.2",
"repo": "watt",
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
@@ -1002,11 +1123,11 @@
]
},
"locked": {
"lastModified": 1763521945,
"narHash": "sha256-Zcrafbe4niRJMbzaVOwg7+iedJhwBFttre2DpyCC6qA=",
"lastModified": 1764736168,
"narHash": "sha256-CQcj/oWKH4zN8Xkc1RglX+uOJTW1fwNWvMQWRXRlEys=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "24d7381b9231c23daceec5d372cc28e877f7785d",
"rev": "df63ce4f706567e6efa083ba63d5e7792bf70ffa",
"type": "github"
},
"original": {

View File

@@ -34,20 +34,24 @@
};
# quickshell
dms-cli = {
url = "github:AvengeMedia/danklinux";
inputs.nixpkgs.follows = "nixpkgs";
};
dankMaterialShell = {
url = "github:AvengeMedia/DankMaterialShell";
inputs.nixpkgs.follows = "nixpkgs";
inputs.dms-cli.follows = "dms-cli";
};
nix4vscode = {
url = "github:nix-community/nix4vscode";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
mac-app-util = {
# see https://github.com/hraban/mac-app-util/issues/39#issuecomment-3503946041
url = "github:hraban/mac-app-util";
inputs.cl-nix-lite.url = "github:r4v3n6101/cl-nix-lite/url-fix";
};
};
outputs = {
@@ -58,6 +62,8 @@
stylix,
sops-nix,
nix4vscode,
nix-darwin,
mac-app-util,
...
} @ inputs:
let
@@ -147,6 +153,25 @@
) systems;
darwinConfigurations."Remys-MacBook-Pro" = nix-darwin.lib.darwinSystem {
modules = [
home-manager.darwinModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = ".backup";
home-manager.extraSpecialArgs = { inherit inputs pkgs-unstable; };
home-manager.users.remy.imports = [
./users/remy_macos
mac-app-util.homeManagerModules.default
];
}
mac-app-util.darwinModules.default
{ nixpkgs.overlays = [ inputs.nix4vscode.overlays.default ]; }
./hosts/macbook-pro
];
};
# ## Useful nix build tools
# # iso builder TODO
# nixosConfigurations.bcachefs-iso = nixpkgs.lib.nixosSystem {

View File

@@ -0,0 +1,26 @@
{ config, lib, pkgs, ... }:
{
users.users.remy = {
home = "/Users/remy";
};
system.primaryUser = "remy";
nix.enable=false;
nixpkgs.config.allowUnfree = true;
security.pam.services.sudo_local.touchIdAuth = true;
# Necessary for using flakes on this system.
nix.settings.experimental-features = "nix-command flakes";
# Enable alternative shell support in nix-darwin.
# programs.fish.enable = true;
# Set Git commit hash for darwin-version.
# system.configurationRevision = self.rev or self.dirtyRev or null;
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 6;
nixpkgs.hostPlatform = "aarch64-darwin";
}

View File

@@ -0,0 +1,15 @@
{
config = {
#nix-config = {
# networking.hostName = "nyx";
# userName = "remy";
#};
};
# Merge the configuration and hardware configuration
imports = [
./configuration.nix
../../modules/macos/tiling.nix
];
}

View File

@@ -24,7 +24,6 @@
../../modules/nixos/ld.nix
../../modules/nixos/monitoring.nix
../../modules/nixos/networking.nix
../../modules/nixos/nh.nix
../../modules/nixos/pipewire.nix
../../modules/nixos/podman.nix
../../modules/nixos/power.nix

View File

@@ -22,7 +22,6 @@
../../modules/nixos/ld.nix
../../modules/nixos/monitoring.nix
../../modules/nixos/networking.nix
../../modules/nixos/nh.nix
../../modules/nixos/pipewire.nix
../../modules/nixos/podman.nix
../../modules/nixos/power.nix

View File

@@ -1,12 +1,27 @@
{pkgs, inputs, ...}:
{
programs.firefox = {
## Enable the Firefox web browser
imports = [
inputs.zen-browser.homeModules.beta
];
programs.zen-browser = {
enable = true;
## Global preferences
policies = {
BlockAboutConfig = true;
DefaultDownloadDirectory = "\${home}/Downloads";
AutofillAddressEnabled = false;
AutofillCreditCardEnabled = false;
DisableAppUpdate = true;
DisableFeedbackCommands = true;
DisableTelemetry = true;
DisablePocket = true;
DontCheckDefaultBrowser = true;
OfferToSaveLogins = false;
ExtensionSettings = with builtins;
let extension = shortId: uuid: {
name = uuid;
@@ -17,128 +32,20 @@
};
in listToAttrs [
(extension "ublock-origin" "uBlock0@raymondhill.net")
(extension "tabliss" "extension@tabliss.io")
(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
(extension "keepassxc-browser" "keepassxc-browser@keepassxc.org")
(extension "ghostery" "firefox@ghostery.com")
(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
];
};
## Per-profile preferences
profiles.default = {
search = {
force = true;
default = "ddg";
privateDefault = "ddg";
order = ["ddg" "google"];
};
settings = {
"browser.startup.homepage" = "about:home";
# Disable irritating first-run stuff
"browser.disableResetPrompt" = true;
"browser.download.panel.shown" = true;
"browser.feeds.showFirstRunUI" = false;
"browser.messaging-system.whatsNewPanel.enabled" = false;
"browser.rights.3.shown" = true;
"browser.shell.checkDefaultBrowser" = false;
"browser.shell.defaultBrowserCheckCount" = 1;
"browser.startup.homepage_override.mstone" = "ignore";
"browser.uitour.enabled" = false;
"startup.homepage_override_url" = "";
"trailhead.firstrun.didSeeAboutWelcome" = true;
"browser.bookmarks.restore_default_bookmarks" = false;
"browser.bookmarks.addedImportButton" = true;
# Disable "save password" prompt
"signon.rememberSignons" = false;
# Harden
"privacy.trackingprotection.enabled" = true;
"dom.security.https_only_mode" = true;
# Disable Pocket
"extensions.pocket.enabled" = false;
# Disable telemetry
"toolkit.telemetry.enabled" = false;
# Remove bookmarks toolbar
"browser.toolbars.bookmarks.visibility" = "never";
# Restore session on startup
"browser.startup.page" = 3;
# Automatically enable extensions
"extensions.autoDisableScopes" = 0;
};
};
# ## Per-profile preferences
# profiles.default = {
# search = {
# force = true;
# default = "ddg";
# privateDefault = "ddg";
# order = ["ddg" "google"];
# };
# };
};
home.packages = with pkgs; [
inputs.zen-browser.packages."${system}".default
# inputs.zen-browser.packages."${system}".default.override {
# policies = {
# DisableAppUpdate = true;
# DisableTelemetry = true;
# OfferToSaveLogins = false;
# AutofillAddressEnabled = true;
# AutofillCreditCardEnabled = false;
# # BlockAboutConfig = true;
# DefaultDownloadDirectory = "\${home}/Downloads";
# ExtensionSettings = with builtins;
# let extension = shortId: uuid: {
# name = uuid;
# value = {
# install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
# installation_mode = "normal_installed";
# };
# };
# in listToAttrs [
# (extension "ublock-origin" "uBlock0@raymondhill.net")
# (extension "ghostery" "firefox@ghostery.com")
# (extension "keepassxc-browser" "keepassxc-browser@keepassxc.org")
# (extension "morphine" "{b252db54-e4f6-440f-914a-1f017a3a390d}")
# ];
# };
# }
];
# programs.zen-browser = {
# enable = true;
# policies = {
# DisableAppUpdate = true;
# DisableTelemetry = true;
# OfferToSaveLogins = false;
# AutofillAddressEnabled = true;
# AutofillCreditCardEnabled = false;
# # BlockAboutConfig = true;
# DefaultDownloadDirectory = "\${home}/Downloads";
# ExtensionSettings = with builtins;
# let extension = shortId: uuid: {
# name = uuid;
# value = {
# install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
# installation_mode = "normal_installed";
# };
# };
# in listToAttrs [
# (extension "ublock-origin" "uBlock0@raymondhill.net")
# (extension "ghostery" "firefox@ghostery.com")
# (extension "keepassxc-browser" "keepassxc-browser@keepassxc.org")
# (extension "morphine" "{b252db54-e4f6-440f-914a-1f017a3a390d}")
# ];
# };
# };
}

View File

@@ -114,7 +114,6 @@ in
# Flutter and co
"dart-code.flutter"
"dart-code.dart-code"
];
keybindings = baseKeybindings;
@@ -177,5 +176,15 @@ in
};
};
};
profiles.cloud = {
extensions = baseExtensions ++ pkgs.nix4vscode.forVscode [
"Tim-Koehler.helm-intellisense"
"HashiCorp.terraform"
"signageos.signageos-vscode-sops"
];
keybindings = baseKeybindings;
userSettings = baseSettings;
};
};
}

View File

@@ -0,0 +1,21 @@
{pkgs, ...}:
{
# on macos we don't set the default shell to fish
# instead we just tell the terminal to run fish as the first command
# this means that the first thing fish should do is to clear the screen
programs.fish = {
interactiveShellInit = "clear";
};
# stylix will be tricky as well, so we just install the fonts manually
fonts.fontconfig.enable = true;
home.packages = with pkgs; [
nerd-fonts.fira-code
noto-fonts-color-emoji
] ++ [ # some more packages that are not available as flatpaks
pkgs.spotify
];
}

View File

@@ -0,0 +1,11 @@
{pkgs, ...}:
{
# Add aliases for the various environments in aws so that their contexts can be easily switched
programs.fish.shellAliases = {
cdev = "aws-vault exec dev --";
cstage = "aws-vault exec stage --";
cprod = "aws-vault exec prod --";
clogs = "aws-vault exec logs --";
cshared = "aws-vault exec shared --";
};
}

View File

@@ -0,0 +1,7 @@
{pkgs, ...}:
{
home.packages = [
pkgs.gnupg
pkgs.sops
];
}

View File

@@ -0,0 +1,19 @@
{
config,
lib,
...
}:
let
cfg = config.nix-config.hypr;
in
{
options = {
};
imports = [
./aliases.nix
./cryptography.nix
./git.nix
./kluster.nix
];
}

View File

@@ -0,0 +1,14 @@
{
config,
lib,
...
}:
{
programs.git = {
enable = true;
settings = {
user.name = "Remy Moll";
user.email = "remy.moll@artidis.com";
};
};
}

View File

@@ -0,0 +1,14 @@
{pkgs, ...}:
{
home.packages = [
pkgs.kubernetes-helm
pkgs.awscli2
pkgs.aws-vault
pkgs.k9s
# some parsers
pkgs.ripgrep
pkgs.jq
pkgs.yq
];
}

79
modules/macos/tiling.nix Normal file
View File

@@ -0,0 +1,79 @@
{ config, pkgs, lib, ... }:
{
# Enable yabai service
# Caution: at the very least yabai requires Accessibility permissions to be granted
# https://github.com/koekeishiya/yabai/issues/2688
services.yabai = {
enable = true;
config = {
layout = "bsp";
focus_follows_mouse = "autoraise";
window_placement = "second_child";
window_topmost = "on";
window_shadow = "float";
# by default, set balanced split ratio and auto balance => three windows will be evenly spaced on an ultrawide monitor
split_ratio = "0.50";
auto_balance = "on";
mouse_modifier = "alt";
mouse_action1 = "move";#
mouse_action2 = "resize";
window_opacity = "on";
normal_window_opacity = 0.9;
top_padding = 0;
bottom_padding = 0;
left_padding = 0;
right_padding = 0;
window_gap = 10;
};
extraConfig = ''
# Example: rules for floating windows
yabai -m rule --add app="System Preferences" manage=off
'';
};
# # Enable skhd service
# services.skhd = {
# enable = true;
# package = pkgs.skhd;
# skhdConfig = ''
# # Focus windows with Command + Arrow keys
# cmd - left : yabai -m window --focus west
# cmd - right : yabai -m window --focus east
# cmd - up : yabai -m window --focus north
# cmd - down : yabai -m window --focus south
# # Swap windows with Command + Shift + Arrow keys
# cmd + shift - left : yabai -m window --swap west
# cmd + shift - right : yabai -m window --swap east
# cmd + shift - up : yabai -m window --swap north
# cmd + shift - down : yabai -m window --swap south
# # Move windows with Command + Control + Arrow keys
# cmd + ctrl - left : yabai -m window --warp west
# cmd + ctrl - right : yabai -m window --warp east
# cmd + ctrl - up : yabai -m window --warp north
# cmd + ctrl - down : yabai -m window --warp south
# # Resize windows with Command + Option + Arrow keys
# cmd + alt - left : yabai -m window --resize left:-50:0
# cmd + alt - right : yabai -m window --resize right:50:0
# cmd + alt - up : yabai -m window --resize top:0:-50
# cmd + alt - down : yabai -m window --resize bottom:0:50
# # Toggle window float with Command + F
# cmd - f : yabai -m window --toggle float
# # Toggle window fullscreen with Command + Enter
# cmd - return : yabai -m window --toggle zoom-fullscreen
# '';
# };
}

View File

@@ -9,6 +9,7 @@
home.username = "remy";
home.homeDirectory = "/home/remy";
## Utils relevant to this user only
programs.git = {
enable = true;

View File

@@ -0,0 +1,23 @@
{ config, pkgs, lib, ... }:
with lib.hm.gvariant;
{
config = {
home.stateVersion = "24.05";
};
imports = [
../../modules/home-manager/browser.nix
../../modules/home-manager/code.nix
../../modules/home-manager/dev.nix
../../modules/home-manager/fish.nix
../../modules/home-manager/kubectl.nix
../../modules/home-manager/macos-fixes.nix
../../modules/home-manager/nh.nix
../../modules/home-manager/obsidian.nix
../../modules/home-manager/work
];
}

View File

@@ -27,6 +27,7 @@ with lib.hm.gvariant;
../../modules/home-manager/kubectl.nix
../../modules/home-manager/obsidian.nix
../../modules/home-manager/owncloud-client.nix
../../modules/home-manager/nh.nix
../../modules/home-manager/ssh.nix
../../modules/home-manager/stylix.nix
../../modules/home-manager/thunderbird.nix

View File

@@ -30,6 +30,7 @@ with lib.hm.gvariant;
../../modules/home-manager/kitty.nix
../../modules/home-manager/kubectl.nix
../../modules/home-manager/launcher.nix
../../modules/home-manager/nh.nix
../../modules/home-manager/obsidian.nix
../../modules/home-manager/owncloud-client.nix
../../modules/home-manager/quickshell