Compare commits

...

22 commits

Author SHA1 Message Date
Dusty Pomerleau d2b524bc50 fix(darwin): correct typo during user creation (#36)
Some checks failed
buildbot/nix-eval Build done.
Code Check / Run nixfmt and statix (push) Has been cancelled
The darwin template was failing for me, until I changed user creation to `users.users.${username}`.

Co-authored-by: Dusty Pomerleau <dustypomerleau@users.noreply.github.com>
Reviewed-on: auxolotl/templates#36
Co-authored-by: Dusty Pomerleau <dustypomerleau@noreply.git.auxolotl.org>
Co-committed-by: Dusty Pomerleau <dustypomerleau@noreply.git.auxolotl.org>
2024-08-11 13:05:38 +00:00
sugar🍬🍭🏳️‍⚧️ dcb9bc3396 fix: update flake url in readme (#35)
Some checks failed
Code Check / Run nixfmt and statix (push) Has been cancelled
Reviewed-on: auxolotl/templates#35
Reviewed-by: Skyler Grey <minion@clicks.codes>
Co-authored-by: sugar <sugar@sylveon.social>
Co-committed-by: sugar <sugar@sylveon.social>
2024-07-24 20:13:40 +00:00
Raphael Das Gupta 3fda15c3f9 refactor(system): move system.stateVersion comment out of nix.* (#34)
Some checks failed
Code Check / Run nixfmt and statix (push) Has been cancelled
Move comment about `system.stateVersion` out of attrset `nix`, as it has nothing to do with the `nix.*` options, but belongs with the `system.stateVersion` option below (after) attrset `nix`.

(This is also where this comment originally was, until it was moved in [47129554e4](47129554e4).)

Reviewed-on: auxolotl/templates#34
Reviewed-by: Skyler Grey <minion@clicks.codes>
Co-authored-by: Raphael Borun Das Gupta <git@raphael.dasgupta.ch>
Co-committed-by: Raphael Borun Das Gupta <git@raphael.dasgupta.ch>
2024-07-18 20:03:04 +00:00
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 194 additions and 47 deletions

View file

@ -3,7 +3,7 @@
</p>
<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 align="center">
@ -22,7 +22,7 @@ There are 3 main templates in this repository:
#### 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 git+https://git.auxolotl.org/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`.
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.
@ -30,7 +30,7 @@ There are 3 main templates in this repository:
#### 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 git+https://git.auxolotl.org/auxolotl/templates#system NixFiles`
2. Move into your new system with `cd NixFiles`
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
@ -40,6 +40,6 @@ Congratulations, you are now using Aux!
#### 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 git+https://git.auxolotl.org/auxolotl/templates#home-manager NixFiles` to start
2. Move into your new Nix system with `cd NixFiles`
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 = {
# 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.
nixpkgs.url = "github:auxolotl/nixpkgs/nixpkgs-unstable";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager";
@ -23,13 +23,7 @@
};
outputs =
inputs@{
self,
nixpkgs,
darwin,
home-manager,
...
}:
inputs@{ darwin, home-manager, ... }:
# we can use the `let` and `in` syntax to define variables
# and use them in the rest of the expression
let
@ -82,7 +76,7 @@
};
};
# Here we can create our user
uses.users.${username} = {
users.users.${username} = {
home = "/Users/${username}";
};

View file

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

View file

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

View file

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

View file

@ -101,37 +101,27 @@
];
nix = {
registry.nixpkgs = {
from = {
id = "nixpkgs";
type = "indirect";
};
to = {
owner = "auxolotl";
repo = "nixpkgs";
type = "github";
};
};
gc.automatic = true;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
# to actually do that.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
};
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
# to actually do that.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "24.05"; # Did you read the comment?
}

View file

@ -1,7 +1,7 @@
{
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 =
inputs@{ nixpkgs, ... }:
@ -11,11 +11,13 @@
in
{
nixosConfigurations.${hostName} = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./configuration.nix
{ networking.hostName = hostName; }
{
networking.hostName = hostName;
nixpkgs.hostPlatform = system;
}
];
specialArgs = {