init
This commit is contained in:
commit
1af939a901
5
.envrc
Normal file
5
.envrc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
export DATABASE_URL=sqlite://~/.local/share/lumina/library-db.sqlite3
|
||||||
|
use flake . --impure
|
||||||
|
# eval $(guix shell -D --search-paths)
|
||||||
|
|
||||||
|
# use guix --development -f guix.scm
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/target
|
3283
Cargo.lock
generated
Normal file
3283
Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
11
Cargo.toml
Normal file
11
Cargo.toml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[package]
|
||||||
|
name = "lumina-iced-test"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
iced = { version = "0.10.0", features = ["image", "debug"] }
|
||||||
|
iced_aw = "0.7.0"
|
||||||
|
iced_winit = "0.10.0"
|
94
flake.lock
Normal file
94
flake.lock
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694529238,
|
||||||
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"naersk": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694081375,
|
||||||
|
"narHash": "sha256-vzJXOUnmkMCm3xw8yfPP5m8kypQ3BhAIRe4RRCWpzy8=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "naersk",
|
||||||
|
"rev": "3f976d822b7b37fc6fb8e6f157c2dd05e7e94e89",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "naersk",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696725822,
|
||||||
|
"narHash": "sha256-B7uAOS7TkLlOg1aX01rQlYbydcyB6ZnLJSfaYbKVww8=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "5aabb5780a11c500981993d49ee93cfa6df9307b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696604326,
|
||||||
|
"narHash": "sha256-YXUNI0kLEcI5g8lqGMb0nh67fY9f2YoJsILafh6zlMo=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "87828a0e03d1418e848d3dd3f3014a632e4a4f64",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"naersk": "naersk",
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
82
flake.nix
Normal file
82
flake.nix
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
{
|
||||||
|
description = "A Church Presentation Application";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
# cargo2nix.url = "github:cargo2nix/cargo2nix/release-0.11.0";
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
naersk.url = "github:nix-community/naersk";
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
# nixpkgs.follows = "cargo2nix/nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs: with inputs;
|
||||||
|
flake-utils.lib.eachDefaultSystem
|
||||||
|
(system:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
# overlays = [cargo2nix.overlays.default];
|
||||||
|
};
|
||||||
|
naersk' = pkgs.callPackage naersk {};
|
||||||
|
# src = ./.;
|
||||||
|
# rustPkgs = pkgs.rustBuilder.makePackageSet {
|
||||||
|
# rustVersion = "1.61.0";
|
||||||
|
# packageFun = import ./Cargo.nix;
|
||||||
|
# };
|
||||||
|
# The workspace defines a development shell with all of the dependencies
|
||||||
|
# and environment settings necessary for a regular `cargo build`.
|
||||||
|
# Passes through all arguments to pkgs.mkShell for adding supplemental
|
||||||
|
# dependencies.
|
||||||
|
# workspaceShell = rustPkgs.workspaceShell {
|
||||||
|
# packages = with pkgs; [
|
||||||
|
# gcc
|
||||||
|
# stdenv
|
||||||
|
# bintools
|
||||||
|
# gnumake
|
||||||
|
# gdb
|
||||||
|
# qtcreator
|
||||||
|
# cmake
|
||||||
|
# extra-cmake-modules
|
||||||
|
# pkg-config
|
||||||
|
# libsForQt5.wrapQtAppsHook
|
||||||
|
# makeWrapper
|
||||||
|
|
||||||
|
# clang-tools
|
||||||
|
# clang
|
||||||
|
# libclang
|
||||||
|
# qt5.qtbase
|
||||||
|
# qt5.qttools
|
||||||
|
# qt5.qtquickcontrols2
|
||||||
|
# qt5.qtx11extras
|
||||||
|
# qt5.qtmultimedia
|
||||||
|
# qt5.qtwayland
|
||||||
|
# qt5.qtwebengine
|
||||||
|
# libsForQt5.kirigami2
|
||||||
|
# libsForQt5.qqc2-desktop-style
|
||||||
|
# libsForQt5.karchive
|
||||||
|
# mpv
|
||||||
|
# ffmpeg_6-full
|
||||||
|
# # Rust tools
|
||||||
|
# clippy
|
||||||
|
# rustc
|
||||||
|
# cargo
|
||||||
|
# rustfmt
|
||||||
|
# rust-analyzer
|
||||||
|
# corrosion
|
||||||
|
# ];
|
||||||
|
# # shellHook = ''
|
||||||
|
# # export PS1="\033[0;31m☠dev-shell☠ $ \033[0m"
|
||||||
|
# # '';
|
||||||
|
# };
|
||||||
|
|
||||||
|
in rec
|
||||||
|
{
|
||||||
|
# packages = {
|
||||||
|
# crate = (rustPkgs.workspace.libre-presenter { }).bin;
|
||||||
|
# default = packages.crate;
|
||||||
|
# };
|
||||||
|
devShell = import ./shell.nix { inherit pkgs; };
|
||||||
|
defaultPackage = pkgs.libsForQt5.callPackage ./default.nix { };
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
52
shell.nix
Normal file
52
shell.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{ pkgs ? import <nixpkgs> { } }:
|
||||||
|
with pkgs;
|
||||||
|
mkShell rec {
|
||||||
|
name = "lumina";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
gtk-layer-shell
|
||||||
|
gtk3
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gcc
|
||||||
|
stdenv
|
||||||
|
gnumake
|
||||||
|
gdb
|
||||||
|
pkg-config
|
||||||
|
makeWrapper
|
||||||
|
|
||||||
|
vulkan-loader
|
||||||
|
wayland
|
||||||
|
wayland-protocols
|
||||||
|
libxkbcommon
|
||||||
|
# podofo
|
||||||
|
mpv
|
||||||
|
ffmpeg_5-full
|
||||||
|
# yt-dlp
|
||||||
|
|
||||||
|
# Rust tools
|
||||||
|
clippy
|
||||||
|
rustc
|
||||||
|
cargo
|
||||||
|
rustfmt
|
||||||
|
rust-analyzer
|
||||||
|
];
|
||||||
|
|
||||||
|
# cargoDeps = rustPlatform.importCargoLock {
|
||||||
|
# lockFile = ./Cargo.lock;
|
||||||
|
# };
|
||||||
|
|
||||||
|
RUST_BACKTRACE = "full";
|
||||||
|
CMAKE_C_COMPILER = "${gcc}/bin/gcc";
|
||||||
|
CMAKE_CXX_COMPILER = "${gcc}/bin/g++";
|
||||||
|
# This creates the proper qt env so that plugins are found right.
|
||||||
|
# shellHook = ''
|
||||||
|
# setQtEnvironment=$(mktemp --suffix .setQtEnvironment.sh)
|
||||||
|
# echo "shellHook: setQtEnvironment = $setQtEnvironment"
|
||||||
|
# makeQtWrapper "/bin/sh" "$setQtEnvironment" "''${qtWrapperArgs[@]}"
|
||||||
|
# sed "/^exec/d" -i "$setQtEnvironment"
|
||||||
|
# source "$setQtEnvironment"
|
||||||
|
# export QT_PLUGIN_PATH="$QT_PLUGIN_PATH:/nix/store/85jx8w2nh1ln4kb0hf3dc6ky0dh6ri24-lightly-qt-0.4.1/lib/qt-5.15.9/plugins"
|
||||||
|
# '';
|
||||||
|
}
|
31
src/main.rs
Normal file
31
src/main.rs
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
use iced::executor;
|
||||||
|
use iced::{Application, Command, Element, Settings, Theme};
|
||||||
|
|
||||||
|
fn main() -> iced::Result {
|
||||||
|
App::run(Settings::default())
|
||||||
|
}
|
||||||
|
|
||||||
|
struct App;
|
||||||
|
|
||||||
|
impl Application for App {
|
||||||
|
type Executor = executor::Default;
|
||||||
|
type Flags = ();
|
||||||
|
type Message = ();
|
||||||
|
type Theme = Theme;
|
||||||
|
|
||||||
|
fn new(_flags: ()) -> (App, Command<Self::Message>) {
|
||||||
|
(App, Command::none())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn title(&self) -> String {
|
||||||
|
String::from("A cool application")
|
||||||
|
}
|
||||||
|
|
||||||
|
fn update(&mut self, _message: Self::Message) -> Command<Self::Message> {
|
||||||
|
Command::none()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn view(&self) -> Element<Self::Message> {
|
||||||
|
"Hello, world!".into()
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue