1
0
Fork 0
forked from auxolotl/templates

Compare commits

...

19 commits

Author SHA1 Message Date
Samuel Shuert 821048587f
Merge pull request #31 from auxolotl/chore/inputs
chore: change to cleanup flake files
2024-06-12 18:16:24 -04:00
isabel roses 6d9f867465
chore: ignore some inputs 2024-05-18 09:29:07 +01:00
isabel roses 03a8f01dfe
chore: change to nixos/nixpkgs 2024-05-18 09:28:57 +01:00
Samuel Shuert 76519a32df
Merge pull request #30 from ztr-pen/patch-1
fix: README commands missing flake subcommand
2024-05-17 12:04:31 -04:00
ztr-pen bcc0fbbfcc
Update README.md - incorrect commands
Update commands to include correct flake commands for Darwin, Nixos and Home-Manager
2024-05-17 16:59:34 +10:00
Samuel Shuert a3ca38e31c
fix: spell experimental feature flake as flakes 2024-05-16 20:19:15 -04:00
Samuel Shuert 84216867bd
Update README.md to rename FreshwaterOS to Auxolotl 2024-05-16 20:17:00 -04:00
isabel roses fdbefeff2a
Merge pull request #27 from Sigmanificient/c 2024-05-14 20:24:13 +00:00
Samuel Shuert cfd424d324
Fix: Update home-manager
Forgot to save >~<
2024-05-11 16:31:56 -04:00
Samuel Shuert e83ad899f6
Fix: Update nixpkgs url for new roadmap 2024-05-11 16:30:01 -04:00
isabel roses 78374d6350
Merge pull request #28 from auxolotl/remove-system-from-nixosSystem 2024-05-07 21:58:46 +00:00
Sigmanificient d981bc409e fix(c): simplify the template config files 2024-05-07 23:48:25 +02:00
NotAShelf 72b9616f87
fix(system): remove ambigious system from nixosSystem 2024-05-07 14:03:53 +03:00
Sigmanificient 57769ca9ed refactor(c): improve flake structure
Co-authored-by: isabelroses <isabel@isabelroses.com>
2024-05-07 00:54:12 +02:00
Sigmanificient e2607d77cc fix(c): fix flake output (devshell, apps) 2024-05-06 23:56:16 +02:00
Sigmanificient a95b46a6a0 style(c): apply nixfmt-rfc-style to flake 2024-05-06 23:52:47 +02:00
Sigmanificient c1524d5bd9 feat(c): add configuration files 2024-05-06 23:40:38 +02:00
Sigmanificient 30022cc914 feat(c): setup the flake 2024-05-06 23:40:26 +02:00
Sigmanificient aff83a7bf1 feat(c): add hello source 2024-05-06 23:40:01 +02:00
13 changed files with 175 additions and 29 deletions

View file

@ -3,7 +3,7 @@
</p> </p>
<p align="center"> <p align="center">
This is a template repository for getting started with your brand new FreshwaterOS system. This is a template repository for getting started with your brand new Auxolotl system.
</p> </p>
<p align="center"> <p align="center">
@ -22,7 +22,7 @@ There are 3 main templates in this repository:
#### With Darwin (macOS) #### With Darwin (macOS)
1. Run `nix --extra-experimental-features nix-command --extra-experimental-features flake new -t github:auxolotl/templates#darwin NixFiles` in the terminal. This will setup the basic configuration for the system, this generate a configuration for you from the files located in the `darwin` directory. 1. Run `nix --extra-experimental-features nix-command --extra-experimental-features flakes flake new -t github:auxolotl/templates#darwin NixFiles` in the terminal. This will setup the basic configuration for the system, this generate a configuration for you from the files located in the `darwin` directory.
2. The next step is to go into the `NixFiles` directory this can be achieved by running `cd NixFiles`. 2. The next step is to go into the `NixFiles` directory this can be achieved by running `cd NixFiles`.
3. Now we you need to read over the configuration files and make any changes that you see fit, some of these must include changing your username and hostname. 3. Now we you need to read over the configuration files and make any changes that you see fit, some of these must include changing your username and hostname.
4. You now must rebuild this configuration we can do this with `nix run darwin -- switch --flake .#hostname` hostname should be substituted for your systems hostname. 4. You now must rebuild this configuration we can do this with `nix run darwin -- switch --flake .#hostname` hostname should be substituted for your systems hostname.
@ -30,7 +30,7 @@ There are 3 main templates in this repository:
#### With NixOS #### With NixOS
1. Run `nix --extra-experimental-features nix-command --extra-experimental-features flake new -t github:auxolotl/templates#system NixFiles` 1. Run `nix --extra-experimental-features nix-command --extra-experimental-features flakes flake new -t github:auxolotl/templates#system NixFiles`
2. Move into your new system with `cd NixFiles` 2. Move into your new system with `cd NixFiles`
3. Fill in your `hostName` in `flake.nix` 3. Fill in your `hostName` in `flake.nix`
4. Run `nixos-generate-config --show-hardware-config > hardware-configuration.nix` to generate configuration based on your filesystems and drivers 4. Run `nixos-generate-config --show-hardware-config > hardware-configuration.nix` to generate configuration based on your filesystems and drivers
@ -40,6 +40,6 @@ Congratulations, you are now using Aux!
#### With Home-manager #### With Home-manager
1. Run `nix --extra-experimental-features nix-command --extra-experimental-features flake new -t github:auxolotl/templates#home-manager NixFiles` to start 1. Run `nix --extra-experimental-features nix-command --extra-experimental-features flakes flake new -t github:auxolotl/templates#home-manager NixFiles` to start
2. Move into your new Nix system with `cd NixFiles` 2. Move into your new Nix system with `cd NixFiles`
3. Fill in your `username` in `flake.nix` 3. Fill in your `username` in `flake.nix`

22
c/.editorconfig Normal file
View file

@ -0,0 +1,22 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
max_line_length = 80
tab_width = 4
[{Makefile,*.mk}]
indent_style = tab
[*.nix]
indent_style = space
tab_width = 2
indent_size = 2
[*.lock]
indent_style = unset
insert_final_newline = unset

64
c/.gitignore vendored Normal file
View file

@ -0,0 +1,64 @@
# binaries
hello
# language support
compile_commands.json
.cache
# nix
.direnv
result*
repl-result-*
# Prerequisites
*.d
# Object files
*.o
*.ko
*.obj
*.elf
# Linker output
*.ilk
*.map
*.exp
# Precompiled Headers
*.gch
*.pch
# Libraries
*.lib
*.a
*.la
*.lo
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
# Debug files
*.dSYM/
*.su
*.idb
*.pdb
# Kernel Module Compile Results
*.mod*
*.cmd
.tmp_versions/
modules.order
Module.symvers
Mkfile.old
dkms.conf

30
c/Makefile Normal file
View file

@ -0,0 +1,30 @@
CC ?= gcc
CFLAGS += -pedantic -Wall -Wextra -O2
OUT := hello
BINDIR ?= /usr/bin
SRC += main.c
OBJ := $(SRC:.c=.o)
.PHONY: all
all: $(OUT)
$(OUT): $(OBJ)
$(CC) -o $@ $<
.PHONY: clean
clean:
$(RM) $(OBJ)
.PHONY: fclean
fclean: clean
$(RM) -r $(OUT)
.PHONY: re
.NOTPARALLEL: re
re: fclean all
.PHONY: install
install:
install -D hello ${BINDIR}/hello --mode 0755

27
c/flake.nix Normal file
View file

@ -0,0 +1,27 @@
{
description = "Aux template for C project";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
outputs =
{ nixpkgs, ... }:
let
forAllSystems =
function:
nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (
system: function nixpkgs.legacyPackages.${system}
);
in
rec {
devShells = forAllSystems (pkgs: {
default = pkgs.mkShell { inputsFrom = [ packages.${pkgs.system}.hello ]; };
});
packages = forAllSystems (pkgs: rec {
default = hello;
hello = pkgs.callPackage ./hello.nix { };
});
overlays.default = final: prev: { hello = prev.callPackage ./default.nix { }; };
};
}

7
c/hello.nix Normal file
View file

@ -0,0 +1,7 @@
{ stdenv }:
stdenv.mkDerivation {
name = "hello";
src = ./.;
env.BINDIR = "${placeholder "out"}/bin";
}

11
c/main.c Normal file
View file

@ -0,0 +1,11 @@
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char greet[] = "hello, world!\n";
int written = printf("%s", greet);
return written == (sizeof(greet) - 1)
? EXIT_SUCCESS : EXIT_FAILURE;
}

View file

@ -4,7 +4,7 @@
inputs = { inputs = {
# nixpkgs is the input that we use for this flake the end section `nixpkgs-unstable` refers to the branch # nixpkgs is the input that we use for this flake the end section `nixpkgs-unstable` refers to the branch
# of nixpkgs that we want to use. This can be changed to any branch or commit hash. # of nixpkgs that we want to use. This can be changed to any branch or commit hash.
nixpkgs.url = "github:auxolotl/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
@ -23,13 +23,7 @@
}; };
outputs = outputs =
inputs@{ inputs@{ darwin, home-manager, ... }:
self,
nixpkgs,
darwin,
home-manager,
...
}:
# we can use the `let` and `in` syntax to define variables # we can use the `let` and `in` syntax to define variables
# and use them in the rest of the expression # and use them in the rest of the expression
let let

View file

@ -1,7 +1,7 @@
{ {
description = "An empty devshell with direnv support"; description = "An empty devshell with direnv support";
inputs.nixpkgs.url = "github:auxolotl/nixpkgs/nixpkgs-unstable"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
outputs = outputs =
{ nixpkgs, ... }: { nixpkgs, ... }:

View file

@ -1,7 +1,7 @@
{ {
description = "Templates for getting started with Aux"; description = "Templates for getting started with Aux";
inputs.nixpkgs.url = "github:auxolotl/nixpkgs/nixpkgs-unstable"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
outputs = outputs =
{ self, nixpkgs }: { self, nixpkgs }:

View file

@ -2,7 +2,7 @@
description = "A simple home-manager flake using Aux"; description = "A simple home-manager flake using Aux";
inputs = { inputs = {
nixpkgs.url = "github:auxolotl/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";

View file

@ -101,17 +101,6 @@
]; ];
nix = { nix = {
registry.nixpkgs = {
from = {
id = "nixpkgs";
type = "indirect";
};
to = {
owner = "auxolotl";
repo = "nixpkgs";
type = "github";
};
};
gc.automatic = true; gc.automatic = true;

View file

@ -1,7 +1,7 @@
{ {
description = "A simple system flake using some Aux defaults"; description = "A simple system flake using some Aux defaults";
inputs.nixpkgs.url = "github:auxolotl/nixpkgs/nixos-unstable"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
outputs = outputs =
inputs@{ nixpkgs, ... }: inputs@{ nixpkgs, ... }:
@ -11,11 +11,13 @@
in in
{ {
nixosConfigurations.${hostName} = nixpkgs.lib.nixosSystem { nixosConfigurations.${hostName} = nixpkgs.lib.nixosSystem {
inherit system;
modules = [ modules = [
./configuration.nix ./configuration.nix
{ networking.hostName = hostName; } {
networking.hostName = hostName;
nixpkgs.hostPlatform = system;
}
]; ];
specialArgs = { specialArgs = {