-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7cb3171
commit 832372e
Showing
80 changed files
with
3,015 additions
and
7,092 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
use flake . --impure |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,17 @@ | ||
fish_history | ||
fishd.* | ||
fish/fundle | ||
fish/functions/fzf_key_bindings.fish | ||
fish/functions/fish_user_key_bindings.fish | ||
fish/fish_variables | ||
.DS_Store | ||
.netrwhist | ||
configstore | ||
rclone | ||
yarn | ||
xbuild | ||
stetic | ||
NuGet | ||
htop | ||
*.swp | ||
vim/plugged | ||
asciinema | ||
containers | ||
gatsby | ||
k3d | ||
wireshark | ||
.DS_Store | ||
oni2/extensions | ||
oni2/store | ||
oni2/workspace | ||
iterm2 | ||
raycast | ||
nushell/history.txt | ||
|
||
.devenv | ||
|
||
.vscode/extensions | ||
|
||
# Devenv | ||
.devenv* | ||
devenv.local.nix | ||
|
||
# direnv | ||
.direnv | ||
|
||
# pre-commit | ||
.pre-commit-config.yaml | ||
|
||
result |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
{ | ||
"nix.enableLanguageServer": true, | ||
"nix.serverPath": "nil", | ||
"nix.serverSettings": { | ||
"nil": { | ||
"diagnostics": { | ||
"ignored": [ | ||
"unused_binding", | ||
"unused_with" | ||
] | ||
}, | ||
"formatting": { | ||
"command": [ | ||
"nixfmt" | ||
] | ||
} | ||
} | ||
}, | ||
"cSpell.words": [ | ||
"Nixpkgs" | ||
] | ||
} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,45 @@ | ||
# Luke's .config | ||
# Luke's Config | ||
|
||
________ ________ ________ ________ ___ ________ | ||
|\ ____\|\ __ \|\ ___ \|\ _____\\ \|\ ____\ | ||
\ \ \___|\ \ \|\ \ \ \\ \ \ \ \__/\ \ \ \ \___| | ||
\ \ \ \ \ \\\ \ \ \\ \ \ \ __\\ \ \ \ \ ___ | ||
__\ \ \____\ \ \\\ \ \ \\ \ \ \ \_| \ \ \ \ \|\ \ | ||
|\__\ \_______\ \_______\ \__\\ \__\ \__\ \ \__\ \_______\ | ||
\|__|\|_______|\|_______|\|__| \|__|\|__| \|__|\|_______| | ||
|
||
Contains all of my dotfiles, which live in my [$XDG_CONFIG_HOME](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html), and the ones that don't are symlinked to `~/*`. | ||
This repo contains a declarative configuration for all systems, including Operating System, shell, and application configurations. | ||
|
||
## Usage | ||
|
||
curl https://raw.githubusercontent.com/LukeChannings/.config/master/install | bash | ||
``` | ||
curl https://raw.githubusercontent.com/LukeChannings/dotfiles/nix/install | sh -s -- "$(hostname)" | ||
``` | ||
|
||
## Philosophy | ||
|
||
System configurations should not install frameworks (e.g. `ruby` or `python`) system-wide. Instead, each project should have its own environment in which it defines its dependencies, and dependency versions. | ||
|
||
If a useful system tool requires a specific framework (e.g. `http-server` requires `nodejs`), the `http-server` binary can wrap `nodejs`, but the `node` binary should not be in the global `PATH`. This ensures projects are insulated from system-wide dependencies. It also prevents issues where some tools (e.g. `brew install ffmpeg`) add many dependencies to the system and makes it hard to know if a dependency is still used. | ||
|
||
## Installer Levels | ||
|
||
Installing a complete configuration, including desktop applications, etc. can take a long time. To minimise the time to productivity the profiles are separated into three levels. | ||
|
||
- **Minimal** | ||
|
||
Should be installable within 10 minutes and set up configurations and conveniences that make the system comfortable to use. | ||
|
||
- **Base** | ||
|
||
Should be installable within 30 minutes and provide the tools necessary for being productive. This usually includes developer tools, devenv environment, etc. | ||
|
||
Or in a container: | ||
- **Full** | ||
|
||
`docker run -it lukechannings/terminal` | ||
Everything else. It shouldn't matter if this takes a long time to install. | ||
|
||
## Goals | ||
## Documentation | ||
|
||
- Quickly set up a new machine with all my software and preferences | ||
- Easy to maintain - I don't want an ansible configuration, just something simple and diffable | ||
- Works on macOS, Linux, and WSL | ||
- **Source** | ||
- [Nixpkgs](https://github.com/NixOS/nixpkgs) | ||
- [Home Manager](https://github.com/nix-community/home-manager) | ||
- [Nix Darwin](https://github.com/LnL7/nix-darwin) | ||
- [Determinate Systems Nix Installer](https://github.com/DeterminateSystems/nix-installer) | ||
- [brew-nix](https://github.com/BatteredBunny/brew-nix/tree/main) | ||
- **Options** | ||
- [Home Manager](https://nix-community.github.io/home-manager/options.xhtml) | ||
- [Searchable](https://home-manager-options.extranix.com) | ||
- [Nix Darwin](https://daiderd.com/nix-darwin/manual/index.html) | ||
- `man 5 configuration.nix` |
Oops, something went wrong.